time: fix obsolete comment
[gnulib.git] / ChangeLog
1 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2
3         time: fix obsolete comment
4         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
5         reference to HAVE_STRUCT_TIMESPEC in comment.
6
7 2012-06-23  Bruno Haible  <bruno@clisp.org>
8
9         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
10         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
11         does not handle abbreviated long options with equivalent
12         disambiguations, set gl_replace_getopt to yes.
13         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
14
15 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16
17         time_r: fix typo that always overrode localtime_r decl
18         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
19         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
20         not in a standard include.
21
22 2012-06-22  Bruno Haible  <bruno@clisp.org>
23
24         Write "Mac OS X" instead of "MacOS X".
25         * README: Write "Mac OS X" instead of "MacOS X".
26         * build-aux/bootstrap: Likewise.
27         * build-aux/install-reloc: Likewise.
28         * lib/acl-internal.h: Likewise.
29         * lib/acl_entries.c: Likewise.
30         * lib/argp-ba.c: Likewise.
31         * lib/argp-pv.c: Likewise.
32         * lib/config.charset: Likewise.
33         * lib/copy-acl.c: Likewise.
34         * lib/csharpexec.c: Likewise.
35         * lib/euidaccess.c: Likewise.
36         * lib/fbufmode.c: Likewise.
37         * lib/fflush.c: Likewise.
38         * lib/file-has-acl.c: Likewise.
39         * lib/filemode.h: Likewise.
40         * lib/fpurge.c: Likewise.
41         * lib/freadable.c: Likewise.
42         * lib/freadahead.c: Likewise.
43         * lib/freading.c: Likewise.
44         * lib/freadptr.c: Likewise.
45         * lib/freadseek.c: Likewise.
46         * lib/fseeko.c: Likewise.
47         * lib/fseterr.c: Likewise.
48         * lib/fsusage.c: Likewise.
49         * lib/fwritable.c: Likewise.
50         * lib/fwriting.c: Likewise.
51         * lib/get-rusage-as.c: Likewise.
52         * lib/get-rusage-data.c: Likewise.
53         * lib/getdomainname.c: Likewise.
54         * lib/idpriv-drop.c: Likewise.
55         * lib/idpriv-droptemp.c: Likewise.
56         * lib/localcharset.c: Likewise.
57         * lib/locale.in.h: Likewise.
58         * lib/localename.c: Likewise.
59         * lib/mbsrtowcs-state.c: Likewise.
60         * lib/nproc.c: Likewise.
61         * lib/passfd.c: Likewise.
62         * lib/posix_openpt.c: Likewise.
63         * lib/printf-parse.c: Likewise.
64         * lib/progreloc.c: Likewise.
65         * lib/safe-read.h: Likewise.
66         * lib/safe-write.h: Likewise.
67         * lib/sched.in.h: Likewise.
68         * lib/set-mode-acl.c: Likewise.
69         * lib/signal.in.h: Likewise.
70         * lib/stdint.in.h: Likewise.
71         * lib/stdio-impl.h: Likewise.
72         * lib/stdlib.in.h: Likewise.
73         * lib/strtod.c: Likewise.
74         * lib/sys_select.in.h: Likewise.
75         * lib/tcgetsid.c: Likewise.
76         * lib/unistd.in.h: Likewise.
77         * lib/unlockpt.c: Likewise.
78         * lib/vasnprintf.c: Likewise.
79         * lib/vma-iter.c: Likewise.
80         * lib/wcsrtombs-state.c: Likewise.
81         * m4/acl.m4: Likewise.
82         * m4/acosl.m4: Likewise.
83         * m4/asinl.m4: Likewise.
84         * m4/atanl.m4: Likewise.
85         * m4/c-stack.m4: Likewise.
86         * m4/cosl.m4: Likewise.
87         * m4/expl.m4: Likewise.
88         * m4/extensions.m4: Likewise.
89         * m4/fdatasync.m4: Likewise.
90         * m4/fmal.m4: Likewise.
91         * m4/frexp.m4: Likewise.
92         * m4/frexpf.m4: Likewise.
93         * m4/frexpl.m4: Likewise.
94         * m4/fsusage.m4: Likewise.
95         * m4/getdomainname.m4: Likewise.
96         * m4/getloadavg.m4: Likewise.
97         * m4/getopt.m4: Likewise.
98         * m4/gettext.m4: Likewise.
99         * m4/gnulib-common.m4: Likewise.
100         * m4/intdiv0.m4: Likewise.
101         * m4/intlmacosx.m4: Likewise.
102         * m4/largefile.m4: Likewise.
103         * m4/ldexpl.m4: Likewise.
104         * m4/link-follow.m4: Likewise.
105         * m4/locale-ar.m4: Likewise.
106         * m4/locale-fr.m4: Likewise.
107         * m4/locale-ja.m4: Likewise.
108         * m4/locale-tr.m4: Likewise.
109         * m4/locale-zh.m4: Likewise.
110         * m4/locale_h.m4: Likewise.
111         * m4/lock.m4: Likewise.
112         * m4/logl.m4: Likewise.
113         * m4/mathfunc.m4: Likewise.
114         * m4/minus-zero.m4: Likewise.
115         * m4/mktime.m4: Likewise.
116         * m4/mmap-anon.m4: Likewise.
117         * m4/multiarch.m4: Likewise.
118         * m4/nanosleep.m4: Likewise.
119         * m4/nocrash.m4: Likewise.
120         * m4/poll.m4: Likewise.
121         * m4/printf-frexpl.m4: Likewise.
122         * m4/printf.m4: Likewise.
123         * m4/signbit.m4: Likewise.
124         * m4/sinl.m4: Likewise.
125         * m4/sqrtl.m4: Likewise.
126         * m4/strerror_r.m4: Likewise.
127         * m4/tanl.m4: Likewise.
128         * m4/threadlib.m4: Likewise.
129         * m4/ttyname_r.m4: Likewise.
130         * m4/unlink.m4: Likewise.
131         * m4/visibility.m4: Likewise.
132         * m4/wcwidth.m4: Likewise.
133         * tests/minus-zero.h: Likewise.
134         * tests/test-alloca-opt.c: Likewise.
135         * tests/test-copy-acl.sh: Likewise.
136         * tests/test-copy-file.sh: Likewise.
137         * tests/test-fdatasync.c: Likewise.
138         * tests/test-file-has-acl.sh: Likewise.
139         * tests/test-flock.c: Likewise.
140         * tests/test-fsync.c: Likewise.
141         * tests/test-localename.c: Likewise.
142         * tests/test-malloca.c: Likewise.
143         * tests/test-nonblocking-pipe.h: Likewise.
144         * tests/test-nonblocking-socket.h: Likewise.
145         * tests/test-openpty.c: Likewise.
146         * tests/test-posix_openpt.c: Likewise.
147         * tests/test-ptsname.c: Likewise.
148         * tests/test-ptsname_r.c: Likewise.
149         * tests/test-sameacls.c: Likewise.
150         * tests/test-select.h: Likewise.
151         * tests/test-set-mode-acl.sh: Likewise.
152         * tests/test-snprintf-posix.h: Likewise.
153         * tests/test-sprintf-posix.h: Likewise.
154         * tests/test-strtod.c: Likewise.
155         * tests/test-time.c: Likewise.
156         * tests/test-vasnprintf-posix.c: Likewise.
157         * tests/test-vasprintf-posix.c: Likewise.
158         * doc/acl-resources.txt: Likewise.
159         * doc/**/*.texi: Likewise.
160         Reported by Max Horn <max@quendi.de>.
161
162 2012-06-22  Bruno Haible  <bruno@clisp.org>
163
164         grantpt: Relax requirement regarding invalid file descriptors.
165         * lib/grantpt.c: Don't include <fcntl.h>.
166         (grantpt): Don't verify the validity of the file descriptor.
167         * modules/grantpt (Depends-on): Remove fcntl-h.
168         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
169         file descriptors.
170         * doc/posix-functions/grantpt.texi: Document more platforms on which
171         grantpt succeeds for invalid file descriptors.
172         Reported by Rich Felker <dalias@aerifal.cx>.
173
174 2012-06-22  Bruno Haible  <bruno@clisp.org>
175
176         fbufmode test: Don't test unportable behaviour.
177         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
178         (main): Invoke it three times.
179         Reported by Szabolcs Nagy <nsz@port70.net>
180         and Rich Felker <dalias@aerifal.cx>.
181
182 2012-06-21  Bruno Haible  <bruno@clisp.org>
183
184         gnulib-tool: Refactor inctests variable.
185         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
186         (func_modules_transitive_closure,
187         func_modules_transitive_closure_separately,
188         func_import, func_create_testdir): Update.
189
190         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
191         * gnulib-tool: Accept option --without-tests.
192         (func_usage): Document --without-tests option. Rearrange.
193         (inctests): Normalize according to the mode.
194         * NEWS: Mention the change.
195         Suggested by Simon Josefsson.
196
197 2012-06-21  Bruce Korb  <bkorb@gnu.org>
198
199         parse-duration test: Avoid spurious output.
200         * tests/test-parse-duration.sh: Reindent with leading tabs.
201
202 2012-06-21  Jim Meyering  <meyering@redhat.com>
203
204         maint: disable the strncpy prohibition
205         * cfg.mk: Do not prohibit strncpy here.
206
207 2012-06-21  Bruno Haible  <bruno@clisp.org>
208
209         nonblocking: Avoid compilation error on mingw64.
210         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
211         fscanf.
212         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
213         * modules/vfscanf (configure.ac): Likewise.
214         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
215         definition only if stdio.h has prepared it.
216         Reported by Daniel P. Berrange <berrange@redhat.com>.
217
218 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
219
220         gnulib-tool: Use readlink if it is available.
221         * gnulib-tool (func_readlink): Choose function more appropriately.
222
223 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
224
225         posixtm-tests: port to buggy compiler
226         Problem reported by Simon Josefsson in
227         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
228         * modules/posixtm-tests (Depends-on): Add stdint.
229         * tests/test-posixtm.c (struct posixtm_test.t_expected):
230         Now of type int_least64_t, not int64_t, both because that's
231         what INT64_C returns and because int_least64_t works even
232         on 72-bit hosts.
233         (T): Use INT64_C on constants outside the traditional int range,
234         to work around compiler bug noted by Simon.
235
236         mktime: fix integer overflow in 'configure'-time test
237         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
238         after integer overflow.  Problem reported by Rich Felker in
239         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
240         Also, don't look for further instances of a bug if we've already
241         found one instance; this helps 'configure' run faster.
242
243 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
244
245         tmpfile, clean-temp: Fix invocation of GetVersionEx.
246         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
247         GetVersionEx correctly.
248         * lib/clean-temp.c (supports_delete_on_close): Likewise.
249
250 2012-06-20  Bruno Haible  <bruno@clisp.org>
251
252         fdopen: Allow implementations that don't reject invalid fd arguments.
253         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
254         succeeds.
255         Reported by Rich Felker <dalias@aerifal.cx>.
256
257 2012-06-20  Simon Josefsson  <simon@josefsson.org>
258
259         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
260         bring in LIBINTL.
261
262 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
263
264         init.sh: do not rely on autoupated PWD
265         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
266         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
267         Although Nelson's bug was not necessarily fixed by this patch,
268         it seems wise to make the change for safety.
269         * tests/init.sh (path_prepend_): Do not rely on PWD updating
270         automagically after 'cd'; this is not reliable on older shells.
271         (setup_): Fail if we cannot cd to temporary directory.
272
273 2012-06-19  Bruno Haible  <bruno@clisp.org>
274
275         stat, fstat: Avoid warnings on mingw64.
276         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
277         redefining.
278         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
279         Reported by Daniel P. Berrange <berrange@redhat.com>.
280
281 2012-06-19  Bruno Haible  <bruno@clisp.org>
282
283         stdioext: Add support for musl libc.
284
285         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
286         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
287
288         * m4/fseterr.m4: New file.
289         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
290         function exists.
291         * modules/fseterr (Files): Add m4/fseterr.m4.
292         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
293         __fseterr does not exist.
294         (Makefile.am): Remove fseterr.c from lib_SOURCES.
295
296         * lib/freadable.h: Update comment.
297
298         * lib/fwritable.h: Update comment.
299
300         * lib/freading.h: Update comment.
301
302         * lib/fwriting.h: Update comment.
303
304         * m4/freadahead.m4: New file.
305         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
306         that function exists.
307         * modules/freadahead (Files): Add m4/freadahead.m4.
308         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
309         __freadahead does not exist.
310         (Makefile.am): Remove freadahead.c from lib_SOURCES.
311
312         * m4/freadptr.m4: New file.
313         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
314         function exists.
315         * modules/freadptr (Files): Add m4/freadptr.m4.
316         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
317         __freadptr does not exist.
318         (Makefile.am): Remove freadptr.c from lib_SOURCES.
319
320         * m4/freadseek.m4: New file.
321         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
322         exists.
323         * modules/freadseek (Files): Add m4/freadseek.m4.
324         (configure.ac): Invoke gl_FUNC_FREADSEEK.
325
326         * lib/fpurge.c (fpurge): Update comment.
327
328         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
329
330 2012-06-19  Bruno Haible  <bruno@clisp.org>
331
332         *printf-posix: Put more info into config.log.
333         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
334         exit code into config.log.
335
336 2012-06-19  Bruno Haible  <bruno@clisp.org>
337
338         getopt-gnu: Fix exit code overflow in autoconf test.
339         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
340         to keep them below < 128.
341
342 2012-06-17  Jim Meyering  <meyering@redhat.com>
343
344         maint.mk: fix typo in code to derive GPG key at release time
345         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
346
347 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
348
349         regex: avoid warning when pointers are not long
350         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
351         and uintptr_t, not long, for portability to hosts where pointers and
352         long have different sizes.  Issue noted by Daniel P. Berrange in
353         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
354         and fix suggested by Bruno Haible in
355         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
356
357 2012-06-17  Bruno Haible  <bruno@clisp.org>
358
359         dummy: Relicense into the public domain.
360         * modules/dummy (License): Set to "public domain".
361         Suggested by Reuben Thomas.
362
363 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
364
365         announce-gen: VPATH issues
366         * build-aux/announce-gen (--srcdir): New option, used to trim the
367         $srcdir part of the path from $builddir to NEWS.
368         * top/maint.mk (announcement): Adjust.
369
370 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
371
372         gnu-web-doc-update: VPATH builds
373         * build-aux/gnu-web-doc-update (--builddir): New option.
374         Revamp the handling of options.
375         Prefer $(...) to `...`.
376         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
377         the template, and it is GNU mktemp specific.
378         Prefer set -e to long series of &&.
379         Restore the initial git branch, not "master".
380         Properly initialize submodules (don't rely only on bootstrap).
381         Do not reconfigure blindly, use config.status.
382         * top/README-release: Update instructions for gnu-web-doc-update.
383
384 2012-06-11  Jim Meyering  <meyering@redhat.com>
385
386         maint.mk: revert most of the previous change re "all these"
387         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
388         For rationale, see the discussion at
389         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
390
391 2012-06-10  Karl Berry  <karl@gnu.org>
392
393         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
394
395         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
396
397 2012-06-10  Bruce Korb  <bkorb@gnu.org>
398
399         parse-duration: Relicense under LGPLv2+.
400         * modules/parse-duration (License): Change to LGPLv2+.
401
402 2012-06-10  Jim Meyering  <meyering@redhat.com>
403
404         maint.mk: prohibit common grammar error: "all these"
405         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
406         the list of prohibited word sequences.  It should be "all of these".
407         * lib/tempname.c (__gen_tempname): Fix one of them.
408
409 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
410
411         do-release-commit-and-tag: support VPATH builds
412         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
413         (noteworthy): Defined earlier to factor its value.
414         (noteworthy_stub): New.
415         Use it to factor.
416         (help_version): Split into...
417         (help, version): these.
418         Adjust the option processing part.
419         Support "--option=value" in addition to "--option value".
420         (builddir): New.
421         (--builddir): New option.
422         * top/README-release: Document this.
423         Reword slightly so that the reader cannot understand that he
424         has to do these steps before calling do-release-commit-and-tag.
425
426 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
427
428         readme-release: also require announce-gen and maintainer-makefile
429         * modules/readme-release (Depends-on): here.
430         * modules/announce-gen, modules/do-release-commit-and-tag,
431         modules/gnu-web-doc-update, modules/maintainer-makefile
432         (Description): Point to readme-release.
433
434 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
435
436         maint.mk: fix VPATH issues.
437         * top/maint.mk (news-check): GNU Make understand $< very well.
438         (release-prep): NEWS is in $(srcdir).
439
440 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
441
442         readme-release: require the promoted modules.
443         * modules/readme-release (Depends-on): Add
444         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
445         in this text.
446
447 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
448             Bruno Haible  <bruno@clisp.org>
449
450         error, strerror-override: Support mingw64 from Fedora 17.
451         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
452         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
453         EINPROGRESS.
454         * lib/strerror-override.h (strerror_override): Test it.
455         * lib/strerror-override.c (strerror_override): Likewise.
456         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
457
458 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
459             Bruno Haible  <bruno@clisp.org>
460
461         error, strerror-override: Support mingw64 from Fedora 17.
462         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
463         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
464         * lib/strerror-override.h (strerror_override): Test it.
465         * lib/strerror-override.c (strerror_override): Likewise.
466
467 2012-06-03  Bruno Haible  <bruno@clisp.org>
468
469         error, strerror-override: Support new errno values from POSIX:2008.
470         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
471         ENOTRECOVERABLE.
472         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
473         platforms.
474         * lib/strerror-override.c (strerror_override): Conditionalize the
475         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
476         * lib/strerror-override.h (strerror_override): Declare also if
477         GNULIB_defined_EOWNERDEAD is defined.
478         * tests/test-errno.c (e130, e131): New variables.
479         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
480         ENOTRECOVERABLE.
481         Reported by Paolo Bonzini.
482
483 2012-05-31  Jim Meyering  <meyering@redhat.com>
484
485         savewd: add missing dependency on sys_wait module
486         * modules/savewd (Depends-on): Add sys_wait, needed at least
487         for MSVC.  Report and suggested change by Michael Goffioul.
488
489 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
490
491         system-quote-tests: port to CentOS 5
492         Problem reported by Tom G. Christensen in
493         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
494         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
495
496 2012-05-29  Jim Meyering  <meyering@redhat.com>
497
498         maint: fix typos in comments and ChangeLog
499         Culprits identified and fixed mostly automatically using these commands:
500         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
501         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
502         using http://github.com/lyda/misspell-check
503         * ChangeLog: Fix typos.
504         * doc/solaris-versions: Likewise.
505         * lib/regexec.c (re_search_stub): Likewise.
506         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
507
508 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
509
510         manywarnings: remove duplicate -Wmultichar entry
511         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
512         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
513         so keep the entry marked as documented.
514
515 2012-05-27  Karl Berry  <karl@gnu.org>
516
517         * config/srclist.txt (mktime.c): remove last libc sync,
518         perhaps just temporarily.
519
520 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
521
522         regex: don't assume uint64_t or uint32_t
523         * lib/regcomp.c (init_word_char): Don't assume that the types
524         uint64_t and uint32_t exist.  The C standard doesn't guarantee
525         them, and on some 32-bit compilers there is no uint64_t.
526         Problem reported by Gianluigi Tiesi in
527         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
528
529 2012-05-25  Jim Meyering  <meyering@redhat.com>
530
531         maint.mk: add strncpy-prohibiting syntax-check rule
532         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
533
534 2012-05-24  Jim Meyering  <meyering@redhat.com>
535
536         maint.mk: compute $(gpg_key_ID) more portably
537         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
538         That use of sed is not portable to some fringe systems.
539         Reported by Paul Eggert in
540         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
541
542 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
543
544         mktime: sync from glibc
545         * config/srclist.txt: Uncomment mktime.c.
546         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
547         First, indent with tabs, since glibc uses tabs and doesn't want to
548         change and we'd rather be identical to glibc.  Also, two small
549         coding changes:
550         (isdst_differ): Use &&, not &, as && is the usual style.
551         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
552         for clarity.
553
554 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
555
556         announce-gen: du -h is more portable than du --human
557         * build-aux/announce-gen (sizes): Invoke du with -h instead
558         of --human.  Accept leading white space in its output.
559
560 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
561
562         announce-gen: Improve diagnostics.
563         * build-aux/announce-gen: When parsing command line options,
564         prefer "announce-gen: option --release-type requires an argument"
565         to "Option release-type requires an argument".
566
567 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
568
569         maint.mk: gpg_key_ID: use sed more portably
570         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
571         the closing brace.
572         (refresh-po): Fuse two sed invocations into one.
573
574 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
575
576         gitlog-to-changelog: support the log message format used in Bison.
577         * build-aux/gitlog-to-changelog: Support --strip-tab and
578         --strip-cherry-picked.
579
580 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
581
582         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
583         the rest of the current time slice to another thread in the current
584         process. So if the thread that feeds the file decscriptor we're
585         polling is not in the current process, we get busy-waiting.
586         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
587         Patch from Theodore Leblond.
588         * lib/select.c: Split polling out of the loop that sets the output
589         fd_sets.  Check for zero result and loop if the wait timeout is
590         infinite.
591
592 2012-05-21  Simon Josefsson  <simon@josefsson.org>
593
594         select: Fix build error on IRIX 6.5.
595         * lib/select.c: Include stddef.h for NULL.
596
597 2012-05-21  Simon Josefsson  <simon@josefsson.org>
598
599         gc: fix libgcrypt detection on older machines.
600         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
601         copyright years because the file has been distributed every year
602         since it was created.
603
604 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
605
606         crypto: fix bug in large buffer handling
607         Problem reported by Serge Belyshev for glibc in
608         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
609         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
610         * lib/md4.c (md4_process_block):
611         * lib/md5.c (md5_process_block):
612         * lib/sha1.c (sha1_process_block):
613         * lib/sha256.c (sha256_process_block):
614         Don't assume the buffer length is less than 2**32.
615         * lib/sha512.c (sha512_process_block): Likewise.
616         Here, the bug is present only in the rare case where the host does
617         not support uint64_t or where size_t is wider than 64 bits.
618         Use u64size to work around the problems.
619         * lib/u64.h (u64size): New macro.
620
621 2012-05-15  Pádraig Brady  <P@draigBrady.com>
622
623         fsusage: fix block size returned on older Linux 2.6
624
625         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
626         which is available since Linux 2.6.
627         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
628         when the member is available so it can be used as a fallback.
629         * doc/posix-functions/statvfs.texi: Mention the hang issue
630         on Linux < 2.6.36.
631
632 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
633
634         bootstrap: suppress stderr chatter
635         * build-aux/bootstrap (insert_sorted_if_absent, main program):
636         Omit unnecessary chatter to stderr.  The main program chatter
637         was there only inadvertantly.
638
639         bootstrap: .gitignore files created by autopoint, libtool
640         I ran into this problem when bootstrapping the latest diffutils.
641         After './bootstrap', 'git status' reported lots of untracked files
642         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
643         autopoint and do not need to be version-controlled.
644         * build-aux/bootstrap: Put into .gitignore the files that
645         autopoint and libtool create, by keeping track of files that exist
646         after but not before these programs are run.
647         (version_controlled_file): Move up.  2nd arg is now full file
648         name, not base name; this is more convenient.  Put CVS at the end,
649         as it's now somewhat deprecated.
650
651 2012-05-14  Jim Meyering  <meyering@redhat.com>
652
653         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
654         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
655         definition.  Reported by Bruno Haible.
656
657 2012-05-13  Bruno Haible  <bruno@clisp.org>
658             Paul Eggert  <eggert@cs.ucla.edu>
659
660         binary-io: Define set_binary_mode function.
661         * lib/binary-io.h (set_binary_mode): New function.
662         (SET_BINARY): Define in terms of set_binary_mode.
663         * modules/binary-io (configure.ac): Require AC_C_INLINE.
664         * tests/test-binary-io.c (main): Accept an argument, and test either
665         set_binary_mode or SET_BINARY depending on the argument.
666         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
667         argument. Clean up also t-bin-out0.tmp.
668
669 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
670
671         bootstrap: take advantage of POSIX shell features
672
673         The 'bootstrap' script offered by Gnulib script already uses POSIX
674         shell features (like $((...)) arithmetic expansions) that are not
675         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
676         means that bootstrap must already be run using a proper POSIX shell,
677         which will thus provide more features, like ${var#pattern} parameter
678         expansion or inversion of a command exit status with '!'.  We can
679         thus use these features to improve the clarity and the performances
680         of the bootstrap script.
681
682         Suggested by Eric Blake.
683
684         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
685         of sed/expr plus command substitutions, to save some forks.  While
686         we are at it, prefer the POSIX $(...) form of command substitution,
687         rather than the legacy form `...` (since the former is visually
688         clearer and interacts better with quoting), and prefer the idiom:
689           "if ! CMD; then ACTION ..."
690         over the idiom:
691           "if CMD; then :; else ACTION ..."
692         which was required by legacy Bourne shells not supporting '!'.
693
694 2012-05-12  Bruno Haible  <bruno@clisp.org>
695
696         system-quote: Add more comments.
697         * lib/system-quote.h: Add more comments about wilcards and limitations.
698         Suggested by Eli Zaretskii <eliz@gnu.org>.
699
700         sh-quote, system-quote: Add comments about wildcards.
701         * lib/sh-quote.h: Clarify what happens with wildcard characters.
702         * lib/system-quote.h: Likewise.
703         Reported by Eli Zaretskii <eliz@gnu.org>.
704
705 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
706
707         fsusage: check for GNU/Linux statvfs problem dynamically
708         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
709         Define STAT_STATFS2_BSIZE too, since in this case the code now
710         checks dynamically whether statvfs is reliable, falling back on
711         Linux-style statfs otherwise.
712         (statvfs_works): New function, for dynamically testing statvfs.
713         (get_fs_usage) [STAT_STATVFS]: Use it.
714         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
715         statvfs on GNU/Linux hosts, since it's now done dynamically.
716
717 2012-05-10  Bruno Haible  <bruno@clisp.org>
718
719         system-quote, execute, spawn-pipe: Escape '?' on Windows.
720         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
721         '?' character.
722         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
723         * tests/test-system-quote-main.c (check_all): Check also strings like
724         "??????????".
725         Reported by Eli Zaretskii <eliz@gnu.org>.
726
727 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
728
729         _Noreturn: port config.h to gcc -Wundef
730         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
731         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
732         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
733
734 2012-05-10  Bruno Haible  <bruno@clisp.org>
735
736         system-quote: Refactor.
737         * lib/system-quote.h (system_quote_copy): Fix comment.
738         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
739         New functions, extracted from system_quote_copy.
740         (system_quote_length, system_quote_copy): Use these functions.
741         Reported by Paul Eggert.
742
743 2012-05-08  Bruno Haible  <bruno@clisp.org>
744
745         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
746         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
747
748 2012-05-08  Bruno Haible  <bruno@clisp.org>
749
750         Tests for module 'system-quote'.
751         * modules/system-quote-tests: New file.
752         * tests/test-system-quote.sh: New file.
753         * tests/test-system-quote-main.c: New file.
754         * tests/test-system-quote-child.c: New file.
755
756         New module 'system-quote'.
757         * lib/system-quote.h: New file.
758         * lib/system-quote.c: New file.
759         * modules/system-quote: New file.
760
761 2012-05-08  Bruno Haible  <bruno@clisp.org>
762
763         sh-quote: Make C++ safe and allow multiple inclusion.
764         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
765         declarations in extern "C".
766
767 2012-05-08  Bruno Haible  <bruno@clisp.org>
768
769         sh-quote tests: Make tests stricter.
770         * tests/test-sh-quote.c (check_one): Check the return value of
771         shell_quote_copy.
772         (main): Check a string with a CR character. Check a string that
773         contains UCHAR_MAX.
774
775 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
776
777         warnings.m4: provide a means to specify the program to compile.
778         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
779         (gl_WARN_ADD): here.
780         Use gl_AS_VAR_APPEND.
781         Support an argument to specify the program to compile.
782         (gl_WARN_ADD): Accept an argument to specify the program to compile.
783         AC_SUBST the WARN_CFLAGS when they are used.
784         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
785         leave this to gl_WARN_ADD.
786
787 2012-05-08  Eric Blake  <eblake@redhat.com>
788
789         doc: recommendations on gettext version
790         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
791         choice between versions.
792         * DEPENDENCIES (gettext): Cover both approaches.
793
794 2012-05-08  Jim Meyering  <meyering@redhat.com>
795
796         init.sh: explain why EXEEXT support uses aliases rather than functions
797         * tests/init.sh: Add a comment.
798
799         init.sh: don't let bash aliases interfere with tests
800         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
801         is bash.  This avoids problems for those who alias standard commands to
802         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
803         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
804
805 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
806
807         stdint: be more consistent with glibc, SunOS libc
808         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
809         (gl_int_fast16_t, gl_uint_fast16_t)
810         (gl_int_fast32_t, gl_uint_fast32_t)
811         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
812         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
813         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
814         Be consistent with glibc by default, and with SunOS 5.10 and later
815         if __sun is defined.  This lessens the likelihood of clashes if
816         code compiled for older hosts is combined with code compiled for
817         newer ones.  Problem reported by Niels Möller in
818         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
819
820 2012-05-07  Eric Blake  <eblake@redhat.com>
821
822         isatty: relax license to LGPLv2+
823         * modules/isatty (License): Relax license.
824
825 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
826
827         stat-size: comment fix
828         * lib/stat-size.h: Remove obsolete comment about indenting.
829
830 2012-05-06  Bruno Haible  <bruno@clisp.org>
831
832         Tests for module 'sh-quote'.
833         * modules/sh-quote-tests: New file.
834         * tests/test-sh-quote.c: New file.
835
836 2012-05-06  Bruno Haible  <bruno@clisp.org>
837
838         sh-quote: Improve shell_quote_argv's signature.
839         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
840         * lib/sh-quote.c (shell_quote_argv): Likewise.
841
842 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
843
844         stdint: document issues with int_fast8_t etc.
845         * doc/posix-headers/stdint.texi (stdint.h): Say that other
846         stdint.h substitutes may define these types differently.  See
847         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
848
849 2012-05-05  Bruno Haible  <bruno@clisp.org>
850
851         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
853         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
854         or 'guessing no (mishandles large arguments)'.
855
856 2012-05-05  Bruno Haible  <bruno@clisp.org>
857
858         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
859         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
860         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
861         set gl_cv_func_link_follows_symlink to "guessing no".
862
863 2012-05-05  Bruno Haible  <bruno@clisp.org>
864
865         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
866         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
867         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
868         "guessing no".
869         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
870
871 2012-05-05  Bruno Haible  <bruno@clisp.org>
872
873         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
874         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
875         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
876         set gl_cv_struct_dirent_d_ino to "guessing yes".
877
878 2012-05-05  Bruno Haible  <bruno@clisp.org>
879
880         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
881         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
882         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
883         "guessing yes".
884
885 2012-05-05  Bruno Haible  <bruno@clisp.org>
886
887         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
888         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
889         compiling to a glibc system, set gl_cv_func_signbit and
890         gl_cv_func_signbit_gcc to "guessing yes".
891
892 2012-05-05  Bruno Haible  <bruno@clisp.org>
893
894         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
895         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
896         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
897         to "guessing yes".
898         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
899         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
900
901 2012-05-05  Bruno Haible  <bruno@clisp.org>
902
903         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
904         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
905         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
906         gl_cv_func_realpath_works to "guessing yes".
907
908 2012-05-05  Bruno Haible  <bruno@clisp.org>
909
910         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
911         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
912         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
913
914 2012-05-04  Bruno Haible  <bruno@clisp.org>
915
916         Tweak last commit.
917         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
918         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
919
920 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
921
922         unistd_h: make it easier to avoid sys_types_h
923         This is useful for Emacs, which has its own method of porting to
924         Windows, and which therefore does not need the sys_types_h module.
925         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
926         code moved here from gl_SYS_TYPES_H.
927         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
928         using the code directly.
929         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
930         gl_SYS_TYPES_H.
931         * modules/sys_types (Files):
932         * modules/unistd (Files): Add m4/off_t.m4.
933
934 2012-05-03  Bruno Haible  <bruno@clisp.org>
935
936         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
937         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
938         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
939         "guessing yes" or "guessing no".
940         (gl_FUNC_LSTAT): Update.
941         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
942         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
943         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
944
945 2012-05-03  Bruno Haible  <bruno@clisp.org>
946
947         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
948         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
949         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
950         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
951         cross-compiling, choose the first alternative on glibc systems.
952         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
953
954 2012-05-03  Bruno Haible  <bruno@clisp.org>
955
956         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
957         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
958         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
959
960 2012-05-03  Bruno Haible  <bruno@clisp.org>
961
962         chown: Avoid "guessing no" when cross-compiling to glibc systems.
963         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
964
965 2012-05-03  Bruno Haible  <bruno@clisp.org>
966
967         Avoid "guessing no" guesses when cross-compiling to glibc systems.
968         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
969         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
970         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
971         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
972         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
973         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
974         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
975         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
976         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
977         compiling to glibc systems, set gl_cv_func_chown_slash_works,
978         gl_cv_func_chown_ctime_works to "guessing yes".
979         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
980         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
981         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
982         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
983         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
984         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
985         compiling to glibc systems, set gl_cv_func_open_directory_works to
986         "guessing yes".
987         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
988         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
989         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
990         "guessing yes".
991         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
992         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
993         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
994         compiling to glibc systems, set gl_cv_func_floorf_ieee to
995         "guessing yes".
996         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
997         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
998         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
999         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1000         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1001         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1002         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1003         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1004         "guessing yes".
1005         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1006         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1007         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1008         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1009         "guessing yes".
1010         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1011         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1012         "guessing yes".
1013         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1014         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1015         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1016         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1017         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1018         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1019         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1020         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1021         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1022         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1023         "guessing yes".
1024         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1025         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1026         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1027         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1028         "guessing yes".
1029         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1030         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1031         "guessing yes".
1032         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1033         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1034         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1035         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1036         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1037         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1038         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1039         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1040         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1041         "guessing yes".
1042         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1043         compiling to glibc systems, set gl_cv_func_mknod_works to
1044         "guessing yes".
1045         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1046         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1047         "guessing yes".
1048         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1049         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1050         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1051         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1052         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1053         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1054         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1055         compiling to glibc systems, set gl_cv_func_svid_putenv to
1056         "guessing yes".
1057         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1058         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1059         "guessing yes".
1060         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1061         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1062         "guessing yes".
1063         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1064         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1065         to "guessing yes".
1066         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1067         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1068         to "guessing yes".
1069         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1070         compiling to glibc systems, set gl_cv_func_rmdir_works to
1071         "guessing yes".
1072         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1073         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1074         gl_cv_func_unlink_parent_fails to "guessing yes".
1075         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1076         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1077         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1078         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1079         gl_cv_func_rename_dest_works to "guessing yes".
1080         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1081         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1083         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1084         "guessing yes".
1085         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1086         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1087         "guessing yes".
1088         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1089         compiling to glibc systems, set gl_cv_func_setenv_works to
1090         "guessing yes".
1091         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1092         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1093         "guessing yes".
1094         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1095         compiling to glibc systems, set gl_cv_func_sleep_works to
1096         "guessing yes".
1097         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1098         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1099         "guessing yes".
1100         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1101         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1102         "guessing yes".
1103         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1104         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1105         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1106         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1107         "guessing yes".
1108         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1109         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1110         "guessing yes".
1111         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1112         compiling to glibc systems, set gl_cv_func_usleep_works to
1113         "guessing yes".
1114         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1115         compiling to glibc systems, set gl_cv_func_futimesat_works to
1116         "guessing yes".
1117
1118 2012-05-03  Bruno Haible  <bruno@clisp.org>
1119
1120         Say "guessing yes" or "guessing no" when cross-compiling.
1121         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1122         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1123         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1124         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1125         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1126         am_cv_func_working_getline to "guessing yes" or "guessing no".
1127         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1128         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1129         (gl_FUNC_MEMMEM): When cross-compiling, set
1130         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1131         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1132         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1133         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1134         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1135         "guessing no".
1136         (gl_FUNC_STRCASESTR): When cross-compiling, set
1137         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1138         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1139         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1140         (gl_FUNC_STRSTR): When cross-compiling, set
1141         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1142         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1143         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1144         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1145         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1146
1147 2012-05-01  Bruno Haible  <bruno@clisp.org>
1148
1149         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1150         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1151         * build-aux/reloc-ldflags: Likewise.
1152         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1153
1154 2012-05-01  Bruno Haible  <bruno@clisp.org>
1155
1156         gnulib-tool: Remove transitional code.
1157         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1158         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1159
1160 2012-05-01  Bruno Haible  <bruno@clisp.org>
1161
1162         getcwd: Fix misindentation.
1163         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1164
1165 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1166
1167         exclude: process exclude and include directives in order
1168         This restores the pre-2009 behavior, and is part of a fix of a
1169         grep bug reported by Quentin Arce in
1170         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1171         * lib/exclude.c (struct exclude): Remove 'tail' member.
1172         (new_exclude_segment): Prepend the new segment instead of appending.
1173         Return void, since that's now more convenient.
1174         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1175         (file_name_matches): Renamed from excluded_file_name_p.
1176         (file_pattern_matches, file_name_matches):
1177         Return true if the pattern matches, not if it excludes.
1178         All callers changed.
1179         (excluded_file_name): Process the list in reverse order;
1180         since the list is now reversed this restores the pre-2009 behavior.
1181         (add_exclude): Adjust to new reversed-order list.  Use local var
1182         rather than macro, for clarity.
1183         * tests/test-exclude7.sh: Adjust to corrected behavior.
1184
1185         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1186         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1187         it's not possible here.  Handle the case of \ at end of pattern
1188         without dumping core.
1189         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1190
1191         _Noreturn: future-proof non-GNU and non-MSVC compilers
1192         * build-aux/snippet/_Noreturn.h (_Noreturn):
1193         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1194         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1195         C11 or later.  This is more likely to work with random future C
1196         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1197         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1198
1199         exclude: handle wildcards with FNM_EXTMATCH
1200         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1201         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1202         comment that "has wildcards" really means "has or may have
1203         wildcards".  Simplify by avoiding the need to call strcspn.
1204
1205 2012-04-29  Bruno Haible  <bruno@clisp.org>
1206
1207         gnulib-tool: Fix list of authors.
1208         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1209
1210 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1211
1212         bootstrap: support Automake-NG in $buildreq
1213         * bootstrap (check_versions): Handle automake and aclocal from
1214         Automake-NG specially.  They can be specified as respectively
1215         the "automake-ng" and "aclocal-ng" requirements.
1216
1217 2012-04-25  Eric Blake  <eblake@redhat.com>
1218
1219         bootstrap: only force latest Makefile.in.in for gettext module
1220         * build-aux/bootstrap (with_gettext): Only install latest
1221         Makefile.in.in for projects requesting bleeding edge gettext.
1222
1223 2012-04-22  Bruno Haible  <bruno@clisp.org>
1224
1225         doc: Mention reason for replacement on glibc/Linux systems.
1226         * doc/posix-functions/dprintf.texi: Mention the problem with special
1227         'long double' values.
1228         * doc/posix-functions/fprintf.texi: Likewise.
1229         * doc/posix-functions/printf.texi: Likewise.
1230         * doc/posix-functions/snprintf.texi: Likewise.
1231         * doc/posix-functions/sprintf.texi: Likewise.
1232         * doc/posix-functions/vdprintf.texi: Likewise.
1233         * doc/posix-functions/vfprintf.texi: Likewise.
1234         * doc/posix-functions/vprintf.texi: Likewise.
1235         * doc/posix-functions/vsnprintf.texi: Likewise.
1236         * doc/posix-functions/vsprintf.texi: Likewise.
1237         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
1238         platforms with F_DUPFD_CLOEXEC problems.
1239         * doc/posix-functions/glob.texi: Mention which platforms are affected
1240         by the problem with symbolic links.
1241         * doc/posix-functions/linkat.texi: Mention the problem with
1242         AT_SYMLINK_FOLLOW on Linux.
1243
1244 2012-04-22  Bruno Haible  <bruno@clisp.org>
1245
1246         pwrite: Don't replace on all platforms.
1247         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
1248
1249 2012-04-22  Bruno Haible  <bruno@clisp.org>
1250
1251         rint* tests: Avoid gcc warnings.
1252         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
1253         * tests/test-rintf.c (INFINITY, NAN): Likewise.
1254         * tests/test-rintl.c (INFINITY, NAN): Likewise.
1255
1256 2012-04-21  Bruno Haible  <bruno@clisp.org>
1257
1258         users.txt: Update.
1259         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1260         switched from CVS to git, bzr, or svn.
1261
1262 2012-04-21  Bruno Haible  <bruno@clisp.org>
1263
1264         Large File Support for native Windows platforms.
1265
1266         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1267         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1268
1269         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1270         type.
1271         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1272         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1273         * doc/posix-headers/sys_types.texi: Mention the effect of the
1274         'largefile' module.
1275
1276         * lib/fcntl.in.h: Add comments about off_t.
1277         * modules/fcntl-h (Depends-on): Add sys_types.
1278
1279         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1280         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1281         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1282         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1283         * modules/unistd (Depends-on): Add sys_types.
1284         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1285
1286         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1287         instead of lseek.
1288         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1289         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1290         * modules/lseek (Depends-on): Add sys_types.
1291
1292         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1293         msvc-nothrow.h.
1294         (SetFileSize): New function.
1295         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1296         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1297         if Large File Support is requested.
1298         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1299         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1300
1301         * lib/stdio.in.h: Add comments about off_t.
1302         * modules/stdio (Depends-on): Add sys_types.
1303
1304         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1305         instead of ftello.
1306         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1307         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1308         (gl_PREREQ_FTELLO): New macro.
1309         * modules/ftello (Depends-on): Add sys_types.
1310         (configure.ac): Incoke gl_PREREQ_FTELLO.
1311
1312         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1313         instead of fseeko.
1314         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1315         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1316         (gl_PREREQ_FSEEKO): New macro.
1317         * modules/fseeko (Depends-on): Add sys_types.
1318         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1319
1320         * lib/sys_stat.in.h: Add comments about off_t.
1321         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1322         64-bit integer for st_size in 'struct stat'.
1323         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1324         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1325         * modules/sys_stat (Depends-on): Add sys_types.
1326         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1327
1328         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1329         instead of stat or _stat.
1330
1331         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1332         'struct _stati64' instead of fstat and 'struct stat'.
1333         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1334         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1335
1336         Reported by Ray Satiro <raysatiro@yahoo.com>.
1337
1338 2012-04-19  Eric Blake  <eblake@redhat.com>
1339
1340         bootstrap: accommodate older libtool
1341         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1342         Reported by Daniel P. Berrange.
1343
1344 2012-04-19  Jim Meyering  <meyering@redhat.com>
1345
1346         announce-gen: avoid failure due to lack of Digest::SHA1
1347         Even with the preferred Digest::SHA available, this script
1348         would fail when the backup module, Digest::SHA1, was not installed.
1349         * build-aux/announce-gen: Quote the conditional use of "use".
1350         Reported by Reuben Thomas in:
1351         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1352
1353         bootstrap: don't let a user's CDPATH setting affect this script
1354         When CDPATH is set, cd will sometimes generate output.
1355         When "cd" is run in a subshell whose output matters, that
1356         surprising-to-some output can cause malfunction.
1357         Unsetting CDPATH turns off this shell "feature."
1358         * build-aux/bootstrap (CDPATH): Unset.
1359         Reported by Reuben Thomas in:
1360         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1361         and inspired by his patch here:
1362         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1363
1364 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1365         and Jim Meyering  <meyering@redhat.com>
1366
1367         maint.mk: catch "see @xref{}" and similar
1368         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1369         prohibit "See also @xref{", "Also see @pxref{", and similar.
1370
1371 2012-04-16  Jim Meyering  <meyering@redhat.com>
1372
1373         bootstrap: really use gnulib's po/Makefile.in.in
1374         * build-aux/bootstrap: Correct the source file name in previous change.
1375         Reported by Akim Demaille.
1376
1377         configmake: correct minor inconsistency in Makefile rule
1378         * modules/configmake (Makefile.am): All other rules like this one
1379         run the final "mv -f ..." in the same backslash-continued command
1380         as the one that does everything else.  This one put the mv -f ...
1381         command on a separate, non-backslash-continued line.
1382         Make it like the others.
1383
1384         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1385         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1386         the one from gettext.  Reported by Akim Demaille.
1387
1388 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1389
1390         Fix recursion of install-* into po directories.
1391         Bison's install-pdf bug reported by Hans Aberg at
1392         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1393         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1394         (install-info, install-pdf, install-ps): New targets.
1395
1396 2012-04-16  Jim Meyering  <meyering@redhat.com>
1397
1398         maint: avoid spurious "make sc_maint" failure
1399         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1400         exempt all *.class file names, for lib/javaversion.class.
1401
1402 2012-04-15  Bruno Haible  <bruno@clisp.org>
1403
1404         lseek: Make configure test independent of environment.
1405         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1406         Windows, we know that lseek() on pipes is broken; skip the runtime
1407         test.
1408
1409 2012-04-14  Bruno Haible  <bruno@clisp.org>
1410
1411         stat: Bypass buggy override in mingw64.
1412         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1413         * lib/stat.c (stat) [mingw64]: Define to _stat.
1414         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1415
1416 2012-04-14  Bruno Haible  <bruno@clisp.org>
1417
1418         pathmax: Fix compilation error on MSVC 9.
1419         * modules/pathmax (Depends-on): Add unistd.
1420
1421 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1422
1423         README: document pointer comparison assumption
1424         * README (Portability guidelines): Document assumption about
1425         pointer comparisons, in response to a recent bug-gnulib comment by
1426         Jeffrey Kegler.
1427
1428 2012-04-12  Bruno Haible  <bruno@clisp.org>
1429
1430         Tests for module 'getrusage'.
1431         * modules/getrusage-tests: New file.
1432         * tests/test-getrusage.c: New file.
1433
1434         New module 'getrusage'.
1435         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1436         warn-on-use.h.
1437         (getrusage): New declaration.
1438         * lib/getrusage.c: New file.
1439         * m4/getrusage.m4: New file.
1440         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1441         is declared.
1442         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1443         HAVE_GETRUSAGE.
1444         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1445         snippet/c++defs, snippet/warn-on-use.
1446         (Makefile.am): Update generation of sys/resource.h. Substitute
1447         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1448         * modules/getrusage: New file.
1449         * doc/posix-functions/getrusage.texi: Mention the new module.
1450
1451 2012-04-12  Bruno Haible  <bruno@clisp.org>
1452
1453         Tests for module 'sys_resource'.
1454         * modules/sys_resource-tests: New file.
1455         * tests/test-sys_resource.c: New file.
1456
1457         New module 'sys_resource'.
1458         * lib/sys_resource.in.h: New file.
1459         * m4/sys_resource_h.m4: New file.
1460         * modules/sys_resource: New file.
1461         * doc/posix-headers/sys_resource.texi: Mention the new module.
1462
1463 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1464
1465         ioctl: Fix compilation error on mingw.
1466         * lib/ioctl.c: Include <windows.h>.
1467         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1468
1469 2012-04-04  Jim Meyering  <meyering@redhat.com>
1470
1471         regex: correct #pragma guard expression
1472         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1473         not 4.3.  Correct its cpp guard expression.
1474
1475 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1476
1477         regex: remove unnecessary type punning
1478         Problem reported by Vladimir Serbinenko in
1479         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1480         * lib/regex.h (struct re_pattern_buffer): Change the type of
1481         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1482         Fix comment to match code.
1483         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1484         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1485         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1486         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1487         (set_regs):
1488         Omit no-longer-necessary casts.
1489
1490 2012-04-03  Bruno Haible  <bruno@clisp.org>
1491
1492         Tests for module 'ilogbl'.
1493         * modules/ilogbl-tests: New file.
1494         * tests/test-ilogbl.c: New file.
1495
1496         New module 'ilogbl'.
1497         * lib/math.in.h (ilogbl): New declaration.
1498         * lib/ilogbl.c: New file.
1499         * m4/ilogbl.m4: New file.
1500         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1502         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1503         Split sed invocation, to avoid the limit of 100 substitutions of
1504         HP-UX 'sed'.
1505         * modules/ilogbl: New file.
1506         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1507         * doc/posix-functions/ilogbl.texi: Mention the new module.
1508
1509 2012-04-03  Bruno Haible  <bruno@clisp.org>
1510
1511         Tests for module 'ilogbf'.
1512         * modules/ilogbf-tests: New file.
1513         * tests/test-ilogbf.c: New file.
1514
1515         New module 'ilogbf'.
1516         * lib/math.in.h (ilogbf): New declaration.
1517         * lib/ilogbf.c: New file.
1518         * m4/ilogbf.m4: New file.
1519         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1521         REPLACE_ILOGBF.
1522         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1523         REPLACE_ILOGBF.
1524         * modules/ilogbf: New file.
1525         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1526         * doc/posix-functions/ilogbf.texi: Mention the new module.
1527
1528 2012-04-03  Bruno Haible  <bruno@clisp.org>
1529
1530         Tests for module 'ilogb'.
1531         * modules/ilogb-tests: New file.
1532         * tests/test-ilogb.c: New file.
1533         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1534         tests/test-logb-ieee.h.
1535
1536         New module 'ilogb'.
1537         * lib/math.in.h (ilogb): New declaration.
1538         * lib/ilogb.c: New file.
1539         * m4/ilogb.m4: New file.
1540         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1542         REPLACE_ILOGB.
1543         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1544         REPLACE_ILOGB.
1545         * modules/ilogb: New file.
1546         * tests/test-math-c++.cc: Check the declaration of ilogb.
1547         * doc/posix-functions/ilogb.texi: Mention the new module.
1548
1549 2012-04-03  Bruno Haible  <bruno@clisp.org>
1550
1551         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1552         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1553         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1554         (main): Check their values.
1555         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1556         problem.
1557
1558 2012-04-03  Bruno Haible  <bruno@clisp.org>
1559
1560         Tests for module 'logbl-ieee'.
1561         * modules/logbl-ieee-tests: New file.
1562         * tests/test-logbl-ieee.c: New file.
1563
1564         New module 'logbl-ieee'.
1565         * modules/logbl-ieee: New file.
1566
1567         Tests for module 'logb-ieee'.
1568         * modules/logb-ieee-tests: New file.
1569         * tests/test-logb-ieee.c: New file.
1570
1571         New module 'logb-ieee'.
1572         * modules/logb-ieee: New file.
1573
1574         Tests for module 'logbf-ieee'.
1575         * modules/logbf-ieee-tests: New file.
1576         * tests/test-logbf-ieee.c: New file.
1577         * tests/test-logb-ieee.h: New file.
1578
1579         New module 'logbf-ieee'.
1580         * modules/logbf-ieee: New file.
1581
1582 2012-04-03  Bruno Haible  <bruno@clisp.org>
1583
1584         Tests for module 'logbl'.
1585         * modules/logbl-tests: New file.
1586         * tests/test-logbl.c: New file.
1587
1588         New module 'logbl'.
1589         * lib/math.in.h (logbl): New declaration.
1590         * lib/logbl.c: New file.
1591         * m4/logbl.m4: New file.
1592         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
1593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
1594         REPLACE_LOGBL.
1595         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
1596         REPLACE_LOGBL.
1597         * modules/logbl: New file.
1598         * tests/test-math-c++.cc: Check the declaration of logbl.
1599         * doc/posix-functions/logbl.texi: Mention the new module.
1600
1601 2012-04-02  Bruno Haible  <bruno@clisp.org>
1602
1603         Tests for module 'logbf'.
1604         * modules/logbf-tests: New file.
1605         * tests/test-logbf.c: New file.
1606
1607         New module 'logbf'.
1608         * lib/math.in.h (logbf): New declaration.
1609         * lib/logbf.c: New file.
1610         * m4/logbf.m4: New file.
1611         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
1612         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
1613         REPLACE_LOGBF.
1614         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
1615         REPLACE_LOGBF.
1616         * modules/logbf: New file.
1617         * tests/test-math-c++.cc: Check the declaration of logbf.
1618         * doc/posix-functions/logbf.texi: Mention the new module.
1619
1620 2012-04-02  Bruno Haible  <bruno@clisp.org>
1621
1622         logb tests: More tests.
1623         * tests/test-logb.h: New file, based on tests/test-logb.c and
1624         tests/test-frexp.h.
1625         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
1626         (main): Just invoke test_function.
1627         * modules/logb-tests (Files): Add tests/test-logb.h,
1628         tests/minus-zero.h, tests/randomd.c.
1629         (Makefile.am): Add randomd.c to test_logb_SOURCES.
1630
1631         logb: Provide replacement and workarounds.
1632         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
1633         is 1.
1634         * lib/logb.c: New file.
1635         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
1636         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
1637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
1638         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
1639         * modules/logb (Files): Add lib/logb.c.
1640         (Depends-on): Add isfinite, frexp, isnand.
1641         (configure.ac): Compile the replacement code logb.c if needed.
1642         * tests/test-math-c++.cc: Check the declaration of logb.
1643         * doc/posix-functions/logb.texi: Mention the replacement and the bug
1644         with subnormal numbers.
1645
1646 2012-04-02  Bruno Haible  <bruno@clisp.org>
1647
1648         log10* tests: Speed up.
1649         * tests/test-log10.h (test_function): Reduce amount of random numbers
1650         to test.
1651
1652 2012-04-01  Bruno Haible  <bruno@clisp.org>
1653
1654         logf-ieee: Fix test whether logf works.
1655         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
1656
1657 2012-04-01  Bruno Haible  <bruno@clisp.org>
1658
1659         log10l: Work around log10l-ieee test failure on IRIX 6.5.
1660         * lib/log10l.c: Include <float.h>
1661         (log10l): On IRIX, normalize the +Infinity value.
1662         * modules/log10l (Depends-on): Add 'float'.
1663         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
1664         +Infinity.
1665
1666         log10f-ieee: Work around test failure on NetBSD 5.1.
1667         * m4/log10f-ieee.m4: New file.
1668         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
1669         test whether log10f works with a negative argument. Replace it if not.
1670         * lib/log10f.c (log10f): For negative arguments, return NaN.
1671         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
1672         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
1673         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
1674
1675         log10f-ieee: Work around test failure on Solaris 9.
1676         * modules/log10f-ieee (Depends-on): Add log10-ieee.
1677         (configure.ac): Require gl_FUNC_LOG10F.
1678
1679         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1680         * m4/log10-ieee.m4: New file.
1681         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
1682         whether log10 works with a negative argument. Replace it if not.
1683         * lib/log10.c (log10): For negative arguments, return NaN.
1684         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
1685         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
1686         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
1687
1688         Tests for module 'log10l-ieee'.
1689         * modules/log10l-ieee-tests: New file.
1690         * tests/test-log10l-ieee.c: New file.
1691
1692         New module 'log10l-ieee'.
1693         * modules/log10l-ieee: New file.
1694
1695         Tests for module 'log10-ieee'.
1696         * modules/log10-ieee-tests: New file.
1697         * tests/test-log10-ieee.c: New file.
1698
1699         New module 'log10-ieee'.
1700         * modules/log10-ieee: New file.
1701
1702         Tests for module 'log10f-ieee'.
1703         * modules/log10f-ieee-tests: New file.
1704         * tests/test-log10f-ieee.c: New file.
1705         * tests/test-log10-ieee.h: New file.
1706
1707         New module 'log10f-ieee'.
1708         * modules/log10f-ieee: New file.
1709
1710 2012-04-01  Bruno Haible  <bruno@clisp.org>
1711
1712         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
1713         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
1714         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
1715         workaround.
1716         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
1717         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
1718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
1719         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
1720         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
1721         (Depends-on): Update conditions.
1722         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
1723         IRIX 6.5, OSF/1 5.1 problems.
1724
1725 2012-04-01  Bruno Haible  <bruno@clisp.org>
1726
1727         log10f: Work around OSF/1 5.1 bug.
1728         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
1729         * lib/log10f.c (log10f): If logf exists, use it and provide just the
1730         workaround.
1731         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
1732         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
1733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
1734         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
1735         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
1736         (Depends-on): Update conditions.
1737         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
1738
1739 2012-04-01  Bruno Haible  <bruno@clisp.org>
1740
1741         log10: Work around OSF/1 5.1 bug.
1742         * lib/math.in.h (log10): New declaration.
1743         * lib/log10.c: New file.
1744         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
1745         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
1746         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
1747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
1748         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
1749         * modules/log10 (Files): Add lib/log10.c.
1750         (Depends-on): Add math.
1751         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
1752         * tests/test-math-c++.cc: Check the declaration of log10.
1753         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
1754
1755 2012-03-31  Bruno Haible  <bruno@clisp.org>
1756
1757         log10l tests: More tests.
1758         * modules/log10l-tests (Files): Add tests/test-log10l.h,
1759         tests/minus-zero.h, tests/randoml.c.
1760         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
1761         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
1762         (main): Invoke test_function.
1763
1764         log10f tests: More tests.
1765         * modules/log10f-tests (Files): Add tests/test-log10.h,
1766         tests/minus-zero.h, tests/randomf.c.
1767         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1768         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1769         (main): Invoke test_function.
1770
1771         log10 tests: More tests.
1772         * tests/test-log10.h: New file.
1773         * modules/log10-tests (Files): Add tests/test-log10.h,
1774         tests/minus-zero.h, tests/randomd.c.
1775         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1776         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1777         (main): Invoke test_function.
1778
1779 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1780
1781         fflush: Fix syntax error.
1782         * lib/fflush.c: Include unused-parameter.h, needed for
1783         _GL_UNUSED_PARAMETER.
1784         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1785
1786 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1787
1788         regex: pacify GCC when compiling GRUB
1789         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1790         a diagnostic.  Reported by Vladimir Serbinenko in
1791         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1792
1793 2012-03-29  Eric Blake  <eblake@redhat.com>
1794
1795         stdio: don't assume gets any more
1796         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1797         support.
1798         * modules/stdio (Makefile.am): Likewise.
1799         * lib/stdio-read.c (gets): Likewise.
1800         * tests/test-stdio-c++.cc: Likewise.
1801         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1802         * lib/stdio.in.h (gets): Make warning occur in more places.
1803         * doc/posix-functions/gets.texi (gets): Update documentation.
1804         Reported by Christer Solskogen.
1805
1806         maint.mk: fix syntax checks without exclusions
1807         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1808         Reported by Daniel P. Berrange.
1809
1810         strerror_r: avoid compiler warning
1811         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1812         level.
1813
1814         fflush: avoid compiler warning
1815         * lib/fflush.c (update_fpos_cache): Mark variables that are
1816         potentially unused.
1817
1818 2012-03-25  Bruno Haible  <bruno@clisp.org>
1819
1820         Tests for module 'localeconv'.
1821         * modules/localeconv-tests: New file.
1822         * tests/test-localeconv.c: New file.
1823
1824         New module 'localeconv'.
1825         * lib/locale.in.h (localeconv): New declaration.
1826         * lib/localeconv.c: New file.
1827         * m4/localeconv.m4: New file.
1828         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1829         REPLACE_LOCALECONV.
1830         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1831         REPLACE_LOCALECONV.
1832         * modules/localeconv: New file.
1833         * modules/nl_langinfo (Depends-on): Add localeconv.
1834         * modules/human (Depends-on): Likewise.
1835         * doc/posix-functions/localeconv.texi: Mention the new module.
1836
1837 2012-03-25  Bruno Haible  <bruno@clisp.org>
1838
1839         locale: Provide a complete 'struct lconv'.
1840         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1841         'struct lconv' does not contain int_p_cs_precedes.
1842         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1843         * doc/posix-headers/locale.texi: Update.
1844
1845         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1846         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1847         * doc/posix-headers/locale.texi: Update.
1848
1849         locale: Provide a working 'struct lconv'.
1850         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1851         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1852         'struct lconv' does not even contain decimal_point.
1853         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1854         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1855         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1856         * doc/posix-headers/locale.texi: Mention the problems with
1857         'struct lconv'.
1858         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1859
1860 2012-03-24  Bruno Haible  <bruno@clisp.org>
1861
1862         Enable common subexpression optimization in GCC.
1863         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1864         macros.
1865         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1866         GCC attribute 'const'.
1867         (uc_locale_language): Declare with GCC attribute 'pure'.
1868         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1869         with GCC attribute 'const'.
1870         * lib/unictype.in.h (uc_is_general_category_withtable,
1871         uc_combining_class, uc_combining_class_name,
1872         uc_combining_class_long_name, uc_bidi_class_name,
1873         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1874         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1875         uc_decimal_value, uc_digit_value, uc_numeric_value,
1876         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1877         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1878         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1879         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1880         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1881         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1882         Declare with GCC attribute 'const'.
1883         (uc_general_category_name, uc_general_category_long_name,
1884         uc_general_category_byname, uc_general_category,
1885         uc_is_general_category, uc_combining_class_byname,
1886         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1887         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1888         Declare with GCC attribute 'pure'.
1889         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1890         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1891         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1892         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1893         with GCC attribute 'pure'.
1894         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1895         'const'.
1896         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1897         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1898         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1899         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1900         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1901         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1902         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1903         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1904         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1905         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1906         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1907         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1908         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1909         GCC attribute 'pure'.
1910         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1911         'const'.
1912         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1913         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1914         u32_strwidth): Declare with GCC attribute 'pure'.
1915
1916         Enable common subexpression optimization in GCC.
1917         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1918         (alphasort): Declare with GCC attribute 'pure'.
1919         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1920         (atoll): Declare with GCC attribute 'pure'.
1921         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1922         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1923         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1924         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1925         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1926         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1927         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1928
1929 2012-03-24  Bruno Haible  <bruno@clisp.org>
1930
1931         gnulib-tool: Avoid unintended error output from 'cmp'.
1932         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1933         "cmp -s", not "cmp > /dev/null".
1934
1935 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1936
1937         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1938
1939         It's not just Automake versions < 1.9b that creates an empty
1940         pkgdatadir at installation time if pkgdata_DATA is specified
1941         to empty; modern automake versions do this as well, at least
1942         until automake 1.11.4 (not yet released at the moment of writing,
1943         but soon to appear).  That behaviour was generally considered a
1944         feature rather than a bug, at least until this discussion:
1945         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1946
1947         See also automake bugs #10997 and #11030.
1948
1949         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1950         reference to relevant automake bug numbers.
1951         (func_emit_tests_Makefile_am): Likewise.
1952
1953 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1954
1955         announce-gen: use Digest::SHA when possible
1956         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1957         back to Digest::SHA1 if necessary.
1958
1959 2012-03-20  Jim Meyering  <meyering@redhat.com>
1960
1961         tests: avoid gcc warnings about argv vs. const initializers
1962         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1963         warnings about discarding 'const' qualifier from pointer target type.
1964         * tests/test-posix_spawn2.c (main): Likewise.
1965
1966 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1967
1968         README-release: simplify slightly
1969         * top/README-release: Run "git checkout master" only once.
1970
1971 2012-03-15  Mark Wielaard  <mark@klomp.org>
1972
1973         git-merge-changelog: add specific example on how to use with hg.
1974         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1975
1976 2012-03-18  Mark Wielaard  <mark@klomp.org>
1977
1978         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1979
1980 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1981
1982         git-version-gen: don't let "prefix" envvar cause trouble
1983         * build-aux/git-version-gen (prefix): Initialize properly,
1984         so as not to use a value specified via the environment.
1985         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1986
1987 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1988
1989         regex: diagnose too-large repeat counts in EREs
1990         Previously, the code did not diagnose the too-large repeat count
1991         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1992         as if it were 'b\{1000000000}', which is unexpected.
1993         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1994         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1995         is a reasonable one for this problem.  Another option would be to
1996         create a new REG_OVERFLOW error for repeat counts that are too large.
1997         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1998         count is too large, so that the caller can distinguish the two cases.
1999         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2000         "Too large" return code, and that repeat counts are one example of this.
2001
2002 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2003
2004         doc: some glibc x32 integer width issues
2005         * doc/posix-headers/sys_types.texi (sys/types.h):
2006         * doc/posix-headers/time.texi (time.h):
2007         Mention that glibc x32 does not conform to POSIX in a couple of
2008         areas related to integer widths.
2009
2010 2012-03-15  Bruno Haible  <bruno@clisp.org>
2011
2012         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2013         * lib/fma.c (VOLATILE): New macro.
2014         (FUNC): Use it to work around a GCC compiler bug.
2015
2016 2012-03-13  Bruno Haible  <bruno@clisp.org>
2017
2018         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2019         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2020         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2021         REPLACE_HYPOTL to 1.
2022         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2023
2024 2012-03-13  Bruno Haible  <bruno@clisp.org>
2025
2026         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2027         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2028         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2029         REPLACE_REMAINDERL to 1.
2030         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2031         bug.
2032
2033 2012-03-13  Bruno Haible  <bruno@clisp.org>
2034
2035         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2036         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2037         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2038         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2039         too big rounding errors.
2040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2041         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2042         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2043         (Depends-on): Update conditions.
2044         * tests/test-sqrtl.c (my_ldexpl): New function.
2045         (main): Add test of a particular value.
2046         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2047
2048 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2049
2050         doc: Update timer_* platform portability notes.
2051         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2052         that always return ENOSYS.
2053         * doc/posix-functions/timer_delete.texi: Likewise.
2054         * doc/posix-functions/timer_gettime.texi: Likewise.
2055         * doc/posix-functions/timer_settime.texi: Likewise.
2056
2057 2012-03-13  Bruno Haible  <bruno@clisp.org>
2058
2059         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2060         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2061         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2062         REPLACE_CBRTL to 1.
2063         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2064
2065 2012-03-13  Bruno Haible  <bruno@clisp.org>
2066
2067         remainderl: Avoid compilation error on AIX >= 5.2.
2068         * lib/math.in.h (remainderl): Undefine macro from the system header.
2069
2070 2012-03-13  Bruno Haible  <bruno@clisp.org>
2071
2072         Avoid compilation errors with MSVC option -fp:strict.
2073         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2074         * lib/cbrtf.c: Likewise.
2075         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2076
2077 2012-03-12  Bruno Haible  <bruno@clisp.org>
2078
2079         uninorm: Don't crash in out-of-memory conditions.
2080         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2081         gracefully.
2082         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2083         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2084
2085 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2086
2087         quote: fix syntax-check
2088         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2089         also exports quote_quoting_options.
2090
2091 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2092
2093         Collapse list of copyright years to ranges.  See
2094         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2095         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2096         build-aux/csharpexec.sh.in, build-aux/gnupload,
2097         build-aux/install-reloc, build-aux/javacomp.sh.in,
2098         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2099         build-aux/move-if-change, build-aux/reloc-ldflags,
2100         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2101
2102 2012-03-11  Bruno Haible  <bruno@clisp.org>
2103
2104         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2105         * m4/log2f-ieee.m4: New file.
2106         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2107         whether log2f works with a minus zero argument. Replace it if not.
2108         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2109         (Depends-on): Add log2-ieee.
2110         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2111         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2112
2113         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2114         * m4/log2-ieee.m4: New file.
2115         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2116         whether log2 works with a minus zero argument. Replace it if not.
2117         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2118         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2119         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2120
2121         Tests for module 'log2l-ieee'.
2122         * modules/log2l-ieee-tests: New file.
2123         * tests/test-log2l-ieee.c: New file.
2124
2125         New module 'log2l-ieee'.
2126         * modules/log2l-ieee: New file.
2127
2128         Tests for module 'log2-ieee'.
2129         * modules/log2-ieee-tests: New file.
2130         * tests/test-log2-ieee.c: New file.
2131
2132         New module 'log2-ieee'.
2133         * modules/log2-ieee: New file.
2134
2135         Tests for module 'log2f-ieee'.
2136         * modules/log2f-ieee-tests: New file.
2137         * tests/test-log2f-ieee.c: New file.
2138         * tests/test-log2-ieee.h: New file.
2139
2140         New module 'log2f-ieee'.
2141         * modules/log2f-ieee: New file.
2142
2143 2012-03-11  Bruno Haible  <bruno@clisp.org>
2144
2145         Tests for module 'log2l'.
2146         * modules/log2l-tests: New file.
2147         * tests/test-log2l.c: New file.
2148
2149         New module 'log2l'.
2150         * lib/math.in.h (log2l): New declaration.
2151         * lib/log2l.c: New file.
2152         * m4/log2l.m4: New file.
2153         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2154         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2155         REPLACE_LOG2L.
2156         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2157         REPLACE_LOG2L.
2158         * modules/log2l: New file.
2159         * tests/test-math-c++.cc: Check the declaration of log2l.
2160         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2161         and OSF/1 problems.
2162
2163 2012-03-11  Bruno Haible  <bruno@clisp.org>
2164
2165         Tests for module 'log2f'.
2166         * modules/log2f-tests: New file.
2167         * tests/test-log2f.c: New file.
2168
2169         New module 'log2f'.
2170         * lib/math.in.h (log2f): New declaration.
2171         * lib/log2f.c: New file.
2172         * m4/log2f.m4: New file.
2173         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2175         REPLACE_LOG2F.
2176         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2177         REPLACE_LOG2F.
2178         * modules/log2f: New file.
2179         * tests/test-math-c++.cc: Check the declaration of log2f.
2180         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2181         and OSF/1 and Cygwin problems.
2182
2183 2012-03-11  Bruno Haible  <bruno@clisp.org>
2184
2185         Tests for module 'log2'.
2186         * modules/log2-tests: New file.
2187         * tests/test-log2.c: New file.
2188         * tests/test-log2.h: New file.
2189
2190         New module 'log2'.
2191         * lib/math.in.h (log2): New declaration.
2192         * lib/log2.c: New file.
2193         * m4/log2.m4: New file.
2194         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2196         REPLACE_LOG2.
2197         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2198         REPLACE_LOG2.
2199         * modules/log2: New file.
2200         * tests/test-math-c++.cc: Check the declaration of log2.
2201         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2202         and OSF/1 and Cygwin problems.
2203
2204 2012-03-11  Bruno Haible  <bruno@clisp.org>
2205
2206         exp2* tests: More tests.
2207         * tests/test-exp2.h (test_function): Test all integral arguments that
2208         don't need to overflow or denormalized numbers.
2209         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2210         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2211         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2212
2213 2012-03-10  Bruno Haible  <bruno@clisp.org>
2214
2215         log1pl-ieee: Work around test failure on AIX 7.1.
2216         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2217
2218         log1pl-ieee: Work around test failure on IRIX 6.5.
2219         * m4/log1pl-ieee.m4: New file.
2220         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2221         test whether log1pl works with a minus zero argument. Replace it if
2222         not.
2223         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2225         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2226         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2227         (Depends-on): Update conditions.
2228         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2229         m4/signbit.m4.
2230         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2231         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2232
2233         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
2234         * m4/log1pf-ieee.m4: New file.
2235         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
2236         test whether log1pf works with a minus zero argument. Replace it if
2237         not.
2238         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
2239         m4/signbit.m4.
2240         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
2241         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
2242
2243         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
2244         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
2245         (configure.ac): Require gl_FUNC_LOG1PF.
2246
2247         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
2248         * m4/log1p-ieee.m4: New file.
2249         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
2250         whether log1p works with a minus zero argument. Replace it if not.
2251         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
2252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
2253         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
2254         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
2255         (Depends-on): Update conditions.
2256         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2257         m4/signbit.m4.
2258         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2259         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2260
2261         Tests for module 'log1pl-ieee'.
2262         * modules/log1pl-ieee-tests: New file.
2263         * tests/test-log1pl-ieee.c: New file.
2264
2265         New module 'log1pl-ieee'.
2266         * modules/log1pl-ieee: New file.
2267
2268         Tests for module 'log1p-ieee'.
2269         * modules/log1p-ieee-tests: New file.
2270         * tests/test-log1p-ieee.c: New file.
2271
2272         New module 'log1p-ieee'.
2273         * modules/log1p-ieee: New file.
2274
2275         Tests for module 'log1pf-ieee'.
2276         * modules/log1pf-ieee-tests: New file.
2277         * tests/test-log1pf-ieee.c: New file.
2278         * tests/test-log1p-ieee.h: New file.
2279
2280         New module 'log1pf-ieee'.
2281         * modules/log1pf-ieee: New file.
2282
2283 2012-03-10  Bruno Haible  <bruno@clisp.org>
2284
2285         Tests for module 'log1pl'.
2286         * modules/log1pl-tests: New file.
2287         * tests/test-log1pl.c: New file.
2288
2289         New module 'log1pl'.
2290         * lib/math.in.h (log1pl): New declaration.
2291         * lib/log1pl.c: New file.
2292         * m4/log1pl.m4: New file.
2293         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2295         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2296         * modules/log1pl: New file.
2297         * tests/test-math-c++.cc: Check the declaration of log1pl.
2298         * doc/posix-functions/log1pl.texi: Mention the new module.
2299
2300 2012-03-10  Bruno Haible  <bruno@clisp.org>
2301
2302         Tests for module 'log1pf'.
2303         * modules/log1pf-tests: New file.
2304         * tests/test-log1pf.c: New file.
2305
2306         New module 'log1pf'.
2307         * lib/math.in.h (log1pf): New declaration.
2308         * lib/log1pf.c: New file.
2309         * m4/log1pf.m4: New file.
2310         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2312         REPLACE_LOG1PF.
2313         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2314         REPLACE_LOG1PF.
2315         * modules/log1pf: New file.
2316         * tests/test-math-c++.cc: Check the declaration of log1pf.
2317         * doc/posix-functions/log1pf.texi: Mention the new module.
2318
2319 2012-03-10  Bruno Haible  <bruno@clisp.org>
2320
2321         log1p tests: More tests.
2322         * tests/test-log1p.h: New file.
2323         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2324         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2325         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2326         (main): Invoke test_function.
2327
2328         log1p: Provide replacement for Minix and MSVC.
2329         * lib/math.in.h (log1p): New declaration.
2330         * lib/log1p.c: New file.
2331         * m4/log1p.m4: New file.
2332         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2334         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2335         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2336         (Depends-on): Add math, isnand, log, round.
2337         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2338         HAVE_LOG1P is 0.
2339         * tests/test-math-c++.cc: Check the declaration of log1p.
2340         * doc/posix-functions/log1p.texi: Mention the replacement.
2341
2342 2012-03-10  Bruno Haible  <bruno@clisp.org>
2343
2344         math tests: Small simplification.
2345         * tests/test-exp.h (test_function): Use the same err_bound for
2346         'double' on platforms with sizeof (long double) == sizeof (double)
2347         than on platforms with sizeof (long double) > sizeof (double).
2348         * tests/test-exp2.h (test_function): Likewise.
2349         * tests/test-expm1.h (test_function): Likewise.
2350         * tests/test-log.h (test_function): Likewise.
2351
2352 2012-03-10  Bruno Haible  <bruno@clisp.org>
2353
2354         Fix some comments.
2355         * lib/expl.c: Fix an ambiguous comment.
2356         * lib/expm1.c: Likewise.
2357         * lib/expm1l.c: Likewise.
2358         * lib/exp2.c: Likewise.
2359         * lib/exp2l.c: Likewise.
2360
2361 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2362
2363         regex: allow inclusion of <regex.h> before <limits.h>
2364         Without this patch, portable programs had to include <limits.h> before
2365         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2366         I ran into this problem with a test version of GNU grep on Solaris 8.
2367         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2368         This is done conditionally so that this change can be merged
2369         back to glibc.
2370         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2371         using the included regex.
2372
2373         fts: depend on fdopendir
2374         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2375         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2376         problem was introduced when fdopendir was split out.
2377
2378 2012-03-10  Bruno Haible  <bruno@clisp.org>
2379
2380         Remove unused variables.
2381         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2382         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2383
2384 2012-03-10  Bruno Haible  <bruno@clisp.org>
2385
2386         isnanf-nolibm: Fix last commit.
2387         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2388
2389         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2390         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2391
2392 2012-03-10  Bruno Haible  <bruno@clisp.org>
2393
2394         logf-ieee: Work around test failure on NetBSD 5.1.
2395         * m4/logf-ieee.m4: New file.
2396         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2397         whether logf works with a negative argument. Replace it if not.
2398         * lib/logf.c (logf): For negative arguments, return NaN.
2399         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2400         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2401         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2402
2403         logf-ieee: Work around test failure on Solaris 9.
2404         * modules/logf-ieee (Depends-on): Add log-ieee.
2405         (configure.ac): Require gl_FUNC_LOGF.
2406
2407         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2408         * m4/log-ieee.m4: New file.
2409         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2410         log works with a negative argument. Replace it if not.
2411         * lib/log.c (log): For negative arguments, return NaN.
2412         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2413         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2414         * doc/posix-functions/log.texi: Mention the log-ieee module.
2415
2416         Tests for module 'logl-ieee'.
2417         * modules/logl-ieee-tests: New file.
2418         * tests/test-logl-ieee.c: New file.
2419
2420         New module 'logl-ieee'.
2421         * modules/logl-ieee: New file.
2422
2423         Tests for module 'log-ieee'.
2424         * modules/log-ieee-tests: New file.
2425         * tests/test-log-ieee.c: New file.
2426
2427         New module 'log-ieee'.
2428         * modules/log-ieee: New file.
2429
2430         Tests for module 'logf-ieee'.
2431         * modules/logf-ieee-tests: New file.
2432         * tests/test-logf-ieee.c: New file.
2433         * tests/test-log-ieee.h: New file.
2434
2435         New module 'logf-ieee'.
2436         * modules/logf-ieee: New file.
2437
2438 2012-03-10  Bruno Haible  <bruno@clisp.org>
2439
2440         log: Fix bug introduced on 2012-03-09.
2441         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2442
2443 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2444
2445         timer-time: link explicitly with pthreads on glibc
2446         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2447         to support static linking, when newer glibc is
2448         detected, as that contains pthread emulation of
2449         POSIX timer functions where required.
2450         * modules/timer-time: Depend on threadlib to
2451         pull in the appropriate library to link.
2452
2453 2012-03-10  Bruno Haible  <bruno@clisp.org>
2454
2455         log* tests: More tests.
2456         * tests/test-log.h: New file.
2457         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2458         (main): Invoke test_function.
2459         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2460         (main): Invoke test_function.
2461         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2462         (main): Invoke test_function.
2463         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2464         tests/randomd.c.
2465         (Makefile.am): Add randomd.c to test_log_SOURCES.
2466         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2467         tests/randomf.c.
2468         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2469         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2470         tests/randoml.c.
2471         (Depends-on): Add 'float'.
2472         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2473
2474 2012-03-09  Bruno Haible  <bruno@clisp.org>
2475
2476         logl: Work around OSF/1 5.1 bug.
2477         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2478         * lib/logl.c (logl): If logl exists, use it and provide just the
2479         workaround.
2480         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2481         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2483         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2484         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2485         (Depends-on): Update conditions.
2486         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2487
2488 2012-03-09  Bruno Haible  <bruno@clisp.org>
2489
2490         logf: Work around OSF/1 5.1 bug.
2491         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2492         * lib/logf.c (logf): If logf exists, use it and provide just the
2493         workaround.
2494         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2495         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2497         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2498         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2499         (Depends-on): Update conditions.
2500         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2501
2502 2012-03-09  Bruno Haible  <bruno@clisp.org>
2503
2504         log: Work around OSF/1 5.1 bug.
2505         * lib/math.in.h (log): New declaration.
2506         * lib/log.c: New file.
2507         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2508         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2509         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2511         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2512         * modules/log (Files): Add lib/log.c.
2513         (Depends-on): Add math.
2514         (configure.ac): If REPLACE_LOG is 1, compile an override.
2515         * tests/test-math-c++.cc: Check the declaration of log.
2516         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2517
2518 2012-03-09  Jim Meyering  <meyering@redhat.com>
2519
2520         readtokens.c: adjust wording in a comment
2521         * lib/readtokens.c: Insert omitted "that" in a comment.
2522
2523 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2524
2525         modechange: add notations +40, 00440, etc.
2526         * lib/modechange.c (mode_compile): Support new notations
2527         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2528
2529 2012-03-08  Bruno Haible  <bruno@clisp.org>
2530
2531         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2532         * m4/exp2l-ieee.m4: New file.
2533         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2534         test whether exp2l works with a NaN argument and with a negative
2535         infinity argument. Replace it if not.
2536         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2537         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2538         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2539         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2540         (Depends-on): Update conditions.
2541         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2542         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2543         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2544
2545         Tests for module 'exp2l-ieee'.
2546         * modules/exp2l-ieee-tests: New file.
2547         * tests/test-exp2l-ieee.c: New file.
2548
2549         New module 'exp2l-ieee'.
2550         * modules/exp2l-ieee: New file.
2551
2552         Tests for module 'exp2-ieee'.
2553         * modules/exp2-ieee-tests: New file.
2554         * tests/test-exp2-ieee.c: New file.
2555
2556         New module 'exp2-ieee'.
2557         * modules/exp2-ieee: New file.
2558
2559         Tests for module 'exp2f-ieee'.
2560         * modules/exp2f-ieee-tests: New file.
2561         * tests/test-exp2f-ieee.c: New file.
2562         * tests/test-exp2-ieee.h: New file.
2563
2564         New module 'exp2f-ieee'.
2565         * modules/exp2f-ieee: New file.
2566
2567 2012-03-08  Bruno Haible  <bruno@clisp.org>
2568
2569         Tests for module 'exp2l'.
2570         * modules/exp2l-tests: New file.
2571         * tests/test-exp2l.c: New file.
2572
2573         New module 'exp2l'.
2574         * lib/math.in.h (exp2l): New declaration.
2575         * lib/exp2l.c: New file.
2576         * lib/expl-table.c: New file, extracted from lib/expl.c.
2577         * lib/expl.c (gl_expl_table): New declaration.
2578         (expl): Remove expl_table. Update reference.
2579         * m4/exp2l.m4: New file.
2580         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
2581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
2582         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
2583         * modules/exp2l: New file.
2584         * modules/expl (Files): Add lib/expl-table.c.
2585         (configure.ac): Compile also expl-table.c.
2586         * tests/test-math-c++.cc: Check the declaration of exp2l.
2587         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
2588         problem.
2589
2590 2012-03-08  Bruno Haible  <bruno@clisp.org>
2591
2592         Tests for module 'exp2f'.
2593         * modules/exp2f-tests: New file.
2594         * tests/test-exp2f.c: New file.
2595
2596         New module 'exp2f'.
2597         * lib/math.in.h (exp2f): New declaration.
2598         * lib/exp2f.c: New file.
2599         * m4/exp2f.m4: New file.
2600         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
2601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
2602         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
2603         * modules/exp2f: New file.
2604         * tests/test-math-c++.cc: Check the declaration of exp2f.
2605         * doc/posix-functions/exp2f.texi: Mention the new module and the
2606         IRIX problem.
2607
2608 2012-03-08  Bruno Haible  <bruno@clisp.org>
2609
2610         Tests for module 'exp2'.
2611         * modules/exp2-tests: New file.
2612         * tests/test-exp2.c: New file.
2613         * tests/test-exp2.h: New file.
2614
2615         New module 'exp2'.
2616         * lib/math.in.h (exp2): New declaration.
2617         * lib/exp2.c: New file.
2618         * m4/exp2.m4: New file.
2619         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
2620         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
2621         REPLACE_EXP2.
2622         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
2623         REPLACE_EXP2.
2624         * modules/exp2: New file.
2625         * tests/test-math-c++.cc: Check the declaration of exp2.
2626         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
2627         and OpenBSD problems.
2628
2629 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2630
2631         savedir: fix comment typo
2632         * lib/savedir.c (savedirstream): Fix typo in comment.
2633
2634 2012-03-08  Bruno Haible  <bruno@clisp.org>
2635
2636         test-readtokens.c: use const; remove unwarranted cast
2637         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
2638
2639 2012-03-08  Bruno Haible  <bruno@clisp.org>
2640
2641         fmal: Avoid compilation error on AIX.
2642         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
2643         AIX 5.2..7.1.
2644
2645 2012-03-08  Bruno Haible  <bruno@clisp.org>
2646
2647         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
2648         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
2649         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
2650         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
2651         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
2652         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
2653         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
2654
2655 2012-03-08  Bruno Haible  <bruno@clisp.org>
2656
2657         remainderf: Override buggy system function on IRIX 6.5.
2658         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
2659         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
2660         when it exists.
2661         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
2662
2663 2012-03-08  Jim Meyering  <meyering@redhat.com>
2664
2665         test-readtokens.c: avoid const-related compilation warnings
2666         * tests/test-readtokens.c: Avoid const-related compilation warnings.
2667
2668 2012-03-07  Jim Meyering  <meyering@redhat.com>
2669             Bruno Haible  <bruno@clisp.org>
2670
2671         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
2672         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
2673         tests/randomd.c.
2674         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
2675         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
2676         tests/randoml.c.
2677         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
2678
2679 2012-03-07  Bruno Haible  <bruno@clisp.org>
2680
2681         expm1l: Avoid compilation error on AIX.
2682         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
2683         AIX 5.2..7.1.
2684
2685 2012-03-07  Bruno Haible  <bruno@clisp.org>
2686
2687         expm1l: Don't override undeclared system function on IRIX 6.5.
2688         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
2689         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
2690         it exists. Set HAVE_DECL_EXPM1L.
2691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
2692         HAVE_EXPM1L.
2693         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
2694         HAVE_EXPM1L.
2695         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
2696
2697 2012-03-07  Bruno Haible  <bruno@clisp.org>
2698
2699         remainderl: Don't override undeclared system function on IRIX 6.5.
2700         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
2701         HAVE_REMAINDERL.
2702         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
2703         declared when it exists. Set HAVE_DECL_REMAINDERL.
2704         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
2705         not HAVE_REMAINDERL.
2706         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
2707         HAVE_REMAINDERL.
2708         * doc/posix-functions/remainderl.texi: Mention missing declaration
2709         problem.
2710
2711 2012-03-07  Bruno Haible  <bruno@clisp.org>
2712
2713         rintf: Don't override undeclared system function on IRIX 6.5.
2714         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
2715         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
2716         exists. Set HAVE_DECL_RINTF.
2717         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
2718         HAVE_RINTF.
2719         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
2720         HAVE_RINTF.
2721         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
2722
2723 2012-03-07  Bruno Haible  <bruno@clisp.org>
2724
2725         roundl: Avoid compilation error on AIX.
2726         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
2727         AIX 5.2..7.1.
2728
2729 2012-03-07  Bruno Haible  <bruno@clisp.org>
2730
2731         roundl: Don't override undeclared system function on IRIX 6.5.
2732         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
2733         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
2734         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2735         * modules/roundl (configure.ac): For replacement code, test
2736         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2737         (Depends-on): Update conditions.
2738         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
2739
2740 2012-03-07  Bruno Haible  <bruno@clisp.org>
2741
2742         roundf: Don't override undeclared system function on IRIX 6.5.
2743         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
2744         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
2745         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2746         * modules/roundf (configure.ac): For replacement code, test
2747         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2748         (Depends-on): Update conditions.
2749         * modules/roundf-ieee (Depends-on): Update conditions.
2750         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
2751
2752 2012-03-07  Bruno Haible  <bruno@clisp.org>
2753
2754         round: Don't override undeclared system function on IRIX 6.5.
2755         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
2756         argument.
2757         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
2758         also when it is not declared. Set HAVE_ROUND. For replacement code,
2759         test HAVE_ROUND, not HAVE_DECL_ROUND.
2760         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
2761         not HAVE_DECL_ROUND.
2762         (Depends-on): Update conditions.
2763         * modules/round-ieee (Depends-on): Update conditions.
2764         * doc/posix-functions/round.texi: Mention the IRIX problem.
2765
2766 2012-03-07  Bruno Haible  <bruno@clisp.org>
2767
2768         copysignf: Don't override undeclared system function on IRIX 6.5.
2769         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2770         HAVE_COPYSIGNF.
2771         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2772         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2774         not HAVE_COPYSIGNF.
2775         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2776         HAVE_COPYSIGNF.
2777         * doc/posix-functions/copysignf.texi: Mention missing declaration
2778         problem.
2779
2780 2012-03-07  Jim Meyering  <meyering@redhat.com>
2781
2782         readtokens: add tests
2783         * modules/readtokens-tests: New file.
2784         * tests/test-readtokens.c: New file.
2785
2786 2012-03-07  Jim Meyering  <meyering@redhat.com>
2787
2788         quotearg: the module must now include quote.h
2789         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2790         So must the module.
2791         * modules/quotearg (Files): Add quote.h.
2792
2793 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2794
2795         readtokens: avoid core dumps with unusual calling patterns
2796         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2797         * lib/readtokens.c: Include limits.h.
2798         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2799         (readtoken): Don't cache the delimiters; the cache code was buggy
2800         if !delim && saved_delim, or if the new n_delim differs from the old.
2801         Also, it wasn't thread-safe.
2802
2803 2012-03-07  Bruno Haible  <bruno@clisp.org>
2804
2805         quote: Adhere to common module description layout.
2806         * modules/quote (Makefile.am): Add back empty section.
2807
2808 2012-03-06  Akim Demaille  <demaille@gostai.com>
2809
2810         quote: fuse into quotearg
2811         This patch is made for the benefit of Bison.
2812         quote does not leave the choice of the quoting style to the user.
2813         quoting_style provides poor customizability, yet quoting_options,
2814         which is very rich, is hidden inside quotearg.c.  So in order to
2815         allow quote customization, move its implementation to quotearg.c.
2816         * lib/quote.c: Remove.
2817         * modules/quote: Adjust.
2818         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2819         warning: provide all the members of literal structs.
2820         (quote_quoting_options): New.
2821         (quote, quote_n): Import implementation from quote.c.
2822         * lib/quote.h: Import the comments from quote.c.
2823         (quote_quoting_options): New.
2824
2825 2012-03-06  Bruno Haible  <bruno@clisp.org>
2826
2827         Tests for module 'expm1l-ieee'.
2828         * modules/expm1l-ieee-tests: New file.
2829         * tests/test-expm1l-ieee.c: New file.
2830
2831         New module 'expm1l-ieee'.
2832         * modules/expm1l-ieee: New file.
2833
2834         Tests for module 'expm1f-ieee'.
2835         * modules/expm1f-ieee-tests: New file.
2836         * tests/test-expm1f-ieee.c: New file.
2837
2838         New module 'expm1f-ieee'.
2839         * modules/expm1f-ieee: New file.
2840
2841         Tests for module 'expm1-ieee'.
2842         * modules/expm1-ieee-tests: New file.
2843         * tests/test-expm1-ieee.c: New file.
2844         * tests/test-expm1-ieee.h: New file.
2845
2846         New module 'expm1-ieee'.
2847         * modules/expm1-ieee: New file.
2848         * m4/expm1-ieee.m4: New file.
2849         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2850         whether expm1 works with a minus zero argument. Replace it if not.
2851         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2853         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2854         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2855         (Depends-on): Update conditions.
2856         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2857         AIX problem.
2858
2859 2012-03-06  Bruno Haible  <bruno@clisp.org>
2860
2861         Work around expm1f bug on IRIX 6.5.
2862         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2863         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2864         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2865         not work.
2866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2867         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2868         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2869         (Depends-on): Update conditions.
2870         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2871
2872 2012-03-06  Bruno Haible  <bruno@clisp.org>
2873
2874         Tests for module 'expm1l'.
2875         * modules/expm1l-tests: New file.
2876         * tests/test-expm1l.c: New file.
2877
2878         New module 'expm1l'.
2879         * lib/math.in.h (expm1l): New declaration.
2880         * lib/expm1l.c: New file.
2881         * m4/expm1l.m4: New file.
2882         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2883         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2884         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2885         * modules/expm1l: New file.
2886         * tests/test-math-c++.cc: Check the declaration of expm1l.
2887         * doc/posix-functions/expm1l.texi: Mention the new module.
2888
2889 2012-03-06  Bruno Haible  <bruno@clisp.org>
2890
2891         Tests for module 'expm1f'.
2892         * modules/expm1f-tests: New file.
2893         * tests/test-expm1f.c: New file.
2894
2895         New module 'expm1f'.
2896         * lib/math.in.h (expm1f): New declaration.
2897         * lib/expm1f.c: New file.
2898         * m4/expm1f.m4: New file.
2899         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2900         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2901         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2902         * modules/expm1f: New file.
2903         * tests/test-math-c++.cc: Check the declaration of expm1f.
2904         * doc/posix-functions/expm1f.texi: Mention the new module.
2905
2906 2012-03-06  Bruno Haible  <bruno@clisp.org>
2907
2908         Tests for module 'expm1'.
2909         * modules/expm1-tests: New file.
2910         * tests/test-expm1.c: New file.
2911         * tests/test-expm1.h: New file.
2912
2913         New module 'expm1'.
2914         * lib/math.in.h (expm1): New declaration.
2915         * lib/expm1.c: New file.
2916         * m4/expm1.m4: New file.
2917         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2918         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2919         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2920         * modules/expm1: New file.
2921         * tests/test-math-c++.cc: Check the declaration of expm1.
2922         * doc/posix-functions/expm1.texi: Mention the new module.
2923
2924 2012-03-06  Bruno Haible  <bruno@clisp.org>
2925
2926         math: Ensure declarations of math functions.
2927         * modules/acosf (Depends-on): Add 'extensions'.
2928         * modules/asinf (Depends-on): Likewise.
2929         * modules/atan2f (Depends-on): Likewise.
2930         * modules/atanf (Depends-on): Likewise.
2931         * modules/cbrt (Depends-on): Likewise.
2932         * modules/cbrtf (Depends-on): Likewise.
2933         * modules/cbrtl (Depends-on): Likewise.
2934         * modules/copysignf (Depends-on): Likewise.
2935         * modules/copysignl (Depends-on): Likewise.
2936         * modules/cosf (Depends-on): Likewise.
2937         * modules/coshf (Depends-on): Likewise.
2938         * modules/expf (Depends-on): Likewise.
2939         * modules/fabsf (Depends-on): Likewise.
2940         * modules/fabsl (Depends-on): Likewise.
2941         * modules/fmaf (Depends-on): Likewise.
2942         * modules/fmal (Depends-on): Likewise.
2943         * modules/fmodf (Depends-on): Likewise.
2944         * modules/fmodl (Depends-on): Likewise.
2945         * modules/frexpf (Depends-on): Likewise.
2946         * modules/frexpl (Depends-on): Likewise.
2947         * modules/hypot (Depends-on): Likewise.
2948         * modules/hypotf (Depends-on): Likewise.
2949         * modules/hypotl (Depends-on): Likewise.
2950         * modules/ldexpf (Depends-on): Likewise.
2951         * modules/ldexpl (Depends-on): Likewise.
2952         * modules/log10f (Depends-on): Likewise.
2953         * modules/log10l (Depends-on): Likewise.
2954         * modules/log1p (Depends-on): Likewise.
2955         * modules/logb (Depends-on): Likewise.
2956         * modules/logf (Depends-on): Likewise.
2957         * modules/modff (Depends-on): Likewise.
2958         * modules/modfl (Depends-on): Likewise.
2959         * modules/powf (Depends-on): Likewise.
2960         * modules/remainderf (Depends-on): Likewise.
2961         * modules/remainderl (Depends-on): Likewise.
2962         * modules/rintf (Depends-on): Likewise.
2963         * modules/rintl (Depends-on): Likewise.
2964         * modules/sinf (Depends-on): Likewise.
2965         * modules/sinhf (Depends-on): Likewise.
2966         * modules/sqrtf (Depends-on): Likewise.
2967         * modules/tanf (Depends-on): Likewise.
2968         * modules/tanhf (Depends-on): Likewise.
2969         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2970         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2971         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2972         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2973         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2974         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2975         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2976         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2977         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2978         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2979         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2980         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2981         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2982         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2983         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2984         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2985         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2986         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2987         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2988         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2989         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2990         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2991         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2992         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2993         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2994         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2995         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2996         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2997         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2998         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2999         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3000         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3001         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3002         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3003         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3004         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3005         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3006         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3007         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3008         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3009         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3010
3011 2012-03-06  Bruno Haible  <bruno@clisp.org>
3012
3013         math: Update module names in warnings.
3014         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3015         tanl): Use specific module name in warn-on-use warning.
3016
3017 2012-03-06  Bruno Haible  <bruno@clisp.org>
3018
3019         expl: Simplify computation.
3020         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3021
3022 2012-03-05  Bruno Haible  <bruno@clisp.org>
3023
3024         exp* tests: More tests.
3025         * tests/test-exp.h: New file.
3026         * tests/test-exp.c: Include <float.h> and test-exp.h.
3027         (main): Invoke test_function.
3028         * tests/test-expf.c: Include <float.h> and test-exp.h.
3029         (main): Invoke test_function.
3030         * tests/test-expl.c: Include <float.h> and test-exp.h.
3031         (main): Invoke test_function.
3032         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3033         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3034         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3035         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3036         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3037         (Depends-on): Add 'float'.
3038         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3039
3040         expl: Fix precision of computed result.
3041         * lib/expl.c: Completely rewritten.
3042         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3043         (Maintainer): Add me.
3044         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3045
3046 2012-03-05  Bruno Haible  <bruno@clisp.org>
3047
3048         cbrt* tests: More tests.
3049         * tests/test-cbrt.h: New file.
3050         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3051         (main): Invoke test_function.
3052         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3053         (main): Invoke test_function.
3054         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3055         (main): Invoke test_function.
3056         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3057         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3058         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3059         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3060         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3061         (Depends-on): Add 'float'.
3062         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3063
3064 2012-03-05  Bruno Haible  <bruno@clisp.org>
3065
3066         hypot* tests: More tests.
3067         * tests/test-hypot.h: New file, partially extracted from
3068         tests/test-hypotl.c.
3069         * tests/test-hypot.c: Include test-hypot.h.
3070         (main): Invoke test_function.
3071         * tests/test-hypotf.c: Include test-hypot.h.
3072         (main): Invoke test_function.
3073         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3074         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3075         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3076         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3077         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3078         tests/randomf.c.
3079         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3080         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3081         tests/randoml.c.
3082         (Depends-on): Add 'fpucw', 'float'.
3083         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3084
3085 2012-03-05  Bruno Haible  <bruno@clisp.org>
3086
3087         fpucw: Doc about FreeBSD.
3088         * lib/fpucw.h: Mention FreeBSD in comments.
3089
3090 2012-03-04  Bruno Haible  <bruno@clisp.org>
3091
3092         sqrt* tests: More tests.
3093         * tests/test-sqrt.h: New file.
3094         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3095         (main): Invoke test_function.
3096         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3097         (main): Invoke test_function.
3098         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3099         (main): Invoke test_function.
3100         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3101         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3102         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3103         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3104         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3105         (Depends-on): Add 'float'.
3106         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3107
3108 2012-03-04  Bruno Haible  <bruno@clisp.org>
3109
3110         remainder* tests: More tests.
3111         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3112         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3113         (main): Invoke test_function.
3114         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3115         (main): Invoke test_function.
3116         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3117         (main): Invoke test_function.
3118         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3119         tests/randomd.c.
3120         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3121         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3122         tests/randomf.c.
3123         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3124         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3125         tests/randoml.c.
3126         (Depends-on): Add 'float'.
3127         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3128
3129 2012-03-04  Bruno Haible  <bruno@clisp.org>
3130
3131         remainder, remainderf, remainderl: Fix computation for large quotients.
3132         * lib/remainder.c: Completely rewritten.
3133         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3134         USE_FLOAT.
3135         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3136         USE_LONG_DOUBLE.
3137         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3138         isnand, isinf. Remove round, fma.
3139         * modules/remainderf (Files): Add lib/remainder.c.
3140         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3141         Remove roundf, fmaf.
3142         * modules/remainderl (Files): Add lib/remainder.c.
3143         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3144         isinf. Remove roundl, fmal.
3145         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3146         REMAINDER_LIBM.
3147         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3148         REMAINDERF_LIBM.
3149         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3150         REMAINDERL_LIBM.
3151
3152 2012-03-04  Bruno Haible  <bruno@clisp.org>
3153
3154         fmod* tests: More tests.
3155         * tests/test-fmod.h (my_ldexp): New function.
3156         (test_function): Reduce amount of random numbers to test. Add tests
3157         of very large quotients x / y.
3158         * tests/test-fmod.c (MAX_EXP): New macro.
3159         * tests/test-fmodf.c (MAX_EXP): Likewise.
3160         * tests/test-fmodl.c (MAX_EXP): Likewise.
3161
3162 2012-03-04  Bruno Haible  <bruno@clisp.org>
3163
3164         fmod, fmodl: Fix computation for large quotients x / y.
3165         * lib/fmod.c: Completely rewritten.
3166         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3167         USE_LONG_DOUBLE.
3168         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3169         isnand. Remove fma.
3170         * modules/fmodl (Files): Add lib/fmod.c.
3171         (Depends-on): Add float, isfinite, signbit, fabsl,
3172         frexpl, ldexpl, isnanl. Remove fma.
3173         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3174         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3175
3176 2012-03-03  Bruno Haible  <bruno@clisp.org>
3177
3178         fmod* tests: More tests.
3179         * tests/test-fmod.h: New file.
3180         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3181         (main): Invoke test_function.
3182         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3183         (main): Invoke test_function.
3184         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3185         (main): Invoke test_function.
3186         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3187         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3188         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3189         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3190         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3191         (Depends-on): Add 'float'.
3192         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3193
3194 2012-03-03  Bruno Haible  <bruno@clisp.org>
3195
3196         rint* tests: More tests.
3197         * tests/test-rint.h: New file, partially extracted from
3198         tests/test-rintl.c.
3199         * tests/test-rint.c: Include test-rint.h.
3200         (main): Invoke test_function.
3201         * tests/test-rintf.c: Include test-rint.h.
3202         (main): Invoke test_function.
3203         * tests/test-rintl.c: Include test-rint.h.
3204         (main): Invoke test_function.
3205         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3206         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3207         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3208         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3209         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3210         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3211
3212 2012-03-03  Bruno Haible  <bruno@clisp.org>
3213
3214         modf* tests: More tests.
3215         * tests/test-modf.h: New file.
3216         * tests/test-modf.c: Include <float.h> and test-modf.h.
3217         (main): Invoke test_function.
3218         * tests/test-modff.c: Include <float.h> and test-modf.h.
3219         (main): Invoke test_function.
3220         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3221         (main): Invoke test_function.
3222         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3223         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3224         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3225         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3226         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3227         (Depends-on): Add 'float'.
3228         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3229
3230 2012-03-03  Bruno Haible  <bruno@clisp.org>
3231
3232         fabs* tests: More tests.
3233         * tests/test-fabs.h: New file, partially extracted from
3234         tests/test-fabsl.c.
3235         * tests/test-fabs.c (RANDOM): New macro.
3236         * tests/test-fabsf.c (RANDOM): New macro.
3237         * tests/test-fabsl.c (RANDOM): New macro.
3238         * modules/fabs-tests (Files): Add tests/randomd.c.
3239         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
3240         * modules/fabsf-tests (Files): Add tests/randomf.c.
3241         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
3242         * modules/fabsl-tests (Files): Add tests/randoml.c.
3243         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
3244
3245 2012-03-03  Bruno Haible  <bruno@clisp.org>
3246
3247         ldexp* tests: More tests.
3248         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
3249         * tests/test-ldexp.c (RANDOM): New macro.
3250         * tests/test-ldexpf.c (RANDOM): New macro.
3251         * tests/test-ldexpl.c (RANDOM): New macro.
3252         * modules/ldexp-tests (Files): Add tests/randomd.c.
3253         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
3254         * modules/ldexpf-tests (Files): Add tests/randomf.c.
3255         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3256         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3257         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3258
3259 2012-03-03  Bruno Haible  <bruno@clisp.org>
3260
3261         frexp* tests: More tests.
3262         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3263         * tests/test-frexp.c (RANDOM): New macro.
3264         * tests/test-frexpf.c (RANDOM): New macro.
3265         * tests/test-frexpl.c (RANDOM): New macro.
3266         * modules/frexp-tests (Files): Add tests/randomd.c.
3267         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3268         * modules/frexpf-tests (Files): Add tests/randomf.c.
3269         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3270         * modules/frexpl-tests (Files): Add tests/randoml.c.
3271         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3272
3273 2012-03-03  Bruno Haible  <bruno@clisp.org>
3274
3275         Support for pseudo-random numbers in tests.
3276         * tests/randomf.c: New file.
3277         * tests/randomd.c: New file.
3278         * tests/randoml.c: New file.
3279         * tests/macros.h (randomf, randomd, randoml): New declarations.
3280
3281 2012-03-03  Bruno Haible  <bruno@clisp.org>
3282
3283         frexp* tests: Refactor.
3284         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3285         * tests/test-frexp.c: Include and use it.
3286         * tests/test-frexpf.c: Likewise.
3287         * tests/test-frexpl.c: Likewise.
3288         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3289         * modules/frexpf-tests (Files): Likewise.
3290         * modules/frexpl-tests (Files): Likewise.
3291
3292 2012-03-02  Jim Meyering  <meyering@redhat.com>
3293
3294         maint: don't specify XZ_OPT=-9ev in dist-related rule
3295         Using xz's -9 option is warranted only if you have a very large
3296         tarball (see xz's documentation for the sizes vs. presets), and
3297         requires 64MiB of memory at decompression time.
3298         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3299         Automake's default of just "-e" is fine.  Override on a
3300         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3301
3302 2012-03-01  Eric Blake  <eblake@redhat.com>
3303
3304         maint.mk: allow announcement for non-gnulib project
3305         * maint.mk (announcement): Skip gnulib version if not used.
3306
3307 2012-03-01  Jim Meyering  <meyering@redhat.com>
3308
3309         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3310         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3311         envvar settings cannot interfere.  Otherwise, setting envvars like
3312         prohibit=foo require=bar, etc. would cause spurious test failures.
3313
3314 2012-03-01  Eric Blake  <eblake@redhat.com>
3315
3316         maint.mk: add per-line exclusions to prohibitions
3317         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3318         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3319         (sc_const_long_option): Use it.
3320
3321 2012-03-01  Bruno Haible  <bruno@clisp.org>
3322
3323         Tests for module 'expl-ieee'.
3324         * modules/expl-ieee-tests: New file.
3325         * tests/test-expl-ieee.c: New file.
3326
3327         New module 'expl-ieee'.
3328         * modules/expl-ieee: New file.
3329
3330         Tests for module 'exp-ieee'.
3331         * modules/exp-ieee-tests: New file.
3332         * tests/test-exp-ieee.c: New file.
3333
3334         New module 'exp-ieee'.
3335         * modules/exp-ieee: New file.
3336
3337         Tests for module 'expf-ieee'.
3338         * modules/expf-ieee-tests: New file.
3339         * tests/test-expf-ieee.c: New file.
3340         * tests/test-exp-ieee.h: New file.
3341
3342         New module 'expf-ieee'.
3343         * modules/expf-ieee: New file.
3344
3345 2012-02-29  Bruno Haible  <bruno@clisp.org>
3346
3347         cbrtl-ieee: Work around test failure on IRIX 6.5.
3348         * m4/cbrtl-ieee.m4: New file.
3349         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3350         test whether cbrtl works with a minus zero argument. Replace it if not.
3351         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3353         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3354         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3355         (Depends-on): Update conditions.
3356         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3357         m4/signbit.m4.
3358         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3359         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3360         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3361
3362         Tests for module 'cbrtl-ieee'.
3363         * modules/cbrtl-ieee-tests: New file.
3364         * tests/test-cbrtl-ieee.c: New file.
3365
3366         New module 'cbrtl-ieee'.
3367         * modules/cbrtl-ieee: New file.
3368
3369         Tests for module 'cbrt-ieee'.
3370         * modules/cbrt-ieee-tests: New file.
3371         * tests/test-cbrt-ieee.c: New file.
3372
3373         New module 'cbrt-ieee'.
3374         * modules/cbrt-ieee: New file.
3375
3376         Tests for module 'cbrtf-ieee'.
3377         * modules/cbrtf-ieee-tests: New file.
3378         * tests/test-cbrtf-ieee.c: New file.
3379         * tests/test-cbrt-ieee.h: New file.
3380
3381         New module 'cbrtf-ieee'.
3382         * modules/cbrtf-ieee: New file.
3383
3384 2012-02-29  Bruno Haible  <bruno@clisp.org>
3385
3386         cbrtf: Work around bug in IRIX 6.5 system function.
3387         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3388         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3389         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3390         work.
3391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3392         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3393         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3394         (Depends-on): Update conditions.
3395         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3396
3397 2012-02-29  Bruno Haible  <bruno@clisp.org>
3398
3399         Tests for module 'cbrtl'.
3400         * modules/cbrtl-tests: New file.
3401         * tests/test-cbrtl.c: New file.
3402
3403         New module 'cbrtl'.
3404         * lib/math.in.h (cbrtl): New declaration.
3405         * lib/cbrtl.c: New file.
3406         * m4/cbrtl.m4: New file.
3407         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3409         HAVE_DECL_CBRTL.
3410         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3411         HAVE_DECL_CBRTL.
3412         * modules/cbrtl: New file.
3413         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3414         * doc/posix-functions/cbrtl.texi: Mention the new module.
3415
3416 2012-02-29  Bruno Haible  <bruno@clisp.org>
3417
3418         Tests for module 'cbrtf'.
3419         * modules/cbrtf-tests: New file.
3420         * tests/test-cbrtf.c: New file.
3421
3422         New module 'cbrtf'.
3423         * lib/math.in.h (cbrtf): New declaration.
3424         * lib/cbrtf.c: New file.
3425         * m4/cbrtf.m4: New file.
3426         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3427         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3428         HAVE_DECL_CBRTF.
3429         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3430         HAVE_DECL_CBRTF.
3431         * modules/cbrtf: New file.
3432         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3433         * doc/posix-functions/cbrtf.texi: Mention the new module.
3434
3435 2012-02-29  Bruno Haible  <bruno@clisp.org>
3436
3437         cbrt: Provide replacement on MSVC and Minix.
3438         * lib/math.in.h (cbrt): New declaration.
3439         * lib/cbrt.c: New file.
3440         * m4/cbrt.m4: New file.
3441         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3443         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3444         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3445         (Depends-on): Add dependencies.
3446         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3447         * tests/test-math-c++.cc: Check the declaration of cbrt.
3448         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3449         replacement.
3450
3451 2012-02-29  Bruno Haible  <bruno@clisp.org>
3452
3453         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3454         * m4/hypotl-ieee.m4: New file.
3455         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3456         test whether hypotl works with mixed NaN and Infinity arguments.
3457         Replace it if not.
3458         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3460         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3461         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3462         (Depends-on): Update conditions.
3463         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3464         (Depends-on): Add hypot-ieee.
3465         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3466         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3467
3468         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3469         * m4/hypotf-ieee.m4: New file.
3470         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3471         test whether hypotf works with mixed NaN and Infinity arguments.
3472         Replace it if not.
3473         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3474         (Depends-on): Add hypot-ieee.
3475         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3476         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3477
3478         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3479         * lib/math.in.h (hypot): New declaration.
3480         * lib/hypot.c: New file.
3481         * m4/hypot-ieee.m4: New file.
3482         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3483         whether hypot works with mixed NaN and Infinity arguments. Replace it
3484         if not.
3485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3486         REPLACE_HYPOT.
3487         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3488         * modules/hypot (Files): Add lib/hypot.c.
3489         (Depends-on): Add dependencies.
3490         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3491         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3492         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3493         * tests/test-math-c++.cc: Check the declaration of hypot.
3494         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3495
3496         Tests for module 'hypotl-ieee'.
3497         * modules/hypotl-ieee-tests: New file.
3498         * tests/test-hypotl-ieee.c: New file.
3499
3500         New module 'hypotl-ieee'.
3501         * modules/hypotl-ieee: New file.
3502
3503         Tests for module 'hypot-ieee'.
3504         * modules/hypot-ieee-tests: New file.
3505         * tests/test-hypot-ieee.c: New file.
3506
3507         New module 'hypot-ieee'.
3508         * modules/hypot-ieee: New file.
3509
3510         Tests for module 'hypotf-ieee'.
3511         * modules/hypotf-ieee-tests: New file.
3512         * tests/test-hypotf-ieee.c: New file.
3513         * tests/test-hypot-ieee.h: New file.
3514
3515         New module 'hypotf-ieee'.
3516         * modules/hypotf-ieee: New file.
3517
3518 2012-02-29  Bruno Haible  <bruno@clisp.org>
3519
3520         Remove unused variables.
3521         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3522         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3523         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3524         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3525
3526 2012-02-29  Eric Blake  <eblake@redhat.com>
3527
3528         termios: fix pid_t always, not just for tcgetsid
3529         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3530         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3531         just when building tcgetsid.
3532
3533 2012-02-29  Bruno Haible  <bruno@clisp.org>
3534
3535         Tests for module 'hypotl'.
3536         * modules/hypotl-tests: New file.
3537         * tests/test-hypotl.c: New file.
3538
3539         New module 'hypotl'.
3540         * lib/math.in.h (hypotl): New declaration.
3541         * lib/hypotl.c: New file.
3542         * m4/hypotl.m4: New file.
3543         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3545         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3546         * modules/hypotl: New file.
3547         * tests/test-math-c++.cc: Check the hypotl declaration.
3548         * doc/posix-functions/hypotl.texi: Mention the new module.
3549
3550 2012-02-29  Eric Blake  <eblake@redhat.com>
3551
3552         tcgetsid: fix cygwin header bug
3553         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3554
3555         docs: update cygwin progress
3556         * doc/posix-functions/llround.texi (llround): Added in cygwin
3557         1.7.8.
3558         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3559         * doc/glibc-functions/program_invocation_name.texi
3560         (program_invocation_name): Likewise.
3561         * doc/glibc-functions/program_invocation_short_name.texi
3562         (program_invocation_short_name): Likewise.
3563         * doc/glibc-functions/madvise.texi (madvise): Likewise.
3564         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
3565         Likewise.
3566         * doc/posix-functions/pthread_spin_destroy.texi
3567         (pthread_spin_destroy): Added in cygwin 1.7.10.
3568         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
3569         Likewise.
3570         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
3571         Likewise.
3572         * doc/posix-functions/pthread_spin_trylock.texi
3573         (pthread_spin_trylock): Likewise.
3574         * doc/posix-functions/pthread_spin_unlock.texi
3575         (pthread_spin_unlock): Likewise.
3576         * doc/posix-functions/pthread_setschedprio.texi
3577         (pthread_setschedprio): Likewise.
3578         * doc/posix-functions/pthread_attr_getstack.texi
3579         (pthread_attr_getstack): Likewise.
3580         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
3581         (pthread_attr_getstackaddr): Likewise.
3582         * doc/glibc-functions/pthread_getattr_np.texi
3583         (pthread_getattr_np): Likewise.
3584         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
3585         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
3586         * doc/posix-functions/clock_settime.texi (clock_settime):
3587         Likewise.
3588         * doc/posix-functions/pthread_attr_getguardsize.texi
3589         (pthread_attr_getguardsize): Likewise.
3590         * doc/posix-functions/pthread_attr_setguardsize.texi
3591         (pthread_attr_setguardsize): Likewise.
3592         * doc/posix-functions/pthread_attr_setstack.texi
3593         (pthread_attr_setstack): Likewise.
3594         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
3595         (pthread_attr_setstackaddr): Likewise.
3596         * doc/posix-functions/clock_getcpuclockid.texi
3597         (clock_getcpuclockid): Likewise.
3598         * doc/posix-functions/pthread_getcpuclockid.texi
3599         (pthread_getcpuclockid): Likewise.
3600         * doc/glibc-functions/error.texi (error): Likewise.
3601         * doc/glibc-functions/error_at_line.texi (error_at_line):
3602         Likewise.
3603         * doc/glibc-functions/error_message_count.texi
3604         (error_message_count): Likewise.
3605         * doc/glibc-functions/error_one_per_line.texi
3606         (error_one_per_line): Likewise.
3607         * doc/glibc-functions/error_print_progname.texi
3608         (error_print_progname): Likewise.
3609         * doc/posix-functions/pthread_condattr_getclock.texi
3610         (pthread_condattr_getclock): Likewise.
3611         * doc/posix-functions/pthread_condattr_setclock.texi
3612         (pthread_condattr_setclock): Likewise.
3613         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
3614         Likewise.
3615         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
3616         * doc/glibc-functions/getpt.texi (getpt): Likewise.
3617         * doc/glibc-functions/get_current_dir_name.texi
3618         (get_current_dir_name): Likewise.
3619         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
3620         Likewise.
3621         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
3622         wrong return type.
3623         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
3624         1.7.11.
3625
3626 2012-02-29  Bruno Haible  <bruno@clisp.org>
3627
3628         Tests for module 'hypotf'.
3629         * modules/hypotf-tests: New file.
3630         * tests/test-hypotf.c: New file.
3631
3632         New module 'hypotf'.
3633         * lib/math.in.h (hypotf): New declaration.
3634         * lib/hypotf.c: New file.
3635         * m4/hypotf.m4: New file.
3636         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
3638         REPLACE_HYPOTF.
3639         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
3640         REPLACE_HYPOTF.
3641         * modules/hypotf: New file.
3642         * tests/test-math-c++.cc: Check the hypotf declaration.
3643         * doc/posix-functions/hypotf.texi: Mention the new module.
3644
3645         hypot: Prepare for hypotf module.
3646         * m4/hypot.m4: New file.
3647         * modules/hypot (Files): Add m4/hypot.m4.
3648         (configure.ac): Invoke gl_FUNC_HYPOT.
3649
3650 2012-02-29  Bruno Haible  <bruno@clisp.org>
3651
3652         hypot tests: More tests.
3653         * tests/test-hypot.c: Include <float.h>.
3654         (main): Add tests about overflow and underflow.
3655
3656 2012-02-29  Bruno Haible  <bruno@clisp.org>
3657
3658         math code: Add comments.
3659         * lib/acosl.c: Add comment about related glibc source files.
3660         * lib/asinl.c: Likewise.
3661         * lib/atanl.c: Likewise.
3662         * lib/expl.c: Likewise.
3663         * lib/logl.c: Likewise.
3664         * lib/sincosl.c: Likewise.
3665         * lib/sinl.c: Likewise.
3666         * lib/tanl.c: Likewise.
3667         * lib/trigl.c: Likewise.
3668         * lib/cosl.c: Likewise. Fix comments.
3669
3670 2012-02-28  Bruno Haible  <bruno@clisp.org>
3671
3672         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
3673         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
3674         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
3675         HUGE_VALL are defined.
3676         (numeric_equald): Renamed from numeric_equal.
3677         (numeric_equalf, numeric_equall): New functions.
3678         (main): Check also HUGE_VALF, HUGE_VALL.
3679         * modules/math-tests (Files): Add tests/macros.h.
3680         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
3681         HUGE_VALL.
3682
3683 2012-02-28  Bruno Haible  <bruno@clisp.org>
3684
3685         doc: Move ISO C11 feature notes into POSIX chapters.
3686         * doc/posix-functions/aligned_alloc.texi: Renamed from
3687         doc/glibc-functions/aligned_alloc.texi.
3688         * doc/posix-functions/quick_exit.texi: Renamed from
3689         doc/glibc-functions/quick_exit.texi.
3690         * doc/posix-headers/uchar.texi: Renamed from
3691         doc/glibc-headers/uchar.texi.
3692         * doc/posix-functions/c16rtomb.texi: Renamed from
3693         doc/glibc-functions/c16rtomb.texi.
3694         * doc/posix-functions/c32rtomb.texi: Renamed from
3695         doc/glibc-functions/c32rtomb.texi.
3696         * doc/posix-functions/mbrtoc16.texi: Renamed from
3697         doc/glibc-functions/mbrtoc16.texi.
3698         * doc/posix-functions/mbrtoc32.texi: Renamed from
3699         doc/glibc-functions/mbrtoc32.texi.
3700         * doc/gnulib.texi: Update.
3701         (Glibc uchar.h): Remove section.
3702         Suggested by Eric Blake.
3703
3704 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
3705
3706         stdnoreturn: port to MSVC better
3707         MSVC standard headers use __declspec(noreturn), so #define noreturn
3708         to empty on that platform.  Reported by Bruno Haible in
3709         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
3710         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
3711         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
3712
3713 2012-02-28  Bruno Haible  <bruno@clisp.org>
3714
3715         doc: Mention new glibc headers and functions.
3716         * doc/glibc-headers/uchar.texi: New file.
3717         * doc/glibc-functions/aligned_alloc.texi: New file.
3718         * doc/glibc-functions/c16rtomb.texi: New file.
3719         * doc/glibc-functions/c32rtomb.texi: New file.
3720         * doc/glibc-functions/clock_adjtime.texi: New file.
3721         * doc/glibc-functions/fanotify_init.texi: New file.
3722         * doc/glibc-functions/fanotify_mark.texi: New file.
3723         * doc/glibc-functions/inet6_opt_append.texi: New file.
3724         * doc/glibc-functions/inet6_opt_find.texi: New file.
3725         * doc/glibc-functions/inet6_opt_finish.texi: New file.
3726         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
3727         * doc/glibc-functions/inet6_opt_init.texi: New file.
3728         * doc/glibc-functions/inet6_opt_next.texi: New file.
3729         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
3730         * doc/glibc-functions/inet6_rth_add.texi: New file.
3731         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
3732         * doc/glibc-functions/inet6_rth_init.texi: New file.
3733         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
3734         * doc/glibc-functions/inet6_rth_segments.texi: New file.
3735         * doc/glibc-functions/inet6_rth_space.texi: New file.
3736         * doc/glibc-functions/login.texi: New file.
3737         * doc/glibc-functions/mbrtoc16.texi: New file.
3738         * doc/glibc-functions/mbrtoc32.texi: New file.
3739         * doc/glibc-functions/name_to_handle_at.texi: New file.
3740         * doc/glibc-functions/ntp_gettimex.texi: New file.
3741         * doc/glibc-functions/open_by_handle_at.texi: New file.
3742         * doc/glibc-functions/prlimit.texi: New file.
3743         * doc/glibc-functions/process_vm_readv.texi: New file.
3744         * doc/glibc-functions/process_vm_writev.texi: New file.
3745         * doc/glibc-functions/recvmmsg.texi: New file.
3746         * doc/glibc-functions/scandirat.texi: New file.
3747         * doc/glibc-functions/sendmmsg.texi: New file.
3748         * doc/glibc-functions/setns.texi: New file.
3749         * doc/glibc-functions/timespec_get.texi: New file.
3750         * doc/gnulib.texi: Include them.
3751         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
3752         sections.
3753         Reported by Eric Blake.
3754
3755 2012-02-28  Bruno Haible  <bruno@clisp.org>
3756
3757         Avoid compilation errors with MSVC option -fp:strict.
3758         * lib/floor.c: Use MSVC specific pragma fenv_access.
3759         * lib/ceil.c: Likewise.
3760         * lib/trunc.c: Likewise.
3761         * lib/round.c: Likewise.
3762         * lib/rint.c: Likewise.
3763         * lib/fma.c: Likewise.
3764         * lib/integer_length.c: Likewise.
3765         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3766         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3767         * tests/test-floor2.c: Likewise.
3768         * tests/test-floorf2.c: Likewise.
3769         * tests/test-ceil2.c: Likewise.
3770         * tests/test-ceilf2.c: Likewise.
3771         * tests/test-trunc2.c: Likewise.
3772         * tests/test-truncf2.c: Likewise.
3773         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3774
3775 2012-02-27  Bruno Haible  <bruno@clisp.org>
3776
3777         Tests for module 'sqrtl-ieee'.
3778         * modules/sqrtl-ieee-tests: New file.
3779         * tests/test-sqrtl-ieee.c: New file.
3780
3781         New module 'sqrtl-ieee'.
3782         * modules/sqrtl-ieee: New file.
3783
3784         Tests for module 'sqrt-ieee'.
3785         * modules/sqrt-ieee-tests: New file.
3786         * tests/test-sqrt-ieee.c: New file.
3787
3788         New module 'sqrt-ieee'.
3789         * modules/sqrt-ieee: New file.
3790
3791         Tests for module 'sqrtf-ieee'.
3792         * modules/sqrtf-ieee-tests: New file.
3793         * tests/test-sqrtf-ieee.c: New file.
3794         * tests/test-sqrt-ieee.h: New file.
3795
3796         New module 'sqrtf-ieee'.
3797         * modules/sqrtf-ieee: New file.
3798
3799 2012-02-27  Bruno Haible  <bruno@clisp.org>
3800
3801         remainderl-ieee: Work around test failure on OSF/1.
3802         * m4/remainderl-ieee.m4: New file.
3803         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3804         present, test whether remainderl works with a zero second argument.
3805         Replace it if not.
3806         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3808         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3809         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3810         (Depends-on): Update conditions.
3811         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3812         (Depends-on): Add remainder-ieee.
3813         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3814         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3815         module.
3816
3817         remainderf-ieee: Work around test failure on OSF/1.
3818         * m4/remainderf-ieee.m4: New file.
3819         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3820         present, test whether remainderf works with a zero second argument.
3821         Replace it if not.
3822         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3823         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3824         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3825         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3826         (Depends-on): Update conditions.
3827         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3828         (Depends-on): Add remainder-ieee.
3829         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3830         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3831         module.
3832
3833         remainder-ieee: Work around test failure on OSF/1.
3834         * m4/remainder-ieee.m4: New file.
3835         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3836         present, test whether remainder works with a zero second argument.
3837         Replace it if not.
3838         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3840         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3841         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3842         (Depends-on): Update dependencies.
3843         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3844         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3845         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3846
3847         Tests for module 'remainderl-ieee'.
3848         * modules/remainderl-ieee-tests: New file.
3849         * tests/test-remainderl-ieee.c: New file.
3850
3851         New module 'remainderl-ieee'.
3852         * modules/remainderl-ieee: New file.
3853
3854         Tests for module 'remainder-ieee'.
3855         * modules/remainder-ieee-tests: New file.
3856         * tests/test-remainder-ieee.c: New file.
3857
3858         New module 'remainder-ieee'.
3859         * modules/remainder-ieee: New file.
3860
3861         Tests for module 'remainderf-ieee'.
3862         * modules/remainderf-ieee-tests: New file.
3863         * tests/test-remainderf-ieee.c: New file.
3864         * tests/test-remainder-ieee.h: New file.
3865
3866         New module 'remainderf-ieee'.
3867         * modules/remainderf-ieee: New file.
3868
3869 2012-02-27  Bruno Haible  <bruno@clisp.org>
3870
3871         modff, modfl: Fix configure syntax error.
3872         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3873         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3874
3875 2012-02-27  Bruno Haible  <bruno@clisp.org>
3876
3877         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3878         * m4/fmodl-ieee.m4: New file.
3879         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3880         whether fmodl works with zero arguments. Replace it if not.
3881         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3882         (Depends-on): Add fmod-ieee.
3883         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3884         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3885
3886         fmodf-ieee: Work around test failure on OSF/1.
3887         * m4/fmodf-ieee.m4: New file.
3888         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3889         whether fmodf works with zero arguments. Replace it if not.
3890         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3892         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3893         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3894         (Depends-on): Update dependencies.
3895         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3896         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3897         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3898
3899         fmodf-ieee: Work around test failure on MSVC 9.
3900         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3901         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3902
3903         fmod-ieee: Work around test failures on OSF/1, mingw.
3904         * m4/fmod-ieee.m4: New file.
3905         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3906         whether fmod works with zero arguments. Replace it if not.
3907         * lib/math.in.h (fmod): New declaration.
3908         * lib/fmod.c: New file.
3909         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3911         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3912         * modules/fmod (Files): Add lib/fmod.c.
3913         (Depends-on): Add math, isinf, trunc, fma.
3914         (configure.ac): Arrange to compile lib/fmod.c if needed.
3915         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3916         m4/signbit.m4.
3917         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3918         * tests/test-math-c++.cc: Check the declaration of fmod.
3919         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3920
3921         fmodl-ieee: Fix test failures.
3922         * lib/fmodl.c (fmodl): Treat Inf specially.
3923         * modules/fmodl (Depends-on): Add isinf.
3924
3925         Tests for module 'fmodl-ieee'.
3926         * modules/fmodl-ieee-tests: New file.
3927         * tests/test-fmodl-ieee.c: New file.
3928
3929         New module 'fmodl-ieee'.
3930         * modules/fmodl-ieee: New file.
3931
3932         Tests for module 'fmod-ieee'.
3933         * modules/fmod-ieee-tests: New file.
3934         * tests/test-fmod-ieee.c: New file.
3935
3936         New module 'fmod-ieee'.
3937         * modules/fmod-ieee: New file.
3938
3939         Tests for module 'fmodf-ieee'.
3940         * modules/fmodf-ieee-tests: New file.
3941         * tests/test-fmodf-ieee.c: New file.
3942         * tests/test-fmod-ieee.h: New file.
3943
3944         New module 'fmodf-ieee'.
3945         * modules/fmodf-ieee: New file.
3946
3947 2012-02-27  Bruno Haible  <bruno@clisp.org>
3948
3949         Tests for module 'rintl-ieee'.
3950         * modules/rintl-ieee-tests: New file.
3951         * tests/test-rintl-ieee.c: New file.
3952
3953         New module 'rintl-ieee'.
3954         * modules/rintl-ieee: New file.
3955
3956         Tests for module 'rint-ieee'.
3957         * modules/rint-ieee-tests: New file.
3958         * tests/test-rint-ieee.c: New file.
3959
3960         New module 'rint-ieee'.
3961         * modules/rint-ieee: New file.
3962
3963         Tests for module 'rintf-ieee'.
3964         * modules/rintf-ieee-tests: New file.
3965         * tests/test-rintf-ieee.c: New file.
3966         * tests/test-rint-ieee.h: New file.
3967
3968         New module 'rintf-ieee'.
3969         * modules/rintf-ieee: New file.
3970
3971 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3972
3973         regex: re_search etc. should return -2 when memory exhausted
3974         This bug was uncovered when testing 'grep'.  Without the fix,
3975         re_search and friends return -1 when memory is exhausted, but -1
3976         means no match, and this causes grep to falsely report no-match
3977         instead of memory-exhaustion.  See
3978         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3979         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3980         trouble; this can occur if re_search_internal ran out of memory.
3981
3982 2012-02-26  Bruno Haible  <bruno@clisp.org>
3983
3984         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3985         * m4/modfl-ieee.m4: New file.
3986         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3987         whether modfl works with Inf. Replace it if not.
3988         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3989         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3990         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3991         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3992         (Depends-on): Update dependencies.
3993         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3994         m4/signbit.m4.
3995         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3996         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3997
3998         modfl-ieee: Fix dependencies.
3999         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4000
4001         modfl-ieee: Fix test failures.
4002         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4003         * modules/modfl (Depends-on): Add isfinite, isinf.
4004
4005         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4006         * m4/modff-ieee.m4: New file.
4007         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4008         whether modff works with NaN and Inf. Replace it if not.
4009         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4011         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4012         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4013         (Depends-on): Update dependencies.
4014         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4015         m4/signbit.m4.
4016         (Depends-on): Add modf-ieee.
4017         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4018         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4019
4020         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4021         * m4/modf-ieee.m4: New file.
4022         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4023         whether modf works with NaN and Inf. Replace it if not.
4024         * lib/math.in.h (modf): New declaration.
4025         * lib/modf.c: New file.
4026         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4028         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4029         * modules/modf (Files): Add lib/modf.c.
4030         (Depends-on): Add math, isfinite, trunc, isinf.
4031         (configure.ac): Addrange to compile lib/modf.c if needed.
4032         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4033         m4/signbit.m4.
4034         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4035         * tests/test-math-c++.cc: Check the declaration of modf.
4036         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4037
4038         Tests for module 'modfl-ieee'.
4039         * modules/modfl-ieee-tests: New file.
4040         * tests/test-modfl-ieee.c: New file.
4041
4042         New module 'modfl-ieee'.
4043         * modules/modfl-ieee: New file.
4044
4045         Tests for module 'modf-ieee'.
4046         * modules/modf-ieee-tests: New file.
4047         * tests/test-modf-ieee.c: New file.
4048
4049         New module 'modf-ieee'.
4050         * modules/modf-ieee: New file.
4051
4052         Tests for module 'modff-ieee'.
4053         * modules/modff-ieee-tests: New file.
4054         * tests/test-modff-ieee.c: New file.
4055         * tests/test-modf-ieee.h: New file.
4056
4057         New module 'modff-ieee'.
4058         * modules/modff-ieee: New file.
4059
4060 2012-02-26  Bruno Haible  <bruno@clisp.org>
4061
4062         Tests for module 'fabsl-ieee'.
4063         * modules/fabsl-ieee-tests: New file.
4064         * tests/test-fabsl-ieee.c: New file.
4065
4066         New module 'fabsl-ieee'.
4067         * modules/fabsl-ieee: New file.
4068
4069         Tests for module 'fabs-ieee'.
4070         * modules/fabs-ieee-tests: New file.
4071         * tests/test-fabs-ieee.c: New file.
4072
4073         New module 'fabs-ieee'.
4074         * modules/fabs-ieee: New file.
4075
4076         Tests for module 'fabsf-ieee'.
4077         * modules/fabsf-ieee-tests: New file.
4078         * tests/test-fabsf-ieee.c: New file.
4079         * tests/test-fabs-ieee.h: New file.
4080
4081         New module 'fabsf-ieee'.
4082         * modules/fabsf-ieee: New file.
4083
4084 2012-02-26  Bruno Haible  <bruno@clisp.org>
4085
4086         Tests for module 'fmal-ieee'.
4087         * modules/fmal-ieee-tests: New file.
4088         * tests/test-fmal-ieee.c: New file.
4089
4090         New module 'fmal-ieee'.
4091         * modules/fmal-ieee: New file.
4092
4093         Tests for module 'fma-ieee'.
4094         * modules/fma-ieee-tests: New file.
4095         * tests/test-fma-ieee.c: New file.
4096
4097         New module 'fma-ieee'.
4098         * modules/fma-ieee: New file.
4099
4100         Tests for module 'fmaf-ieee'.
4101         * modules/fmaf-ieee-tests: New file.
4102         * tests/test-fmaf-ieee.c: New file.
4103         * tests/test-fma-ieee.h: New file.
4104
4105         New module 'fmaf-ieee'.
4106         * modules/fmaf-ieee: New file.
4107
4108 2012-02-26  Bruno Haible  <bruno@clisp.org>
4109
4110         Tests for module 'ldexpl-ieee'.
4111         * modules/ldexpl-ieee-tests: New file.
4112         * tests/test-ldexpl-ieee.c: New file.
4113
4114         New module 'ldexpl-ieee'.
4115         * modules/ldexpl-ieee: New file.
4116
4117         Tests for module 'ldexp-ieee'.
4118         * modules/ldexp-ieee-tests: New file.
4119         * tests/test-ldexp-ieee.c: New file.
4120
4121         New module 'ldexp-ieee'.
4122         * modules/ldexp-ieee: New file.
4123
4124         Tests for module 'ldexpf-ieee'.
4125         * modules/ldexpf-ieee-tests: New file.
4126         * tests/test-ldexpf-ieee.c: New file.
4127         * tests/test-ldexp-ieee.h: New file.
4128
4129         New module 'ldexpf-ieee'.
4130         * modules/ldexpf-ieee: New file.
4131
4132 2012-02-26  Bruno Haible  <bruno@clisp.org>
4133
4134         Refactor frexp*-ieee tests.
4135         * tests/test-frexp-ieee.h: New file.
4136         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4137         (main): Just call test_function.
4138         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4139         (main): Just call test_function.
4140         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4141         (main): Just call test_function.
4142         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4143         * modules/frexp-ieee-tests (Files): Likewise.
4144         * modules/frexpl-ieee-tests (Files): Likewise.
4145
4146         Tests for module 'frexpl-ieee'.
4147         * modules/frexpl-ieee-tests: New file.
4148         * tests/test-frexpl-ieee.c: New file.
4149
4150         New module 'frexpl-ieee'.
4151         * modules/frexpl-ieee: New file.
4152
4153         Tests for module 'frexp-ieee'.
4154         * modules/frexp-ieee-tests: New file.
4155         * tests/test-frexp-ieee.c: New file.
4156
4157         New module 'frexp-ieee'.
4158         * modules/frexp-ieee: New file.
4159
4160         Tests for module 'frexpf-ieee'.
4161         * modules/frexpf-ieee-tests: New file.
4162         * tests/test-frexpf-ieee.c: New file.
4163
4164         New module 'frexpf-ieee'.
4165         * modules/frexpf-ieee: New file.
4166
4167 2012-02-26  Bruno Haible  <bruno@clisp.org>
4168
4169         roundl-ieee tests: More tests.
4170         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4171         (main): Add tests for [MX] shaded specification in POSIX.
4172         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4173         (Depends-on): Add isnanl-nolibm.
4174
4175         round-ieee tests: More tests.
4176         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4177         (main): Add tests for [MX] shaded specification in POSIX.
4178         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4179         (Depends-on): Add isnand-nolibm.
4180
4181         roundf-ieee tests: More tests.
4182         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4183         (main): Add tests for [MX] shaded specification in POSIX.
4184         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4185         (Depends-on): Add isnanf-nolibm.
4186
4187         truncl-ieee tests: More tests.
4188         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4189         (main): Add tests for [MX] shaded specification in POSIX.
4190         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4191         (Depends-on): Add isnanl-nolibm.
4192
4193         trunc-ieee tests: More tests.
4194         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4195         (main): Add tests for [MX] shaded specification in POSIX.
4196         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4197         (Depends-on): Add isnand-nolibm.
4198
4199         truncf-ieee tests: More tests.
4200         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4201         (main): Add tests for [MX] shaded specification in POSIX.
4202         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4203         (Depends-on): Add isnanf-nolibm.
4204
4205         ceill-ieee tests: More tests.
4206         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4207         (main): Add tests for [MX] shaded specification in POSIX.
4208         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4209         (Depends-on): Add isnanl-nolibm.
4210
4211         ceil-ieee tests: More tests.
4212         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4213         (main): Add tests for [MX] shaded specification in POSIX.
4214         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4215         (Depends-on): Add isnand-nolibm.
4216
4217         ceilf-ieee tests: More tests.
4218         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4219         (main): Add tests for [MX] shaded specification in POSIX.
4220         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4221         (Depends-on): Add isnanf-nolibm.
4222
4223         floorl-ieee tests: More tests.
4224         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4225         (main): Add tests for [MX] shaded specification in POSIX.
4226         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4227         (Depends-on): Add isnanl-nolibm.
4228
4229         floor-ieee tests: More tests.
4230         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4231         (main): Add tests for [MX] shaded specification in POSIX.
4232         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4233         (Depends-on): Add isnand-nolibm.
4234
4235         floorf-ieee tests: More tests.
4236         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4237         (main): Add tests for [MX] shaded specification in POSIX.
4238         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4239         (Depends-on): Add isnanf-nolibm.
4240
4241 2012-02-26  Bruno Haible  <bruno@clisp.org>
4242
4243         fpieee: More comments.
4244         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
4245
4246 2012-02-25  Bruno Haible  <bruno@clisp.org>
4247
4248         Tests for module 'log10l'.
4249         * modules/log10l-tests: New file.
4250         * tests/test-log10l.c: New file.
4251         * tests/test-math-c++.cc: Check the declaration of log10l.
4252
4253         New module 'log10l'.
4254         * lib/math.in.h (log10l): New declaration.
4255         * lib/log10l.c: New file.
4256         * m4/log10l.m4: New file.
4257         * modules/log10l: New file.
4258         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4260         HAVE_DECL_LOG10L.
4261         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4262         HAVE_DECL_LOG10L.
4263         * doc/posix-functions/log10l.texi: Mention the new module.
4264
4265 2012-02-25  Bruno Haible  <bruno@clisp.org>
4266
4267         fmodl, remainder*: Avoid wrong results due to rounding errors.
4268         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4269         expected bounds.
4270         * lib/remainderf.c (remainderf): Likewise.
4271         * lib/remainder.c (remainder): Likewise.
4272         * lib/remainderl.c (remainderl): Likewise.
4273
4274 2012-02-25  Bruno Haible  <bruno@clisp.org>
4275
4276         Tests for module 'remainderl'.
4277         * modules/remainderl-tests: New file.
4278         * tests/test-remainderl.c: New file.
4279         * tests/test-math-c++.cc: Check the declaration of remainderl.
4280
4281         New module 'remainderl'.
4282         * lib/math.in.h (remainderl): New declaration.
4283         * lib/remainderl.c: New file.
4284         * m4/remainderl.m4: New file.
4285         * modules/remainderl: New file.
4286         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4288         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4289         HAVE_REMAINDERL.
4290         * doc/posix-functions/remainderl.texi: Mention the new module.
4291
4292 2012-02-25  Bruno Haible  <bruno@clisp.org>
4293
4294         Tests for module 'remainderf'.
4295         * modules/remainderf-tests: New file.
4296         * tests/test-remainderf.c: New file.
4297         * tests/test-math-c++.cc: Check the declaration of remainderf.
4298
4299         New module 'remainderf'.
4300         * lib/math.in.h (remainderf): New declaration.
4301         * lib/remainderf.c: New file.
4302         * m4/remainderf.m4: New file.
4303         * modules/remainderf: New file.
4304         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4305         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4306         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4307         HAVE_REMAINDERF.
4308         * doc/posix-functions/remainderf.texi: Mention the new module.
4309
4310 2012-02-25  Bruno Haible  <bruno@clisp.org>
4311
4312         remainder: Support for MSVC.
4313         * lib/math.in.h (remainder): New declaration.
4314         * lib/remainder.c: New file.
4315         * m4/remainder.m4: New file.
4316         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4317         (Depends-on): Add math, round, fma.
4318         (configure.ac): Use results of gl_FUNC_REMAINDER.
4319         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4320         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4321         HAVE_DECL_REMAINDER.
4322         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4323         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4324         * tests/test-math-c++.cc: Check the declaration of remainder.
4325         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4326         problems are fixed.
4327
4328 2012-02-25  Bruno Haible  <bruno@clisp.org>
4329
4330         Tests for module 'fmodl'.
4331         * modules/fmodl-tests: New file.
4332         * tests/test-fmodl.c: New file.
4333         * tests/test-math-c++.cc: Check the declaration of fmodl.
4334
4335         New module 'fmodl'.
4336         * lib/math.in.h (fmodl): New declaration.
4337         * lib/fmodl.c: New file.
4338         * m4/fmodl.m4: New file.
4339         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4340         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4341         REPLACE_FMODL.
4342         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4343         REPLACE_FMODL.
4344         * modules/fmodl: New file.
4345         * doc/posix-functions/fmodl.texi: Mention the new module.
4346
4347 2012-02-25  Bruno Haible  <bruno@clisp.org>
4348
4349         Tests for module 'modfl'.
4350         * modules/modfl-tests: New file.
4351         * tests/test-modfl.c: New file.
4352         * tests/test-math-c++.cc: Check the declaration of modfl.
4353
4354         New module 'modfl'.
4355         * lib/math.in.h (modfl): New declaration.
4356         * lib/modfl.c: New file.
4357         * m4/modfl.m4: New file.
4358         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4360         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4361         * modules/modfl: New file.
4362         * doc/posix-functions/modfl.texi: Mention the new module.
4363
4364 2012-02-25  Bruno Haible  <bruno@clisp.org>
4365
4366         Tests for module 'fabsl'.
4367         * modules/fabsl-tests: New file.
4368         * tests/test-fabsl.c: New file.
4369         * tests/test-math-c++.cc: Check the declaration of fabsl.
4370
4371         New module 'fabsl'.
4372         * lib/math.in.h (fabsl): New declaration.
4373         * lib/fabsl.c: New file.
4374         * m4/fabsl.m4: New file.
4375         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4377         REPLACE_FABSL.
4378         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4379         REPLACE_FABSL.
4380         * modules/fabsl: New file.
4381         * doc/posix-functions/fabsl.texi: Mention the new module.
4382
4383 2012-02-25  Bruno Haible  <bruno@clisp.org>
4384
4385         fabs tests: More tests.
4386         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4387         (zero): New variable.
4388         (main): Add tests for signed zero.
4389         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4390
4391         fabsf tests: More tests.
4392         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4393         (zero): New variable.
4394         (main): Add tests for signed zero.
4395         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4396
4397 2012-02-24  Bruno Haible  <bruno@clisp.org>
4398
4399         atanl: Provide function definition on MSVC.
4400         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4401         function pointer.
4402         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4403
4404 2012-02-24  Bruno Haible  <bruno@clisp.org>
4405
4406         acosl: Provide function definition on MSVC.
4407         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4408         function pointer.
4409         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4410
4411 2012-02-24  Bruno Haible  <bruno@clisp.org>
4412
4413         asinl: Provide function definition on MSVC.
4414         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4415         function pointer.
4416         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4417
4418 2012-02-24  Bruno Haible  <bruno@clisp.org>
4419
4420         tanl: Provide function definition on MSVC.
4421         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4422         function pointer.
4423         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4424
4425 2012-02-24  Bruno Haible  <bruno@clisp.org>
4426
4427         cosl: Provide function definition on MSVC.
4428         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4429         function pointer.
4430         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4431
4432 2012-02-24  Bruno Haible  <bruno@clisp.org>
4433
4434         sinl: Provide function definition on MSVC.
4435         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4436         function pointer.
4437         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4438
4439 2012-02-24  Bruno Haible  <bruno@clisp.org>
4440
4441         logl: Provide function definition on MSVC.
4442         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4443         function pointer.
4444         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4445
4446 2012-02-24  Bruno Haible  <bruno@clisp.org>
4447
4448         expl: Provide function definition on MSVC.
4449         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4450         function pointer.
4451         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4452
4453 2012-02-24  Bruno Haible  <bruno@clisp.org>
4454
4455         sqrtl: Provide function definition on MSVC.
4456         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4457         a function pointer.
4458         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4459
4460 2012-02-24  Bruno Haible  <bruno@clisp.org>
4461
4462         ceill: Provide function definition on MSVC.
4463         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4464         used as a function pointer.
4465         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4466
4467 2012-02-24  Bruno Haible  <bruno@clisp.org>
4468
4469         floorl: Provide function definition on MSVC.
4470         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4471         used as a function pointer.
4472         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4473
4474 2012-02-24  Bruno Haible  <bruno@clisp.org>
4475
4476         ceilf: Provide function definition on MSVC.
4477         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4478         used as a function pointer.
4479         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4480
4481 2012-02-24  Bruno Haible  <bruno@clisp.org>
4482
4483         floorf: Provide function definition on MSVC.
4484         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4485         used as a function pointer.
4486         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4487
4488 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4489
4490         stdnoreturn: new module
4491         This implements a replacement for C11's <stdnoreturn.h>.
4492         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4493         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4494         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4495         * tests/test-stdnoreturn.c: New files.
4496
4497 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4498
4499         regex: fix false multibyte matches in some regular expressions
4500         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4501         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4502         * lib/regex_internal.c (re_string_skip_chars):
4503         Fix miscomputation of remain_len that may cause incomplete
4504         multi-byte character and false match.
4505
4506 2012-02-24  Jim Meyering  <meyering@redhat.com>
4507
4508         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4509         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4510         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4511         Remove now-unnecessary str''cmp obfuscation.
4512         Suggested by Akim Demaille.
4513
4514 2012-02-24  Bruno Haible  <bruno@clisp.org>
4515
4516         streq: Rename macro.
4517         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4518         * NEWS: Mention the change.
4519         * lib/mbrtowc.c (mbrtowc): Update.
4520         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4521         * lib/wcwidth.c (wcwidth): Update.
4522         Suggested by Akim Demaille and Jim Meyering.
4523
4524 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4525
4526         regex: fix typo in definition of MIN
4527         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4528         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4529
4530 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4531             Bruno Haible  <bruno@clisp.org>
4532
4533         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4534         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4535         entries into a stack-allocated buffer directly.
4536         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4537
4538 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4539             Bruno Haible  <bruno@clisp.org>
4540
4541         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4542
4543          - There were several instances of this pattern:
4544
4545              for (;;) {
4546                n = acl (f, GETACLCNT, 0, NULL);
4547                [ allocate an array A of size N ]
4548                if (acl (f, GETACL, n, a) == n)
4549                  break;
4550              }
4551
4552            This loop might never terminate if some other process is constantly
4553            manipulating the file's ACL.  The loop should be rewritten to
4554            terminate.
4555
4556          - The acl (... GETACLNT ...) call is merely an optimization; its value
4557            is merely a hint as to how big to make the array.  A better
4558            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4559            and just guess a reasonably-big size, growing the size and trying
4560            again if it's not large enough.  This guarantees termination, and
4561            saves a system call.
4562
4563         * lib/acl-internal.h: Include <limits.h>.
4564         (MIN, SIZE_MAX): New macros.
4565         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
4566         a stack-allocated buffer, and use malloc if it does not fit. Don't
4567         use GETACLCNT.
4568         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4569
4570 2012-02-19  Bruno Haible  <bruno@clisp.org>
4571
4572         acl: Fix endless loop on Solaris with vxfs.
4573         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
4574         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
4575         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4576         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
4577         * tests/test-sameacls.c (main)[Solaris]: Likewise.
4578         Reported by Bill Jones in
4579         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
4580
4581 2012-02-19  Bruno Haible  <bruno@clisp.org>
4582
4583         acl: Fix copy-acl test failure on Solaris 11 2011-11.
4584         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
4585         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
4586         that this function returns 0 in some more cases.
4587
4588 2012-02-19  Bruno Haible  <bruno@clisp.org>
4589
4590         acl: Update doc references.
4591         * doc/acl-resources.txt: Update links to Solaris documentation.
4592
4593 2012-02-19  Bruno Haible  <bruno@clisp.org>
4594
4595         Fix test failure in many locales on Solaris 11.
4596         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
4597         'tr' arguments.
4598         * tests/test-pipe-filter-ii1.c (main): Likewise.
4599         * build-aux/bootstrap (check_versions): Run 'tr' command with range
4600         expressions in the C locale.
4601         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
4602         * m4/host-os.m4 (gl_HOST_OS): Likewise.
4603
4604 2012-02-19  Bruno Haible  <bruno@clisp.org>
4605
4606         gnulib-tool: Improve usage message.
4607         * gnulib-tool (func_usage): Move doc of --help and --version to the
4608         section "Operation modes".
4609
4610 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
4611
4612         README-release: make it easier to execute commands
4613         * top/README-release: break commands out on to separate lines.
4614
4615 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4616
4617         GNUmakefile: simplify detection of unconfigured trees
4618         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
4619         whether the tree make is being run from is already configured or
4620         not.  Related simplifications.
4621
4622 2012-02-13  Simon Josefsson  <simon@josefsson.org>
4623
4624         * gnulib-tool (func_usage): Document --help and --version.
4625
4626 2012-02-11  Jim Meyering  <meyering@redhat.com>
4627
4628         bootstrap: don't exit 0 upon gnulib-tool failure
4629         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
4630         its exit status, not 0.
4631
4632 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
4633
4634         README-release: various improvements
4635         * top/README-release: Give a command to push changes for the
4636         release.  Add "distcheck" to list of other pre-release checks.
4637         Fix instance of "make stable" which should be "make TYPE".
4638
4639 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4640
4641         maint: replace FSF snail-mail addresses with URLs
4642         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
4643         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
4644         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
4645         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
4646         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
4647         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
4648         * lib/check-version.c, lib/check-version.h, lib/config.charset:
4649         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
4650         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
4651         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
4652         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
4653         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
4654         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
4655         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
4656         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
4657         * lib/glthread/thread.c, lib/glthread/thread.h:
4658         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
4659         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
4660         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
4661         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
4662         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
4663         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
4664         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
4665         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
4666         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
4667         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
4668         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
4669         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
4670         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
4671         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
4672         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
4673         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
4674         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
4675         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
4676         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
4677         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
4678         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
4679         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
4680         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
4681         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
4682         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
4683         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
4684         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
4685         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
4686         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
4687         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
4688         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
4689         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
4690         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
4691         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
4692         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
4693         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
4694         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
4695         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
4696         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
4697         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
4698         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
4699         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
4700         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
4701         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
4702         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
4703         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
4704         * tests/test-poll.c, tests/test-quotearg-simple.c:
4705         * tests/test-quotearg.c, tests/test-quotearg.h:
4706         * tests/test-round-ieee.c, tests/test-round1.c:
4707         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
4708         * tests/test-roundl-ieee.c, tests/test-roundl.c:
4709         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
4710         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
4711         * tests/test-strerror.c, tests/test-strerror_r.c:
4712         * tests/test-strsignal.c, tests/test-strverscmp.c:
4713         * tests/test-xmemdup0.c:
4714         Replace FSF snail mail addresses with URLs, as per GNU coding
4715         standards.  See glibc bug
4716         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
4717
4718 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4719
4720         README-release: capitalize a word and split a line
4721         * top/README-release: Fix punctuation and spacing.
4722
4723 2012-02-08  Akim Demaille  <demaille@gostai.com>
4724
4725         fatal-signal: use C prototypes (with explicit void).
4726         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
4727         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
4728
4729 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4730
4731         regex: spelling fix
4732         * lib/regexec.c: spelling fix
4733
4734         regex: rely on stdint.h for SIZE_MAX
4735         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
4736
4737 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4738
4739         regex: merge glibc changes
4740
4741         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
4742         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
4743         (init_word_char): Work even if bitset words are not exactly 32 or
4744         64 bits wide.  Don't assume there are no padding bits.
4745         * lib/regex.c [_LIBC]: Do not include <config.h>.
4746         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
4747         and -Wtype-limits.
4748         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
4749         needless disagreement with glibc.  All uses changed.  Define it to
4750         1 only if _GNU_SOURCE, to match glibc.
4751         (_REG_RM_NAME): Remove; no longer needed, since the names in
4752         question are now all protected by __USE_GNU.
4753         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
4754         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
4755         * lib/regex_internal.h (MIN): New macro.
4756
4757         2012-01-03 Ulrich Drepper <drepper@gmail.com>
4758         * lib/regcomp.c (init_word_char): Optimize regex a bit.
4759
4760         2011-12-30 Jakub Jelinek <jakub@redhat.com>
4761         * lib/regex_internal.c (re_string_fetch_byte_case):
4762         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
4763         is miscompiled, and it turns out it is because of an incorrect
4764         attribute on re_string_fetch_byte_case.  Unlike
4765         re_string_peek_byte_case, this one is really not pure, it modifies
4766         memory (increments pstr->cur_idx), and with the pure attribute GCC
4767         assumed it doesn't and it cached the presumed value of
4768         regexp->cur_idx in a variable across the
4769          for (;; ++i)
4770            {
4771              if (i >= BRACKET_NAME_BUF_SIZE)
4772                return REG_EBRACK;
4773              if (token->type == OP_OPEN_CHAR_CLASS)
4774                ch = re_string_fetch_byte_case (regexp);
4775              else
4776                ch = re_string_fetch_byte (regexp);
4777              if (re_string_eoi(regexp))
4778                return REG_EBRACK;
4779              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4780                break;
4781              elem->opr.name[i] = ch;
4782            }
4783
4784         2011-11-29 Andreas Schwab <schwab@redhat.com>
4785         * lib/regcomp.c (build_equiv_class):
4786         Fix access after end of search string in regex matcher.
4787
4788         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4789         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4790
4791         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4792         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4793
4794         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4795         * lib/regcomp.c (parse_branch, parse_sub_exp):
4796         More regex memory leak fixes and tests.
4797         (parse_sub_exp, parse_bracket_exp):
4798         Fix memory leak for some invalid regular expressions.
4799
4800         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4801         * lib/regex_internal.c, lib/regexec.c:
4802         Fix unnecessary overallocation due to incomplete character.  When
4803         incomplete characters are found at the end of a string the code
4804         ran amok and allocated lots of memory.  Stricter limits are now in
4805         place.
4806
4807         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4808         * lib/regex.h: Update documentation.
4809
4810         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4811         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4812
4813         2010-05-05 Andreas Schwab <schwab@redhat.com>
4814         * lib/regexec.c (find_collation_sequence_value):
4815         Fix lookup of collation sequence value during regexp matching.
4816
4817         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4818         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4819
4820         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4821         * lib/regex.h: Cleanup namespace.
4822
4823         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4824         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4825
4826         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4827         * lib/regex_internal.h: Prevent some declarations and definitions
4828         to be seen when used in tests.
4829
4830         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4831         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4832         __libc_lock_* macros if not _LIBC.
4833         (struct re_dfa_t): Add lock.
4834
4835 2012-02-07  Eric Blake  <eblake@redhat.com>
4836
4837         maint.mk: also prohibit lower-case @var@
4838         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4839         lower case, like @top_srcdir@.
4840
4841 2012-02-04  Eric Blake  <eblake@redhat.com>
4842
4843         canonicalize: avoid uninitialized memory use
4844         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4845         random '/' left in dest.
4846         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4847
4848 2012-02-04  Bruno Haible  <bruno@clisp.org>
4849
4850         isatty: Fix test failure of ptsname_r on native Windows.
4851         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4852         and don't set errno.
4853         (isatty): Test first whether fd is valid. Set errno when returning 0.
4854
4855 2012-02-04  Bruno Haible  <bruno@clisp.org>
4856
4857         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4858         * tests/test-spawn-pipe-main.c: Include progname.h.
4859         (main): Invoke set_program_name.
4860         * modules/spawn-pipe-tests (Depends-on): Add progname.
4861
4862         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4863         * tests/test-nonblocking-socket-main.c: Include progname.h.
4864         (main): Invoke set_program_name.
4865         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4866
4867         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4868         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4869         (main): Invoke set_program_name.
4870         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4871
4872 2012-02-04  Eric Blake  <eblake@redhat.com>
4873
4874         canonicalize-lgpl: fix // handling
4875         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4876
4877         canonicalize: fix // handling
4878         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4879         /// to //, since only // is special.
4880
4881 2012-02-04  Bruno Haible  <bruno@clisp.org>
4882
4883         ioctl: Fix test failure on native Windows.
4884         * lib/ioctl.c: Include msvc-nothrow.h.
4885         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4886
4887 2012-02-04  Bruno Haible  <bruno@clisp.org>
4888
4889         fsync: Avoid test failure on native Windows.
4890         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4891         read-only.
4892
4893 2012-02-04  Bruno Haible  <bruno@clisp.org>
4894
4895         sys_select: Avoid syntax error on OpenBSD 5.0.
4896         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4897         currently being included, just include the system's <sys/select.h>.
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: Include <signal.h> only after the include_next
4903         <sys/select.h>, not before.
4904         Reported by Jiri B <jirib@devio.us>.
4905
4906 2012-02-04  Bruno Haible  <bruno@clisp.org>
4907
4908         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4909         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4910         global variables.
4911         * tests/test-get-rusage-data.c (main): Likewise.
4912         Reported by Jim Meyering.
4913
4914 2012-02-04  Bruno Haible  <bruno@clisp.org>
4915
4916         stdioext: Fix last commit.
4917         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4918
4919 2012-02-03  Bruno Haible  <bruno@clisp.org>
4920
4921         stdioext: Add tentative support for Plan9.
4922         * lib/stdio-impl.h: Include <errno.h>.
4923         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4924         * lib/freadable.c (freadable): Likewise.
4925         * lib/fwritable.c (fwritable): Likewise.
4926         * lib/fbufmode.c (fbufmode): Likewise.
4927         * lib/freading.c (freading): Likewise.
4928         * lib/fwriting.c (fwriting): Likewise.
4929         * lib/freadptr.c (freadptr): Likewise.
4930         * lib/freadseek.c (freadptrinc): Likewise.
4931         * lib/freadahead.c (freadahead): Likewise.
4932         * lib/fpurge.c (fpurge): Likewise.
4933         * lib/fseeko.c (rpl_fseeko): Likewise.
4934         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4935         Reported by Jens Staal <staal1978@gmail.com>.
4936
4937 2012-02-02  Jim Meyering  <meyering@redhat.com>
4938
4939         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4940         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4941         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4942         not even to try to add the attribute.  Instead, add a pragma to suppress
4943         the suggestion/warning.
4944
4945 2012-01-31  Karl Berry  <karl@gnu.org>
4946
4947         setstate doc: typo.
4948         * doc/posix-functions/setstate.texi (setstate): { not (.
4949
4950 2012-01-31  Bruno Haible  <bruno@clisp.org>
4951
4952         popen: Make more robust on Windows.
4953         * lib/popen.c: On native Windows, use the _popen based code even if
4954         HAVE_POPEN is set.
4955         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4956         environment variable on native Windows.
4957
4958 2012-01-30  Bruno Haible  <bruno@clisp.org>
4959
4960         pclose: Fix typo.
4961         * lib/stdio.in.h (pclose): Fix typo in warning message.
4962
4963 2012-01-30  Bruno Haible  <bruno@clisp.org>
4964
4965         doc about getlogin_r, setstate.
4966         * doc/posix-functions/getlogin_r.texi: List the incompatible
4967         declaration problem under "not fixed by gnulib".
4968         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4969         problem on Solaris 11 and other platforms.
4970
4971 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4972             Bruno Haible  <bruno@clisp.org>
4973
4974         poll tests: Make test more robust.
4975         * tests/test-poll.c: Include macros.h.
4976         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4977         return value of various I/O operations.
4978         * modules/poll-tests (Files): Add tests/macros.h.
4979
4980 2012-01-30  Bruno Haible  <bruno@clisp.org>
4981
4982         sys_stat: Fix support for mingw64 and MSVC.
4983         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4984         header files already do it.
4985         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4986         stat itself.
4987         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4988
4989 2012-01-30  Bruno Haible  <bruno@clisp.org>
4990
4991         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4993         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4994
4995 2012-01-29  Bruno Haible  <bruno@clisp.org>
4996
4997         quotearg: Fix test failure on MacOS X 10.5.
4998         * tests/test-quotearg-simple.c: Include localcharset.h.
4999         (main): If the locale encoding is not ASCII, bypass the tests of
5000         locale_quoting_style and clocale_quoting_style.
5001         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5002
5003 2012-01-29  Jim Meyering  <meyering@redhat.com>
5004
5005         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5006         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5007         detect uses of canonicalize_file_name.
5008
5009 2012-01-28  Bruno Haible  <bruno@clisp.org>
5010
5011         test-framework-sh: Fix test failure with AIX 7.1 diff.
5012         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5013         in column 1, like 'diff -c' does.
5014         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5015         whether 'diff -u' is used. Instead, test whether the output contains
5016         some '@' character.
5017
5018 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5019
5020         strtoimax: eliminate need for stdint.h, inttypes.h checks
5021         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5022         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5023         the prerequisites for a recently-introduced strtoimax test.
5024         I guess this might cause strtoimax to be replaced when not
5025         strictly necessary on older hosts, but this shouldn't introduce
5026         any bugs and it should make Emacs 'configure' faster on typical
5027         modern hosts.  Problem discovered when importing the latest gnulib
5028         to an Emacs test version.
5029         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5030
5031 2012-01-28  Bruno Haible  <bruno@clisp.org>
5032
5033         sys_time: Override 'struct timeval' on some native Windows platforms.
5034         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5035         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5036         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5037         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5038         needs to be overridden.
5039         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5040         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5041         * tests/test-sys_select.c: Check that the tv_sec member has the same
5042         size as a 'time_t'.
5043         * tests/test-sys_time.c: Likewise.
5044         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5045         is set, set also REPLACE_GETTIMEOFDAY.
5046         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5047         convert the resulting 'struct timeval' before returning.
5048         * lib/select.c: Include <sys/time.h>.
5049         (select, timeval): Undefine at the right place.
5050         * modules/select (Depends-on): Add sys_time.
5051         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5052         some Windows platforms.
5053         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5054
5055 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5056
5057         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5058         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5059         an integer.
5060         * lib/fcntl.c (dupfd): Likewise.
5061         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5062
5063 2012-01-28  Bruno Haible  <bruno@clisp.org>
5064
5065         fcntl: Avoid compilation error on native Windows.
5066         * modules/fcntl (Depends-on): Add 'close'.
5067
5068 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5069
5070         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5071         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5072         pointer to an integer.
5073         * lib/poll.c (IsConsoleHandle): Likewise.
5074         * lib/isatty.c (IsConsoleHandle): Likewise.
5075
5076 2012-01-28  Jim Meyering  <meyering@redhat.com>
5077
5078         doc: clarify README-release
5079         * top/README-release: Clarify: you should make a point to have
5080         the latest stable versions of build tools in your PATH, and the
5081         reference to buildreq is solely for its list of tool names, not
5082         for its minimal-functional version numbers.
5083         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5084
5085         maint.mk: use more readable (yet functionally equivalent) quoting
5086         It is common to quote a single quote in a single quoted string like
5087         this:  '...'\''...'.  Unless you know the idiom, that looks like
5088         gibberish, so prefer to double-quote the string when possible.
5089         Then you can use a more readable, lone single quote: "...'..."
5090         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5091         "don't" is more readable than the equivalent 'don'\''t'.
5092         (sc_cast_of_x_alloc_return_value): Likewise.
5093         (sc_cast_of_alloca_return_value): Likewise.
5094         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5095         rather than '\'':'\''.
5096
5097 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5098
5099         stdalign: relax _Alignof and tighten _Alignas test
5100         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5101         as it was too strict: alignof must divide offsetof, but it need
5102         not equal offsetof.  Inspired by Joseph S. Myers's comment
5103         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5104         Conversely, tighten the _Alignas test a bit, as the resulting
5105         alignment must be exactly 8.
5106
5107 2012-01-27  Bruno Haible  <bruno@clisp.org>
5108
5109         stdalign: Document the last change.
5110         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5111
5112 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5113
5114         stdalign: check that alignof and offsetof are consistent
5115         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5116         Problem reported for gnulib by Richard W.M. Jones in
5117         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5118
5119 2012-01-27  Jim Meyering  <meyering@redhat.com>
5120
5121         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5122         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5123         convert a sequence with gaps to the minimal containing range.
5124         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5125         * tests/test-update-copyright.sh: Test for this.
5126         The FSF confirmed it is ok to do this, assuming there is at
5127         least one significant change per year in the affected range:
5128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5129
5130 2012-01-26  Bruno Haible  <bruno@clisp.org>
5131
5132         pipe2: refine doc about thread-safety
5133         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5134         multithread-safety problem.
5135         * doc/glibc-functions/accept4.texi: Likewise.
5136
5137 2012-01-26  Bruno Haible  <bruno@clisp.org>
5138
5139         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5140         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5141         In the test program, include <fcntl.h>, for O_RDONLY.
5142
5143 2012-01-26  Eric Blake  <eblake@redhat.com>
5144
5145         pipe2: document lack of thread-safety in replacement
5146         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5147         issue in replacement.
5148         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5149         Based on a report by Eric Wong.
5150
5151 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5152             Bruno Haible  <bruno@clisp.org>
5153
5154         malloca: Avoid warnings on x86_64 mingw64.
5155         * lib/malloca.c: Include <stdint.h>.
5156         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5157         * modules/malloca (Depends-on): Add stdint.
5158         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5159
5160 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5161
5162         obstack: remove __STDC__ conditionals
5163         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5164         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5165         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5166         m4/include_next.m4 as the only gnulib-maintained places that still
5167         refer to __STDC__.
5168
5169 2012-01-24  Bruno Haible  <bruno@clisp.org>
5170
5171         havelib: Modern quoting.
5172         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5173         the recent change to the GNU coding standards.
5174
5175 2012-01-24  Bruno Haible  <bruno@clisp.org>
5176
5177         stdint: Improve support for Android.
5178         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5179         Reported by Simon Josefsson <simon@josefsson.org>.
5180
5181 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5182
5183         doc: omit trailing empty lines from INSTALL etc.
5184         * doc/Makefile (INSTALL): Omit trailing empty lines.
5185         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5186         omit trailing empty lines.  This simplifies the build procedure.
5187
5188 2012-01-23  Jim Meyering  <meyering@redhat.com>
5189
5190         tests: avoid spurious warnings about gl_sockets_startup
5191         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5192         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5193         reporting a "statement with no effect".
5194         * tests/test-accept.c (main): Mark as "(void)".
5195         * tests/test-accept4.c (main): Likewise.
5196         * tests/test-bind.c (main): Likewise.
5197         * tests/test-connect.c (main): Likewise.
5198         * tests/test-getpeername.c (main): Likewise.
5199         * tests/test-getsockname.c (main): Likewise.
5200         * tests/test-getsockopt.c (main): Likewise.
5201         * tests/test-listen.c (main): Likewise.
5202         * tests/test-recv.c (main): Likewise.
5203         * tests/test-recvfrom.c (main): Likewise.
5204         * tests/test-send.c (main): Likewise.
5205         * tests/test-sendto.c (main): Likewise.
5206         * tests/test-setsockopt.c (main): Likewise.
5207         * tests/test-shutdown.c (main): Likewise.
5208
5209 2012-01-21  Bruno Haible  <bruno@clisp.org>
5210
5211         locale-fr.m4: Fix for Android.
5212         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5213         failure of the test program on Bionic libc.
5214
5215 2012-01-21  Jim Meyering  <meyering@redhat.com>
5216
5217         bootstrap: fail when bootstrap_post_import_hook fails
5218         Otherwise, it's far too easy to miss diagnostics emitted
5219         between gnulib-tool's output and that of running configure.
5220         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5221
5222 2012-01-17  Jim Meyering  <meyering@redhat.com>
5223
5224         maint: enable sc_trailing_blank
5225         * build-aux/pmccabe.css: Remove trailing blanks.
5226         * doc/acl-cygwin.txt: Likewise.
5227         * doc/gnu-oids.texi: Likewise
5228         * cfg.mk: Enable sc_trailing_blank.
5229         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5230
5231 2012-01-17  Jim Meyering  <meyering@redhat.com>
5232
5233         maint: enable sc_prohibit_openat_without_use
5234         * cfg.mk: Enable sc_prohibit_openat_without_use.
5235         Exempt lib/selinux-at.c.
5236
5237 2012-01-17  Jim Meyering  <meyering@redhat.com>
5238
5239         maint: enable sc_prohibit_cloexec_without_use
5240         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
5241         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
5242
5243 2012-01-17  Jim Meyering  <meyering@redhat.com>
5244
5245         maint: enable sc_prohibit_intprops_without_use
5246         * cfg.mk: Enable sc_prohibit_intprops_without_use
5247         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
5248
5249 2012-01-17  Jim Meyering  <meyering@redhat.com>
5250
5251         maint: enable sc_prohibit_hash_pjw_without_use
5252         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
5253         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
5254         to match any use of \<hash_pjw\>, i.e., not necessarily with a
5255         following " (".
5256
5257 2012-01-17  Jim Meyering  <meyering@redhat.com>
5258
5259         maint: enable double-word-prohibiting rule
5260         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5261         Exempt three files.
5262
5263 2012-01-17  Jim Meyering  <meyering@redhat.com>
5264
5265         maint: remove empty lines at EOF, but excluding modules/*
5266         Apply syntax rules at home as well as abroad.  Most changes
5267         were induced by running this:
5268           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5269             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5270             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5271         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5272         Exempt modules/* and two binary files.
5273         Also exempt doc/INSTALL*, per request from Bruno Haible.
5274         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5275         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5276         * doc/Copyright/request-assign.future: Likewise.
5277         * doc/Copyright/request-disclaim.changes: Likewise.
5278         * doc/INSTALL: Likewise.
5279         * doc/INSTALL.ISO: Likewise.
5280         * doc/INSTALL.UTF-8: Likewise.
5281         * doc/acl-cygwin.txt: Likewise.
5282         * doc/acl-resources.txt: Likewise.
5283         * doc/fdl-1.2.texi: Likewise.
5284         * doc/fdl-1.3.texi: Likewise.
5285         * doc/fdl.texi: Likewise.
5286         * lib/argp-pin.c: Likewise.
5287         * lib/round.c: Likewise.
5288         * lib/unicase/u16-totitle.c: Likewise.
5289         * lib/unictype/block_test.c: Likewise.
5290         * lib/uninorm/canonical-decomposition.c: Likewise.
5291         * m4/README: Likewise.
5292         * m4/relocatable-lib.m4: Likewise.
5293         * tests/test-isnand-nolibm.c: Likewise.
5294         * tests/test-isnand.c: Likewise.
5295         * tests/uninorm/NormalizationTest.txt: Likewise.
5296
5297 2012-01-17  Jim Meyering  <meyering@redhat.com>
5298
5299         maint: add framework to run syntax-check rules against gnulib sources
5300         * cfg.mk: New file, to disable all currently-failing tests.
5301         We'll enable them one by one, as they are made to pass.
5302         * Makefile (sc_maint): New rule.
5303
5304 2012-01-21  Bruno Haible  <bruno@clisp.org>
5305
5306         stdint: Add support for Android.
5307         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5308         include the system's <stdint.h>.
5309         Reported by Simon Josefsson <simon@josefsson.org>.
5310
5311 2012-01-19  Jim Meyering  <meyering@redhat.com>
5312
5313         bootstrap: add bootstrap_post_import_hook
5314         Bison does still need something like the gnulib_mk_hook whose
5315         invocation I had to remove along with slurp in commit 767ccd40.
5316         Technically, we could get along without it, but doing so would
5317         have required living with a warning and a mandatory post-bootstrap
5318         automake rerun.
5319         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5320         (bootstrap_post_import_hook): New function.
5321         Invoke it after gnulib-tool --import and before autoreconf.
5322
5323 2012-01-18  Jim Meyering  <meyering@redhat.com>
5324
5325         gitlog-to-changelog: don't use "no_"-prefixed variable name
5326         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5327         to enable both --cluster and --no-cluster.  Change variable name,
5328         s/\$no_cluster/$cluster/, and reverse usage to match.
5329
5330         gitlog-to-changelog: use "||", not "or" in expressions
5331         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5332         expressions.
5333
5334 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5335
5336         gitlog-to-changelog: new option --no-cluster
5337         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5338         clustering of adjacent commit messages.
5339
5340 2012-01-17  Jim Meyering  <meyering@redhat.com>
5341
5342         maint: spell file systems with two words, not one
5343         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5344         two words, not one.
5345
5346 2012-01-16  Jim Meyering  <meyering@redhat.com>
5347
5348         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5349         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5350
5351 2012-01-16  Eric Blake  <eblake@redhat.com>
5352
5353         bootstrap: cater to autoconf 2.59
5354         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5355         is not available.
5356
5357         bootstrap: properly check for libtool
5358         * build-aux/bootstrap (libtoolize): Also run libtool when older
5359         usage is detected.
5360
5361 2012-01-15  Bruno Haible  <bruno@clisp.org>
5362
5363         Improve support for MSVC 9.
5364         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5365         clashes on MSVC.
5366         * lib/fcntl.in.h: Likewise.
5367         * lib/stdlib.in.h: Likewise.
5368         * lib/sys_stat.in.h: Likewise.
5369
5370 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5371
5372         gnupload: we hold the master copy of this script now
5373         For motivation and more information, see:
5374         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5375         * build-aux/gnupload: Make it clear in the heading comments that the
5376         master copy of this file is maintained by gnulib.  Since we are at
5377         it, bump its copyright year and ...
5378         ($scriptversion): ... the date in its version.
5379         ($usage): Patches and bug reports should be sent to the gnulib list,
5380         not the automake one.
5381         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5382         anymore.
5383
5384 2012-01-15  Bruno Haible  <bruno@clisp.org>
5385
5386         Fix module 'random'.
5387         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5388         initstate, setstate are declared.
5389
5390 2012-01-14  Bruno Haible  <bruno@clisp.org>
5391
5392         Tests for module 'random'.
5393         * modules/random-tests: New file.
5394         * tests/test-random.c: New file, based on tests/test-random_r.c.
5395
5396         New module 'random'.
5397         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5398         declarations.
5399         * lib/random.c: New file, based on glibc/stdlib/random.c.
5400         * m4/random.m4: New file.
5401         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5402         HAVE_RANDOM.
5403         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5404         * modules/random: New file.
5405         * config/srclist.txt: Add an entry for random.c.
5406         * doc/posix-functions/random.texi: Mention the 'random' module.
5407         * doc/posix-functions/initstate.texi: Likewise.
5408         * doc/posix-functions/setstate.texi: Likewise.
5409         * doc/posix-functions/srandom.texi: Likewise.
5410
5411 2012-01-12  Bruno Haible  <bruno@clisp.org>
5412
5413         random_r: Use common idioms.
5414         * lib/random_r.c: Include <stdlib.h> first.
5415
5416         random_r: Override incompatible API on AIX, OSF/1.
5417         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5418         Override the system function if REPLACE_RANDOM_R is 1.
5419         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5420         and OSF/1, set REPLACE_RANDOM_R.
5421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5422         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5423         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5424         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5425         * doc/glibc-functions/random_r.texi: Likewise.
5426         * doc/glibc-functions/setstate_r.texi: Likewise.
5427
5428         random_r: Support for MSVC 9.
5429         * lib/random_r.c: Include stdint.h, not inttypes.h.
5430
5431 2012-01-12  Eric Blake  <eblake@redhat.com>
5432
5433         inet_ntop: guard extra work by IF_LINT
5434         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5435         better code generation when not checking for warnings.
5436         Suggested by Paul Eggert and Jim Meyering.
5437
5438         strptime: fix regression on mingw
5439         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5440         Fix regression.  Reported by Bruno Haible.
5441
5442 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5443             Bruno Haible  <bruno@clisp.org>
5444
5445         copy-file: add error-code-returning variant.
5446         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5447         (qcopy_file_preserving): New declaration.
5448         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5449         copy_file_preserving. Change return type to 'int'. Don't emit an error
5450         message here.
5451         (copy_file_preserving): New function.
5452         * tests/test-copy-file.c: Include <stdlib.h>.
5453         (main): Test qcopy_file_preserving if the environment variable
5454         NO_STDERR_OUTPUT is set.
5455         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5456         with NO_STDERR_OUTPUT
5457         * tests/test-copy-file-2.sh: Likewise.
5458
5459 2012-01-10  Bruno Haible  <bruno@clisp.org>
5460
5461         copy-file: Use 'quote' module consistently.
5462         * lib/copy-file.c (copy_file_preserving): Use quote().
5463
5464         copy-file: Refactor.
5465         * lib/copy-file.c: Include quote.h.
5466         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5467         message here.
5468         * modules/copy-file (Depends-on): Add quote.
5469
5470         acl: Export qcopy_acl.
5471         * lib/acl.h (qcopy_acl): New declaration.
5472         * lib/copy-acl.c (qcopy_acl): Make non-static.
5473
5474         acl: Rename a local variable.
5475         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5476
5477         acl: Align return values of copy_acl and qcopy_acl.
5478         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5479         maybe < -1.
5480
5481 2012-01-11  Eric Blake  <eblake@redhat.com>
5482
5483         strptime: silence gcc warnings
5484         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5485         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5486         Reported by Daniel P. Berrange.
5487
5488         inet_ntop: silence gcc warning
5489         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5490         Reported by Daniel P. Berrange.
5491
5492 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5493
5494         getloadavg test: skip the test on GNU/Linux without /proc mounted
5495         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5496         file.  When /proc is not mounted, it always fails with ENOENT.
5497         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5498         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5499
5500 2012-01-10  Bruno Haible  <bruno@clisp.org>
5501
5502         regex: Avoid link error on MSVC 9.
5503         * modules/regex (Depends-on): Add wctype.
5504
5505 2012-01-10  Bruno Haible  <bruno@clisp.org>
5506
5507         doc: Mention --with-tests option.
5508         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5509         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5510         --with-tests.
5511         Reported by Reuben Thomas.
5512
5513 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5514
5515         users.txt: order package names lexicographically.
5516         * users.txt: Order package names lexicographically.
5517
5518 2012-01-10  Jim Meyering  <meyering@redhat.com>
5519
5520         maint.mk: fix description in comment
5521         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5522
5523         ignore-value: remove deprecated ignore_ptr function
5524         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5525         * NEWS: Note this.
5526
5527 2012-01-09  Jim Meyering  <meyering@redhat.com>
5528
5529         test-init.sh: avoid a subshell
5530         * tests/test-init.sh: Remove protective subshell.
5531         Suggested by Bernhard Voelker.  While a subshell is normally
5532         required to protect against older shells (Solaris, FreeBSD) that
5533         warn about a missing program before performing redirection, the
5534         shell-selection tests performed by init.sh probably exclude any
5535         offending shell.
5536
5537 2012-01-08  Bruno Haible  <bruno@clisp.org>
5538
5539         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5540         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5541         variable.
5542
5543 2012-01-08  Bruno Haible  <bruno@clisp.org>
5544
5545         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5546         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5547         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5548         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5549         macro.
5550         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5551         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5552         * lib/spawn_faction_addopen.c: Add workaround implementation if
5553         HAVE_WORKING_POSIX_SPAWN.
5554         * modules/spawn (Makefile): Substitute
5555         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5556         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5557         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5558         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5559         (Depends-on): Update conditions.
5560         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5561         the Solaris 11 bug.
5562
5563 2012-01-08  Bruno Haible  <bruno@clisp.org>
5564
5565         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
5566         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5567         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5568         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
5569         macro.
5570         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
5571         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5572         * lib/spawn_faction_adddup2.c: Add workaround implementation if
5573         HAVE_WORKING_POSIX_SPAWN.
5574         * modules/spawn (Makefile): Substitute
5575         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5576         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
5577         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
5578         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5579         (Depends-on): Update conditions.
5580         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
5581         the Solaris 11 bug.
5582
5583 2012-01-08  Bruno Haible  <bruno@clisp.org>
5584
5585         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
5586         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5587         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5588         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
5589         HAVE_WORKING_POSIX_SPAWN.
5590         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
5591         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
5592         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5593         * lib/spawn_faction_addclose.c: Add workaround implementation if
5594         HAVE_WORKING_POSIX_SPAWN.
5595         * modules/spawn (Makefile): Substitute
5596         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5597         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
5598         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
5599         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5600         (Depends-on): Update conditions.
5601         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
5602         the Solaris 11 bug.
5603
5604 2012-01-08  Bruno Haible  <bruno@clisp.org>
5605
5606         doc: Update for Solaris 11 2011-11.
5607         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
5608         * m4/printf.m4: Update comments.
5609
5610 2012-01-08  Bruno Haible  <bruno@clisp.org>
5611
5612         mktime: Avoid compilation error on Solaris 11.
5613         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
5614
5615 2012-01-08  Bruno Haible  <bruno@clisp.org>
5616
5617         doc: Small fix.
5618         * doc/posix-headers/nl_types.texi: Correct platforms list.
5619
5620 2012-01-08  Simon Josefsson  <simon@josefsson.org>
5621
5622         Add lgpl-3.0 module.
5623         * MODULES.html.sh (Support for building documentation): Add
5624         lgpl-3.0.
5625         * modules/lgpl-3.0: New file.
5626
5627 2012-01-08  Jim Meyering  <meyering@redhat.com>
5628
5629         select.c: indent with spaces, not TABs
5630         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
5631
5632 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5633
5634         quotearg: do not use grave accent for left quote
5635         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
5636         locale_quoting_style.
5637         (quotearg_buffer_restyled): Fix example.
5638         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
5639
5640 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5641
5642         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
5643         Most programs do not have translation catalogs for English and much
5644         less separate catalogs for British and American English.  Drop the
5645         suggestion to translators about these two, and provide it
5646         automatically for Unicode locales.  Like most programs, even those
5647         using American English, we use single quotation marks.  This conflicts
5648         with the American typographic convention, but works better when you
5649         cite the entire error message within double quotes.  It also tries not
5650         to clash with established practice and with what non-gnulib programs
5651         will usually do.
5652         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
5653         using an UTF-8 or GB-18030 locale.  The list of other locales with
5654         quotes was provided by Bruno Haible.
5655         (quotearg_buffer_restyled): Adjust instructions to translators.
5656         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
5657         text, since this would be wrong when using Unicode.
5658         * modules/quotearg: Depend on c-strcaseeq.
5659
5660 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5661
5662         quotearg: fix Wikipedia link
5663         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
5664
5665 2012-01-07  Simon Josefsson  <simon@josefsson.org>
5666
5667         Fix for mingw with MSVC9.
5668         * m4/ld-version-script.m4: Check that compiler rejects version
5669         scripts with syntax errors.  Reported by Bruno Haible
5670         <bruno@clisp.org>.
5671
5672 2012-01-06  Bruno Haible  <bruno@clisp.org>
5673
5674         Talk about "native Windows API", not "Woe32".
5675         * lib/accept4.c: Update comments to mention native Windows.
5676         * lib/execute.c: Likewise.
5677         * lib/fatal-signal.c: Likewise.
5678         * lib/localcharset.c: Likewise.
5679         * lib/nanosleep.c: Likewise.
5680         * lib/nl_langinfo.c: Likewise.
5681         * lib/pclose.c: Likewise.
5682         * lib/pipe-filter-gi.c: Likewise.
5683         * lib/pipe-filter-ii.c: Likewise.
5684         * lib/pipe.c: Likewise.
5685         * lib/pipe2.c: Likewise.
5686         * lib/popen.c: Likewise.
5687         * lib/progreloc.c: Likewise.
5688         * lib/relocatable.c: Likewise.
5689         * lib/sigaction.c: Likewise.
5690         * lib/sigprocmask.c: Likewise.
5691         * lib/spawn-pipe.h: Likewise.
5692         * lib/spawn-pipe.c: Likewise.
5693         * lib/spawni.c: Likewise.
5694         * lib/stat-time.h: Likewise.
5695         * lib/w32spawn.h: Likewise.
5696         * tests/test-isatty.c: Likewise.
5697         * lib/config.charset: More comments.
5698         * doc/gnulib-intro.texi: Mention native Windows.
5699         * doc/posix-functions/_Exit_C99.texi: Likewise.
5700         * doc/posix-headers/fcntl.texi: Likewise.
5701
5702 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
5703
5704         argp: Avoid crash if translator uses % characters in a translation.
5705         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
5706         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5707
5708 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
5709
5710         doc: C11 and C++11 are now official
5711         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
5712         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
5713         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
5714         * modules/stdalign:
5715         Replace references to draft C1X to C11, and to draft C++0X to C++11.
5716
5717 2012-01-06  Bruno Haible  <bruno@clisp.org>
5718
5719         uc-is-grapheme-break tests: Tweak.
5720         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
5721         message.
5722
5723 2012-01-06  Bruno Haible  <bruno@clisp.org>
5724
5725         test-init.sh: correct the test for diff -u
5726         * tests/test-init.sh: Also redirect stdout to /dev/null.
5727
5728 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5729
5730         Use ', not `, for quoting output.
5731         * build-aux/announce-gen (usage, sizes, print_news_deltas)
5732         (print_changelog_deltas, get_tool_versions, main program):
5733         * build-aux/git-version-gen:
5734         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
5735         * build-aux/move-if-change (help):
5736         * build-aux/useless-if-before-free (usage, main program):
5737         * check-module (parse_module_file, usage)
5738         (find_included_lib_files, check_module):
5739         * lib/argmatch.c (main) [TEST]:
5740         * lib/argp-help.c (_help):
5741         * lib/getopt1.c (main) [TEST]:
5742         * lib/git-merge-changelog.c (usage):
5743         * lib/xstrtol-error.c (xstrtol_error):
5744         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5745         * m4/argz.m4 (gl_FUNC_ARGZ):
5746         * m4/bison.m4 (gl_BISON):
5747         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
5748         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
5749         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5750         * m4/fpending.m4 (gl_PREREQ_FPENDING):
5751         * m4/gc-random.m4 (gl_GC_RANDOM):
5752         * m4/intl.m4 (gt_CHECK_DECL):
5753         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
5754         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
5755         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
5756         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
5757         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
5758         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
5759         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
5760         * tests/test-dirname.c (main):
5761         * tests/test-getpass.c (main):
5762         * tests/test-iconvme.c (main):
5763         * tests/test-parse-datetime.c (LOG):
5764         * tests/test-xstrtoimax.sh:
5765         * tests/test-xstrtol.sh:
5766         * tests/test-xstrtoll.sh:
5767         * tests/test-xstrtoumax.sh:
5768         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5769         * top/GNUmakefile (abort-due-to-no-makefile):
5770         Quote 'like this', not `like this', as per the recent change to
5771         the GNU coding standards.
5772
5773 2012-01-05  Bruno Haible  <bruno@clisp.org>
5774
5775         strtoimax: Don't force a replacement on systems where intmax_t is int.
5776         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5777         'intmax_t' is not larger than 'int'.
5778         Reported by Pádraig Brady <P@draigBrady.com>.
5779
5780 2012-01-05  Bruno Haible  <bruno@clisp.org>
5781
5782         doc: Mention NetBSD bugs.
5783         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5784         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5785
5786 2012-01-05  Bruno Haible  <bruno@clisp.org>
5787
5788         strtoumax tests: Enhance tests.
5789         * tests/test-strtoumax.c (main): Add tests for large values.
5790
5791 2012-01-05  Bruno Haible  <bruno@clisp.org>
5792
5793         strtoimax: Work around AIX 5.1 bug.
5794         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5795         definition.
5796         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5797         Set HAVE_STRTOIMAX.
5798         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5799         REPLACE_STRTOIMAX.
5800         * modules/inttypes-incomplete (Makefile.am): Substitute
5801         REPLACE_STRTOIMAX.
5802         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5803         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5804         (Depends-on): Update conditions.
5805         * tests/test-strtoimax.c (main): Add tests for large values.
5806         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5807
5808 2012-01-05  Bruno Haible  <bruno@clisp.org>
5809
5810         inttypes: Modernize.
5811         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5812         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5813         (Makefile.am): Update inttypes.h rule.
5814
5815 2012-01-05  Jim Meyering  <meyering@redhat.com>
5816
5817         init.sh: don't waste a subshell just to redirect stderr
5818         * tests/init.sh: In testing for diff -u and diff -c, use a
5819         stderr-redirecting exec inside `...` rather than a subshell.
5820
5821         test-init.sh: avoid failure on HP-UX 11.00
5822         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5823         resolves to diff -c or cmp.  Reported by Bruno Haible.
5824
5825 2012-01-05  Bruno Haible  <bruno@clisp.org>
5826
5827         Tests for module 'strtoull'.
5828         * modules/strtoull-tests: New file.
5829         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5830
5831 2012-01-05  Bruno Haible  <bruno@clisp.org>
5832
5833         Tests for module 'strtoll'.
5834         * modules/strtoll-tests: New file.
5835         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5836
5837 2012-01-05  Bruno Haible  <bruno@clisp.org>
5838
5839         Tests for module 'strtoul'.
5840         * modules/strtoul-tests: New file.
5841         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5842
5843 2012-01-05  Bruno Haible  <bruno@clisp.org>
5844
5845         Tests for module 'strtol'.
5846         * modules/strtol-tests: New file.
5847         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5848
5849 2012-01-04  Jim Meyering  <meyering@redhat.com>
5850
5851         test-init.sh: accommodate Solaris 5.10's different diff -u output
5852         * tests/test-init.sh: Also exempt @@ lines from the comparison
5853         of diff output, since Solaris 5.10 and GNU diff formats differ.
5854         Reported by Stefano Lattarini.
5855
5856 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5857
5858         test-posixtm: don't assume signed integer wraparound
5859         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5860         after signed integer overflow.  Inspired by (though it may not
5861         fix) Bruno Haible's bug report in
5862         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5863
5864         Spell out "Windows 9x" and "Windows XP".
5865         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5866         "Windows 9x" and "WinXP" with "Windows XP".
5867
5868 2012-01-04  Jim Meyering  <meyering@redhat.com>
5869
5870         test-vc-list-files-cvs.sh: remove obsolete comment
5871         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5872         double exit.  Now that's all encapsulated via skip_ and Exit.
5873
5874 2012-01-04  Bruno Haible  <bruno@clisp.org>
5875
5876         Talk about "native Windows API", not "Win32".
5877         * lib/classpath.c: Update comments to mention native Windows.
5878         * lib/csharpexec.c: Likewise.
5879         * lib/dup2.c: Likewise.
5880         * lib/error.c: Likewise.
5881         * lib/fcntl.c: Likewise.
5882         * lib/filename.h: Likewise.
5883         * lib/findprog.c: Likewise.
5884         * lib/get-rusage-as.c: Likewise.
5885         * lib/get-rusage-data.c: Likewise.
5886         * lib/getpagesize.c: Likewise.
5887         * lib/javaexec.c: Likewise.
5888         * lib/msvc-inval.c: Likewise.
5889         * lib/msvc-nothrow.c: Likewise.
5890         * lib/nanosleep.c: Likewise.
5891         * lib/nonblocking.c: Likewise.
5892         * lib/printf-parse.c: Likewise.
5893         * lib/setlocale.c: Likewise.
5894         * lib/sigaction.c: Likewise.
5895         * lib/strerror_r.c: Likewise.
5896         * lib/tmpdir.c: Likewise.
5897         * lib/vasnprintf.c: Likewise.
5898         * lib/w32spawn.h: Likewise.
5899         * lib/waitpid.c: Likewise.
5900         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5901         * m4/locale-ar.m4: Likewise.
5902         * m4/locale-fr.m4: Likewise.
5903         * m4/locale-ja.m4: Likewise.
5904         * m4/locale-tr.m4: Likewise.
5905         * m4/locale-zh.m4: Likewise.
5906         * m4/printf.m4: Likewise.
5907         * tests/test-cloexec.c: Likewise.
5908         * tests/test-copy-acl.sh: Likewise.
5909         * tests/test-copy-file.sh: Likewise.
5910         * tests/test-file-has-acl.sh: Likewise.
5911         * tests/test-set-mode-acl.sh: Likewise.
5912         * tests/test-dup-safer.c: Likewise.
5913         * tests/test-dup2.c: Likewise.
5914         * tests/test-dup3.c: Likewise.
5915         * tests/test-fcntl.c: Likewise.
5916         * tests/test-nonblocking-pipe.h: Likewise.
5917         * tests/test-nonblocking-socket.h: Likewise.
5918         * tests/test-pipe.c: Likewise.
5919         * tests/test-pipe2.c: Likewise.
5920         * tests/test-spawn-pipe-child.c: Likewise.
5921         * doc/acl-resources.txt: Likewise.
5922         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5923         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5924         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5925         * lib/localcharset.c: Update comments to mention native Windows.
5926         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5927         * lib/localename.c: Likewise.
5928         * lib/progreloc.c: Likewise.
5929         * lib/relocatable.c: Likewise.
5930         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5931         (windows_compute_revents): Renamed from win32_compute_revents.
5932         (windows_compute_revents_socket): Renamed from
5933         win32_compute_revents_socket.
5934         * lib/select.c: Update comments to mention native Windows.
5935         (windows_poll_handle): Renamed from win32_poll_handle.
5936         * m4/threadlib.m4: Update comments to mention native Windows.
5937         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5938         --enable-threads=windows instead of --enable-threads=win32. Set
5939         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5940         * lib/glthread/lock.h: Update comments to mention native Windows.
5941         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5942         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5943         USE_WIN32_THREADS.
5944         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5945         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5946         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5947         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5948         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5949         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5950         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5951         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5952         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5953         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5954         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5955         * tests/test-tls.c: Likewise.
5956         Rationale:
5957         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5958         on both 32-bit and 64-bit Windows systems.
5959         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5960         line of distinction is between "native Windows" on one side and Unix/
5961         POSIX systems on the other side. More details in
5962         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5963         Suggested by Paul Eggert.
5964
5965 2012-01-03  Bruno Haible  <bruno@clisp.org>
5966
5967         isatty: Support for MSVC 9.
5968         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5969         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5970         (_isatty_nothrow): New function.
5971         (isatty): Use it instead of _isatty.
5972         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5973         * lib/poll.c (IsConsoleHandle): Likewise.
5974         * lib/select.c (IsConsoleHandle): Likewise.
5975         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5976         (gl_PREREQ_ISATTY): New macro.
5977         * modules/isatty (Depends-on): Add msvc-inval.
5978         (configure.ac): Invoke gl_PREREQ_ISATTY.
5979
5980 2012-01-03  Jim Meyering  <meyering@redhat.com>
5981
5982         maint.mk: remove temporary transition aid from over 1.5 years ago
5983         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5984         purpose was to aid in the transition (avoiding silent malfunction)
5985         from that old name to the new _sc_search_regexp.  This shim was
5986         added by commit 219c504b.
5987
5988         init.sh: do not try to accommodate compare arguments starting with "-"
5989         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5990         compare arguments that start with "-".  Besides, we do not worry
5991         about this when invoking diff or cmp; why start now with sed?
5992         Using "--" to separate options from argument would trigger sed
5993         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5994         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5995
5996 2012-01-02  Bruno Haible  <bruno@clisp.org>
5997
5998         Enhance tests for module 'isatty'.
5999         * modules/isatty-tests (Depends-on): Add pipe-posix.
6000         * tests/test-isatty.c: Include <fcntl.h>.
6001         (DEV_NULL): New macro.
6002         (main): Test the resut of isatty() also on regular files, pipes, and
6003         /dev/null.
6004
6005         New module 'isatty'.
6006         * lib/unistd.in.h (isatty): New declaration.
6007         * lib/isatty.c: New file, based on an idea of
6008         Bastien Roucariès <roucaries.bastien@gmail.com>.
6009         * m4/isatty.m4: New file.
6010         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6011         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6012         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6013         REPLACE_ISATTY.
6014         * modules/isatty: New file.
6015         * doc/posix-functions/isatty.texi: Mention the new module.
6016         Suggested by Paolo Bonzini.
6017
6018 2012-01-02  Bruno Haible  <bruno@clisp.org>
6019
6020         canonicalize: Tweak 2011-12-29 commit.
6021         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6022         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6023
6024 2012-01-02  Jim Meyering  <meyering@redhat.com>
6025
6026         gitlog-to-changelog: describe input syntax in --help output
6027         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6028
6029         gitlog-to-changelog: fix typo in --help: show backslash before email @
6030         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6031         in sources, but not in actual output.
6032
6033 2011-12-30  Jim Meyering  <meyering@redhat.com>
6034
6035         gitlog-to-changelog: don't malfunction when name contains %-directive
6036         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6037         in a name string cause trouble.  E.g., with a user name of "%s",
6038         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6039
6040 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6041
6042         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6043         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6044         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6045         the "  (tiny change)" notation that is appended to the standard
6046         ChangeLog "date  name  email" header line.
6047
6048 2012-01-01  Jim Meyering  <meyering@redhat.com>
6049
6050         test-framework-sh: init.sh: fix "make dist" failure
6051         When using gnulib-tool's --with-tests option and any module that
6052         depends on test-framework-sh, "make dist" would fail due to the
6053         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6054         in the gltests directory, and not in the gllib/ directory.
6055         One way to work around that is to move the EXTRA_DIST += init.sh
6056         from the primary module to the -tests one:
6057         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6058         * modules/test-framework-sh (Makefile.am): ...not here.
6059         Reported by Tom G. Christensen in
6060         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6061
6062         version-etc: update copyright year reported by --version
6063         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6064
6065 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6066
6067         canonicalize: only stat() if required
6068         * lib/canonicalize.c (canonicalize_filename_mode):
6069         Avoid calling l?stat() when both CAN_MISSING,
6070         and CAN_NOLINKS are set, as we neither need
6071         to resolve symlinks or test component existence.
6072
6073 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6074
6075         doc: cover st_ino issues once; add OpenVMS etc.
6076         * doc/posix-functions/stat.texi (stat):
6077         * doc/posix-functions/lstat.texi (lstat):
6078         * doc/posix-functions/fstatat.texi (fstatat):
6079         * doc/posix-functions/fstat.texi (fstat):
6080         Move general 'struct stat' stuff to sys_stat.texi,
6081         leaving behind a pointer.
6082         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6083         Merge duplicate info about 'struct stat' problems into here.
6084         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6085         and suggest partial workarounds.
6086
6087         same-inode: port to OpenVMS
6088         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6089         three st_ino values.
6090
6091 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6092
6093         canonicalize: fix references to stat() and lstat()
6094         * lib/canonicalize.c (canonicalize_filename_mode):
6095         Ensure references always resolve to a replacement
6096         function if required (even via a macro).
6097
6098 2011-12-30  Jim Meyering  <meyering@redhat.com>
6099
6100         gitlog-to-changelog: remove a little duplication
6101         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6102         rather than twice.
6103
6104 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6105
6106         canonicalize: add support for not resolving symlinks
6107         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6108         indicate we don't want to follow symlinks.  Also
6109         provide CAN_MODE_MASK to aid setting these existing
6110         mutually exclusive values.
6111         * lib/canonicalize.c (canonicalize_filename_mode):
6112         Extract the flags from can_mode parameter, which
6113         are currently just used to select between stat()
6114         and lstat().  Also ensure that mutually exclusive
6115         values are flagged immediately as invalid.
6116         * tests/test-canonicalize.c: Verify symlinks are
6117         not followed, and that invalid flag combinations
6118         are diagnosed.
6119
6120 2011-12-25  Jim Meyering  <meyering@redhat.com>
6121
6122         gitlog-to-changelog: do not clump multi-paragraph entries
6123         Identical header lines (date,name,email+coauthors) are suppressed,
6124         thus putting all entries with those same characteristics under
6125         a single header.  However, when a log entry consists of two or
6126         more paragraphs, it may not be clear where it starts and ends.
6127         This change makes it so that such an entry is always separated
6128         from others by a header line, even when that header would
6129         otherwise be suppressed.
6130         * build-aux/gitlog-to-changelog: Implement the above.
6131         Inspired by a related request from Stefano Lattarini in
6132         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6133
6134 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6135
6136         announce-gen: fix `cmd' typo in diagnostic
6137         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6138         diagnostic: a missing '$' meant that the command was not output.
6139
6140 2011-12-23  Jim Meyering  <meyering@redhat.com>
6141
6142         test-framework-sh: distribute init.sh
6143         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6144         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6145         fail due to the lack of init.sh.
6146
6147         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6148         * modules/atexit-tests: Rather than listing tests/init.sh,
6149         now that there's a module for it, simply depend on that new module.
6150         * modules/closein-tests: Likewise.
6151         * modules/exclude-tests: Likewise.
6152         * modules/getcwd-tests: Likewise.
6153         * modules/perror-tests: Likewise.
6154         * modules/pread-tests: Likewise.
6155         * modules/pwrite-tests: Likewise.
6156         * modules/vc-list-files-tests: Likewise.
6157         * modules/verify-tests: Likewise.
6158         * modules/xalloc-die-tests: Likewise.
6159         * modules/xstrtoimax-tests: Likewise.
6160         * modules/xstrtol-tests: Likewise.
6161         * modules/xstrtoll-tests: Likewise.
6162         * modules/xstrtoumax-tests: Likewise.
6163         * modules/yesno-tests: Likewise.
6164
6165 2011-12-22  Jim Meyering  <meyering@redhat.com>
6166
6167         test-framework-sh: add minimal tests of init.sh's compare function
6168         * modules/test-framework-sh-tests: New file.
6169         * tests/test-init.sh: New file.
6170
6171         test-framework-sh: new module
6172         * modules/test-framework-sh: New file.
6173         * MODULES.html.sh (Support for maintaining and releasing projects):
6174         List it.
6175
6176         init.sh: do not emit simulated diff output to stderr
6177         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6178
6179 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6180
6181         .gitignore: ignore gnulib.dvi and regex.info
6182         * doc/.gitignore:add gnulib.dvi and regex.info
6183
6184 2011-12-22  Jim Meyering  <meyering@redhat.com>
6185
6186         init.sh: correct previous change
6187         * tests/init.sh (compare): My previous change was wrong.
6188         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6189
6190         init.sh: avoid unwarranted test failure when using "set -e"
6191         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6192         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6193         a use like "compare exp out" would get evoke an unconditional failure.
6194
6195 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6196
6197         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6198         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6199         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6200         autoreconf that did not.
6201         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6202         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6203
6204 2011-12-17  Jim Meyering  <meyering@redhat.com>
6205
6206         bootstrap: remove some now-unneeded code
6207         This script arose back when gnulib-tool was young.
6208         Since then, it has seen improvements that render much of this
6209         script unnecessary.  In particular, it can now make symlinks
6210         to the files it uses.  Also, I no longer see as much value in
6211         marking files as read-only via comments.
6212         If you relied on the symlink-creation feature of the preceding
6213         version of this script, you can get most of that functionality
6214         by adding the --symlink option to the definition of
6215         gnulib_tool_option_extras in your bootstrap.conf file.
6216         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6217         Run autopoint and libtoolize *before* gnulib-tool.
6218         After it, run an abbreviated autoreconf, rather than a loop around
6219         all tools.
6220         (slirp, bt_mark_as_generated): Remove functions.
6221
6222 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6223
6224         ftoastr: fix typo
6225         * lib/ftoastr.h: Fix misspelling in comment.
6226
6227 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6228
6229         * top/README-release: fix punctuation.
6230
6231 2011-12-17  Jim Meyering  <meyering@redhat.com>
6232
6233         bootstrap: correct the recent buildreq change
6234         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
6235         had no effect.
6236         * build-aux/bootstrap (buildreq): Bracket each search term with
6237         "*...*", so that the shell "case" statement works as intended.
6238         Add comments.
6239
6240 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
6241
6242         build: let bootstrap resort to wget when downloading .po files
6243         * build-aux/bootstrap (download_po_files): Fallback to wget when
6244         downloading the .po files via rsync fails.  This is necessary to
6245         bootstrap from behind a strict firewall.
6246
6247 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6248
6249         stdint: don't assume C++11 when compiling with g++
6250         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
6251         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
6252         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
6253         work also in C++ before C++11, as that improperly inhibits
6254         generating a substitute stdint.h for that case.
6255
6256 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6257
6258         alloca: protect comment from gnulib-tool
6259         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6260         that gnulib-tool doesn't think it's a license, and munge it to
6261         say "GCC version 3".
6262
6263 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6264
6265         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6266         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6267         $(abs_top_builddir) instead of $(top_builddir).
6268
6269 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6270
6271         strftime-tests: also test nanoseconds
6272         * tests/test-strftime.c (T): Add a test of %N.
6273
6274 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6275
6276         inttypes, stdint: add C++11 support
6277         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6278         when including inttypes.h and stdint.h.  Support this change to
6279         the standard.
6280         * doc/posix-headers/inttypes.texi (inttypes.h):
6281         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6282         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6283         Define if not defined already, for the benefit of pre-C++11 hosts.
6284         Define the standard format macros (e.g., PRId8) always.
6285         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6286         Likewise, if __cpluspus.  Define the standard constant and limit
6287         macros (e.g., INT8_C, INT8_MAX) always.
6288         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6289         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6290         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6291         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6292         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6293         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6294         Likewise.
6295
6296 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6297
6298         nonblocking tests: Fix test failure on Linux/PPC.
6299         Suggested by Prerna Saxena in
6300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6301         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6302         Set to 1100000.
6303
6304 2011-12-12  Jim Meyering  <meyering@redhat.com>
6305
6306         argmatch: don't hard-code `' when listing valid option arguments
6307         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6308         use the quote function to add quotes.  Use fputs rather than
6309         fprintf for the format string with no format directive.
6310
6311 2011-12-07  Eric Blake  <eblake@redhat.com>
6312
6313         bootstrap: detect tools required by gnulib-tool
6314         * build-aux/bootstrap (buildreq): Provide minimum implicit
6315         dependencies.
6316         * DEPENDENCIES: Mention patch as a prereq.
6317
6318 2011-12-04  Bruno Haible  <bruno@clisp.org>
6319
6320         sethostname: Port to Windows platforms.
6321         * lib/sethostname.c: Provide an alternate implementation for Windows
6322         platforms.
6323         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6324         (main): Skip the test if sethostname() fails with EPERM. On Windows
6325         platforms, don't check the result of gethostname().
6326
6327 2011-12-04  Bruno Haible  <bruno@clisp.org>
6328             Jim Meyering  <meyering@redhat.com>
6329
6330         tests: Avoid spurious error message on platforms without mktemp program.
6331         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6332
6333 2011-12-04  Bruno Haible  <bruno@clisp.org>
6334
6335         sethostname: Fix documentation.
6336         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6337         "not fixed" section.
6338
6339 2011-12-03  Bruno Haible  <bruno@clisp.org>
6340
6341         gnulib-tool: Verify that the License field is present and non-empty.
6342         * gnulib-tool (func_get_license_raw): New function, extracted from
6343         func_get_license.
6344         (func_get_license): Use it. Warn if the module is not a test module and
6345         has no license.
6346         Suggested by Jim Meyering.
6347
6348 2011-12-03  Bruno Haible  <bruno@clisp.org>
6349
6350         sethostname tests: Fix link error on mingw.
6351         * tests/test-sethostname1.c: New file, extracted from
6352         tests/test-sethostname.c.
6353         * tests/test-sethostname2.c: New file, extracted from
6354         tests/test-sethostname.c.
6355         * tests/test-sethostname.c: Remove file.
6356         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6357         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6358         (Depends-on): Add gethostname.
6359         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6360         Link the latter with $(GETHOSTNAME_LIB).
6361
6362         sethostname tests: Fix compilation error on mingw.
6363         * tests/test-sethostname.c: Don't include <sys/types.h>.
6364         (geteuid): Use a dummy value without uid_t.
6365         * modules/sethostname-tests (Depends-on): Remove sys_types.
6366
6367         sethostname tests: Avoid a gcc warning.
6368         * tests/test-sethostname.c (main): Remove an unused variable.
6369
6370         Tweak last commit.
6371         * modules/sethostname-tests (Files): Sort by decreasing importance.
6372         (configure.ac): Check for geteuid.
6373         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6374         the test when there's nothing to test. Drop an unnecessary cast.
6375         Improve an error message. Verify that the final sethostname() call
6376         succeeds.
6377
6378 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6379
6380         Add a test suite for the sethostname module.
6381         * modules/sethostname-tests: New file.  A test program
6382         for the sethostname module.
6383         * tests/test-sethostname.c: Likewise.
6384
6385 2011-12-03  Bruno Haible  <bruno@clisp.org>
6386
6387         Tweak last commit.
6388         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6389         Fix preprocessor directives indentation. Fix typos.
6390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6391         * modules/unistd (Makefile): Likewise.
6392
6393 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6394
6395         Integrate the sethostname module into unistd.
6396         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6397         into the unistd.h header.
6398         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6399         preprocessor directives.
6400         * modules/unistd: Setup the Makefile substitutions of the
6401         SETHOSTNAME preprocessor directives.
6402
6403 2011-12-03  Bruno Haible  <bruno@clisp.org>
6404
6405         Tweak last commit.
6406         * lib/sethostname.c: Don't include <string.h>.
6407         (sethostname): No need to copy the argument string to the stack. Don't
6408         call clearerr. Preserve errno when fprintf failed.
6409         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6410         Don't invoke AC_REPLACE_FUNCS.
6411         * modules/sethostname (Link): Remove empty section.
6412         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6413         failure problem.
6414
6415 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6416
6417         New module 'sethostname'.
6418         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6419         for systems that lack it.
6420         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6421         sethostname declaration and function.
6422         * modules/sethostname: New file.  Define the sethostname module.
6423
6424 2011-12-03  Bruno Haible  <bruno@clisp.org>
6425
6426         Tweak last commit.
6427         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6428
6429 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6430
6431         Split the HOST_NAME_MAX detection into a separate m4 macro.
6432         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6433         macro so it can be used by the pending sethostname module.
6434
6435 2011-12-03  Bruno Haible  <bruno@clisp.org>
6436
6437         Fix module descriptions syntax.
6438         * modules/argv-iter (License): Fix syntax.
6439         * modules/di-set (License): Likewise.
6440         * modules/ino-map (License): Likewise.
6441         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6442
6443 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6444
6445         stdalign: port to Clang 3.0
6446         Problem reported by Simon Josefsson in
6447         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6448         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6449         which has <stdalign.h> but which does not define alignof.
6450         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6451
6452 2011-12-01  Eric Blake  <eblake@redhat.com>
6453
6454         mktempd: silence dd usage
6455         * build-aux/mktempd (rand_bytes): Silence dd.
6456
6457 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6458
6459         manywarnings: Don't mention gcc version in docstring.
6460         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6461         Jim Meyering <meyering@redhat.com>.
6462
6463 2011-11-30  Jim Meyering  <meyering@redhat.com>
6464
6465         hash: mark a few floating point constants with "f" suffix
6466         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6467         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6468         floating point constants with "f", since they're destined to be
6469         saved/used as "float"s.
6470
6471 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6472
6473         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6474         * tests/test-float.c (test_long_double): Correct and re-enable the
6475         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6476
6477 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6478
6479         Avoid subtracting two pointers that don't point into the same block.
6480         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6481         only pointers into the same memory block are subtracted. We cannot
6482         assume that sizeof (ptrdiff_t) == sizeof (void *).
6483
6484 2011-11-29  Eric Blake  <eblake@redhat.com>
6485
6486         maint.mk: add syntax check for use of compare from init.sh
6487         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6488         moved here from coreutils.
6489
6490         manywarnings: drop -Wunsuffixed-float-constants
6491         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6492         '1.0D', which is the only way to silence this warning for 'double'.
6493
6494 2011-11-29  Jim Meyering  <meyering@redhat.com>
6495
6496         hash: mark compute_bucket_size with the pure attribute
6497         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6498
6499         quotearg, propername: correct pragma guard expression
6500         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6501         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6502
6503 2011-11-28  Jim Meyering  <meyering@redhat.com>
6504
6505         propername: do not mark proper_name with the const attribute
6506         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6507         since it examines data pointed to by its parameter.
6508         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6509         the suggestion from -Wsuggest-attribute=const.
6510
6511         propername: mark one more function as const
6512         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6513
6514 2011-11-27  Jim Meyering  <meyering@redhat.com>
6515
6516         mark functions with const and pure attributes
6517
6518         Mark functions per suggestions from gcc-4.6 when using these options:
6519         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6520         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6521         Follow these guidelines: when possible, apply the attribute to
6522         an extern declaration, not to its definition.  Apply it to the
6523         definition only when the definition is static.
6524         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6525         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6526         * lib/base64.h (isbase64): Likewise.
6527         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6528         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6529         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6530         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6531         (c_tolower, c_toupper): Likewise.
6532         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6533         * lib/chdir-long.c (find_non_slash): Likewise.
6534         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6535         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6536         * lib/file-type.h (file_type): Likewise.
6537         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6538         * lib/filevercmp.c (verrevcmp): Likewise.
6539         * lib/freadahead.h (freadahead): Likewise.
6540         * lib/fts.c (fts_maxarglen): Likewise.
6541         * lib/hash-pjw.h (hash_pjw): Likewise.
6542         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6543         * lib/hash.c (is_prime, next_prime): Likewise.
6544         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6545         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6546         (hash_table_ok, hash_get_first, hash_string): Likewise.
6547         (compute_bucket_size): Likewise.
6548         * lib/i-ring.h (i_ring_empty): Likewise.
6549         * lib/isnan.c (isnanl): Likewise.
6550         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6551         * lib/memcasecmp.h (memcasecmp): Likewise.
6552         * lib/memchr2.h (memchr2): Likewise.
6553         * lib/memcmp2.h (memcmp2): Likewise.
6554         * lib/parse-datetime.y (lookup_zone): Likewise.
6555         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6556         [!WINDOWS_SOCKETS]: Likewise.
6557         * lib/strnlen1.h (strnlen1): Likewise.
6558         * lib/uniwidth.in.h (uc_width): Likewise.
6559         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6560         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6561         (quoting_options_from_style): Add a comment.
6562         * lib/propername.h (proper_name): Add a comment.
6563
6564 2011-11-27  Bruno Haible  <bruno@clisp.org>
6565
6566         Remove unused macros from !_LIBC code in glibc-borrowed files.
6567         * lib/fnmatch.c (STRCOLL): Remove macro.
6568         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
6569         * lib/glob.c (__stat, __readdir64): Remove macros.
6570         * lib/tempname.c (__open64, __xstat64): Remove macros.
6571         Suggested by Paul Eggert.
6572
6573 2011-11-27  Bruno Haible  <bruno@clisp.org>
6574
6575         getcwd: Fix link error on MSVC 9.
6576         * modules/getcwd (Depends-on): Add readdir, rewinddir.
6577
6578 2011-11-27  Bruno Haible  <bruno@clisp.org>
6579
6580         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
6581         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
6582         HAVE_OPENDIR is 0.
6583         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
6584         HAVE_CLOSEDIR is 0.
6585         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
6586         is 0.
6587         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
6588
6589 2011-11-27  Bruno Haible  <bruno@clisp.org>
6590
6591         getcwd: Fix bug from 2011-08-17.
6592         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
6593         platforms that need it.
6594         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
6595         code of 4 to be a failure, not a success. This ensures that
6596         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
6597
6598 2011-11-27  Bruno Haible  <bruno@clisp.org>
6599
6600         binary-io tests: Avoid test failure on mingw when libtool is used.
6601         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
6602         Don't verify the size of t-bin-out1.tmp here.
6603         * tests/test-binary-io.sh: Verify it here.
6604         Reported by Simon Josefsson.
6605
6606 2011-11-26  Bruno Haible  <bruno@clisp.org>
6607
6608         Fix conflict between two instantiations of module 'unistd'.
6609         * gnulib-tool (func_emit_autoconf_snippet): Substitute
6610         ${include_guard_prefix} also in the autoconf snippet.
6611         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
6612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
6613         GNULIB_UNISTD_H_GETOPT.
6614         * modules/getopt-posix (configure.ac): Set the
6615         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
6616         * modules/getopt-gnu (configure.ac): Likewise.
6617         * modules/unistd (Makefile.am): Change the substitution value of
6618         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
6619         Reported by Simon Josefsson.
6620
6621 2011-11-25  Bruno Haible  <bruno@clisp.org>
6622
6623         pagealign_alloc: Doc and comments.
6624         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
6625         module.
6626         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
6627
6628 2011-11-25  Jim Meyering  <meyering@redhat.com>
6629
6630         test-update-copyright.sh: avoid false-positive failure
6631         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
6632         around false positive failure on Cygwin/Windows.  The latter was
6633         matching erroneously-created files with names like
6634         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
6635
6636 2011-11-25  Simon Josefsson  <simon@josefsson.org>
6637
6638         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
6639         * m4/valgrind-tests.m4: Check that the parameters that will be
6640         used works, not just a subset of them.  Reported by Bruno Haible
6641         <bruno@clisp.org>.
6642
6643 2011-11-24  Jim Meyering  <meyering@redhat.com>
6644
6645         test-stdalign.c: comment out long double tests
6646         * tests/test-stdalign.c: Don't try to reduce alignment of long double
6647         variables.  That provokes errors like this from gcc-4.7.0 20111124:
6648         error: '_Alignas' specifiers cannot reduce alignment of \
6649         'static_longdouble_alignas'.
6650
6651 2011-11-22  Jim Meyering  <meyering@redhat.com>
6652
6653         init.sh: make "compare /dev/null FILE" output more readable
6654         * tests/init.sh (compare_): Document the preferred order of arguments.
6655         (emit_diff_u_header_): New function.
6656         (compare_dev_null_): Emit a simulated diff, rather than just the
6657         contents of the unexpected file.  Suggestion from Bruno Haible.
6658
6659 2011-11-21  Jim Meyering  <meyering@redhat.com>
6660             Eric Blake  <eblake@redhat.com>
6661
6662         init.sh: work around OSF/1 5.1's mishandling of /dev/null
6663         * tests/init.sh: Make our compare function slightly more portable.
6664         Reported by Bruno Haible in
6665         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
6666
6667 2011-11-21  Simon Josefsson  <simon@josefsson.org>
6668
6669         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
6670         before using it, in code that ends up in config.h.
6671
6672 2011-11-20  Bruno Haible  <bruno@clisp.org>
6673
6674         getcwd: Work around getcwd bug on AIX 5..7.
6675         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
6676         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
6677         Use a different value for gl_cv_func_getcwd_path_max. Move the
6678         definition of HAVE_PARTLY_WORKING_GETCWD from here...
6679         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
6680         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
6681         Define HAVE_MINIMALLY_WORKING_GETCWD.
6682         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
6683         where it is not even minimally working, that is, on AIX.
6684         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
6685         m4/getcwd-path-max.m4.
6686         (main): Update exit code computation.
6687         * doc/posix-functions/getcwd.texi: Mention list of platforms where
6688         getcwd does not handle long file names.
6689
6690 2011-11-20  Bruno Haible  <bruno@clisp.org>
6691
6692         getcwd: Fix bug from 2009-09-10.
6693         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
6694         like "no".
6695
6696 2011-11-20  Simon Josefsson  <simon@josefsson.org>
6697
6698         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
6699
6700 2011-11-20  Bruno Haible  <bruno@clisp.org>
6701
6702         fma tests: Avoid shadowing local variables.
6703         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
6704         expected.
6705
6706 2011-11-20  Bruno Haible  <bruno@clisp.org>
6707
6708         copysignf tests: Fix.
6709         * tests/test-copysignf.c: Fix signature check.
6710
6711 2011-11-20  Bruno Haible  <bruno@clisp.org>
6712
6713         fma: Remove unused code.
6714         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
6715         unused macros.
6716
6717 2011-11-20  Bruno Haible  <bruno@clisp.org>
6718
6719         sethostname: Fix doc about AIX.
6720         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
6721         sethostname; it has it.
6722
6723         sethostname: Mention more portability problems.
6724         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
6725         problem.
6726         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6727
6728 2011-11-19  Bruno Haible  <bruno@clisp.org>
6729
6730         Depend on module fcntl-h when AT_FDCWD is used.
6731         * modules/utimens (Depends-on): Add fcntl-h.
6732         * modules/areadlinkat (Depends-on): Likewise.
6733         * modules/areadlinkat-with-size (Depends-on): Likewise.
6734         * modules/faccessat (Depends-on): Likewise.
6735         * modules/fchmodat (Depends-on): Likewise.
6736         * modules/fchownat (Depends-on): Likewise.
6737         * modules/getcwd (Depends-on): Likewise.
6738         * modules/mkdirat (Depends-on): Likewise.
6739         * modules/mkfifoat (Depends-on): Likewise.
6740         * modules/readlinkat (Depends-on): Likewise.
6741         * modules/symlinkat (Depends-on): Likewise.
6742         * modules/dup2-tests (Depends-on): Likewise.
6743         * modules/fdutimensat-tests (Depends-on): Likewise.
6744         * modules/futimens-tests (Depends-on): Likewise.
6745
6746 2011-11-19  Bruno Haible  <bruno@clisp.org>
6747
6748         euidaccess: Update a comment.
6749         * lib/euidaccess.c: Update comment about platforms with faccessat.
6750
6751 2011-11-19  Bruno Haible  <bruno@clisp.org>
6752
6753         openat: Fix file list.
6754         * modules/openat (Files): Remove lib/at-func.c.
6755
6756 2011-11-19  Bruno Haible  <bruno@clisp.org>
6757
6758         fstatat: Simplify.
6759         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
6760         gnulib should define rpl_fstatat, there is a
6761         "#define fstatat rpl_fstatat" in <sys/stat.h>.
6762
6763 2011-11-19  Bruno Haible  <bruno@clisp.org>
6764
6765         Ensure 'inline' can be used in tests/test-utimens-common.h.
6766         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6767         * modules/futimens-tests (configure.ac): Likewise.
6768         * modules/utimens-tests (configure.ac): Likewise.
6769         * modules/utimensat-tests (configure.ac): Likewise.
6770
6771 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6772
6773         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6774         not hash_insert0.
6775         (hash_insert_if_absent): Doc fix.
6776
6777 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6778
6779         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6780
6781 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6782
6783         test-getcwd: disambiguate exit status
6784         * tests/test-getcwd.c (test_long_name): Return 0..7.
6785         (main): Exit with an unambiguous exit status.  The old
6786         code yielded a mysterious mixture of two failure codes.
6787
6788         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6789         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6790         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6791         rpl_fstatat or fstatat.  This should fix the other problem
6792         reported by Kai Habel in
6793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6794         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6796         and I reproduced it on a Solaris 8 host we still have in production.
6797
6798 2011-11-18  Jim Meyering  <meyering@redhat.com>
6799
6800         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6801         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6802         Add a sentence to the comment.
6803         (hash_insert0): New function that simply calls hash_insert_if_absent.
6804         * lib/hash.h (hash_insert_if_absent): Declare it.
6805         (hash_insert0): Add deprecation attribute.
6806         (_GL_ATTRIBUTE_DEPRECATED): Define.
6807         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6808         not hash_insert0.
6809         * NEWS: Mention it, even though it's not really an incompatible change.
6810
6811 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6812
6813         openat: avoid compilation failure due to lack of <errno.h> inclusion
6814         * lib/openat.c: Include <errno.h>.
6815
6816 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6817
6818         * modules/getcwd (Depends-on): Add fdopendir.
6819         This fixes one of the two problems reported by Kai Habel in
6820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6821
6822         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6823         stdalign problem reported by Ian Beckwith in
6824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6825         * modules/crypto/gc-arcfour (Depends-on):
6826         Depend conditionally on crypto/arcfour.
6827         * modules/crypto/gc-arctwo (Depends-on):
6828         Depend conditionally on crypto/arctwo.
6829         * modules/crypto/gc-des (Depends-on):
6830         Depend conditionally on crypto/des.
6831         * modules/crypto/gc-hmac-md5 (Depends-on):
6832         Depend conditionally on crypto/hmac-md5.
6833         * modules/crypto/gc-hmac-sha1 (Depends-on):
6834         Depend conditionally on crypto/hmac-sha1.
6835         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6836         * modules/crypto/gc-md4 (Depends-on):
6837         Depend conditionally on crypto/md4.
6838         * modules/crypto/gc-md5 (Depends-on):
6839         Depend conditionally on crypto/md5.
6840         * modules/crypto/gc-rijndael (Depends-on):
6841         Depend conditionally on crypto/rijndael.
6842         * modules/crypto/gc-sha1 (Depends-on):
6843         Depend conditionally on crypto/sha1.
6844         * modules/crypto/gc-arcfour:
6845         * modules/crypto/gc-arctwo:
6846         * modules/crypto/gc-des:
6847         * modules/crypto/gc-hmac-md5:
6848         * modules/crypto/gc-hmac-sha1:
6849         * modules/crypto/gc-md2:
6850         * modules/crypto/gc-md4:
6851         * modules/crypto/gc-md5:
6852         * modules/crypto/gc-rijndael:
6853         * modules/crypto/gc-sha1:
6854         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6855         now that the conditional dependencies do the work for us.
6856
6857 2011-11-17  Jim Meyering  <meyering@redhat.com>
6858
6859         tests: factor st_ctime-comparison out of two headers
6860         * tests/test-utimens-common.h (ctime_compare): Define.
6861         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6862         * tests/test-lutimens.h (test_lutimens): Likewise.
6863         * tests/test-utimens.h (test_utimens): Likewise.
6864
6865         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6866         Invoke the test program via an init.sh-using wrapper.
6867         * tests/test-getcwd.sh: New file.
6868         * modules/getcwd-tests (Files): Add it.
6869         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6870
6871 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6872
6873         gitlog-to-changelog: support multi-author commits.
6874         The FSF cares about keeping track of all authors of patches to its
6875         projects, but Git doesn't provide obvious support for multi-author
6876         changesets. Consensus seems to be forming around the use of extra
6877         Signed-off-by inspired lines in the log message formatted as
6878         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6879         multi-author commits between version control systems.
6880         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6881         log message and output in standard ChangeLog multi-author format.
6882         Reported by Peter Rosin <peda@lysator.liu.se>
6883
6884 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6885             Bruno Haible  <bruno@clisp.org>
6886
6887         Fix some modules' file list.
6888         * modules/fstatat (Files): Add m4/lstat.m4.
6889         * modules/openat (Files): Likewise.
6890         * modules/unlinkat (Files): Likewise.
6891
6892 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6893
6894         maint.mk: fix tight-scope.mk generation in VPATH builds.
6895         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6896         reference with $(srcdir) so that the file is found correctly even
6897         when running `make syntax-check' in a VPATH build.
6898
6899 2011-11-13  Bruno Haible  <bruno@clisp.org>
6900             Jim Meyering  <meyering@redhat.com>
6901
6902         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6903         * tests/init.sh (compare): Remove "No differences encountered" or
6904         synonymous output from the 'diff' program.
6905
6906 2011-11-13  Bruno Haible  <bruno@clisp.org>
6907
6908         Makefile: Tweak indentation.
6909         * Makefile: Use tab as first character in every line that contains rule
6910         commands.
6911
6912 2011-11-13  Bruno Haible  <bruno@clisp.org>
6913
6914         Syntax check for copyright statements.
6915         * check-copyright: New file.
6916         * Makefile (sc_check_copyright): New rule.
6917
6918 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6919
6920         * build-aux/git-version-gen: Add --prefix to configure the tag
6921         match string.
6922
6923 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6924
6925         * build-aux/git-version-gen: Add --help and --version.
6926
6927 2011-11-12  Jim Meyering  <meyering@redhat.com>
6928
6929         revamp the other test-exclude?.sh scripts to use init.sh, too
6930         * tests/test-exclude1.sh: Use init.sh.
6931         * tests/test-exclude2.sh: Likewise.
6932         * tests/test-exclude3.sh: Likewise.
6933         * tests/test-exclude4.sh: Likewise.
6934         * tests/test-exclude5.sh: Likewise.
6935         * tests/test-exclude6.sh: Likewise.
6936         * tests/test-exclude7.sh: Likewise.
6937         * tests/test-exclude8.sh: Likewise.
6938         * modules/exclude-tests (Files): List init.sh.
6939
6940         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6941         These shell scripts ignored failure of the binary test-exclude,
6942         so making the latter return 77 didn't cause them to be skipped.
6943         * tests/test-exclude5.sh: Exit with test-exclude's error status
6944         when that program fails.  Revamp to use init.sh.
6945         * tests/test-exclude2.sh: Likewise.
6946
6947         test-exclude: fix a typo
6948         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6949
6950 2011-11-11  Bruno Haible  <bruno@clisp.org>
6951
6952         obstack: Fix compilation error on MSVC 9.
6953         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6954
6955 2011-11-11  Jim Meyering  <meyering@redhat.com>
6956
6957         test-exclude: skip tests rather than failing on deficient systems
6958         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6959         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6960         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6961         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6962
6963 2011-11-10  Bruno Haible  <bruno@clisp.org>
6964
6965         ptsname_r test: Avoid gcc warning on glibc systems.
6966         * tests/test-ptsname_r.c (null_ptr): New function.
6967         (test_errors): Use it.
6968
6969 2011-11-10  Bruno Haible  <bruno@clisp.org>
6970
6971         ptsname_r: Avoid compilation error on OSF/1 5.1.
6972         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6974         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6975         function is not declared or incompatibly declared.
6976         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6977         * modules/ptsname_r (Depends-on, configure.ac): Update.
6978         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6979
6980 2011-11-10  Bruno Haible  <bruno@clisp.org>
6981
6982         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6983         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6984         When cross-compiling, guess yes on all platforms except AIX.
6985         Reported by Ludovic Courtès <ludo@gnu.org>.
6986
6987 2011-11-09  Bruno Haible  <bruno@clisp.org>
6988
6989         ptsname_r tests: Fix bugs.
6990         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6991         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6992
6993 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6994
6995         fstatat: work with cross-compilation
6996         Problem reported by Ludovic Courtès in
6997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6998         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6999         "cross-compiling" and assume the bug is present.  Replace
7000         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7001         an inverted sense, to be more conservative about our assumptions.
7002         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7003
7004 2011-11-09  Bruno Haible  <bruno@clisp.org>
7005
7006         Improve MODULES.html output.
7007         * modules/mkfifoat (Description): Use the word "function".
7008         * modules/readlinkat (Description): Likewise.
7009         * modules/symlinkat (Description): Likewise.
7010
7011 2011-11-09  Eric Blake  <eblake@redhat.com>
7012
7013         ptsname_r-tests: new test module
7014         * modules/ptsname_r-tests: New module.
7015         * tests/test-ptsname_r.c: New file.
7016
7017         ptsname_r: new module
7018         * modules/ptsname_r: New module.
7019         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7020         * lib/ptsname.c (__ptsname_r): Split...
7021         * lib/ptsname_r.c: ...into new file.
7022         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7023         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7024         * modules/stdlib (Makefile.am): Substitute witnesses.
7025         * lib/stdlib.in.h (ptsname_r): Declare it.
7026         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7027         * MODULES.html.sh (Misc): Likewise.
7028         * modules/ptsname (Depends-on): Alter dependency.
7029         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7030
7031 2011-11-09  Jim Meyering  <meyering@redhat.com>
7032
7033         announce-gen: be more concise when there's only one URL+tarball
7034         * build-aux/announce-gen (get_tool_versions): When you distribute
7035         only one type of tarball, combine the first two "Here are..."
7036         sections and make the key-checking grammar independent of
7037         how many tarballs there are.
7038
7039 2011-11-09  Eric Blake  <eblake@redhat.com>
7040
7041         openpty: provide a stub on mingw
7042         * lib/pty.in.h (includes): Provide forward declarations.
7043         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7044
7045         raise: fix mingw handling of SIGPIPE
7046         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7047
7048 2011-11-08  Bruno Haible  <bruno@clisp.org>
7049
7050         More conditional dependencies.
7051         * modules/faccessat (Depends-on): Add conditions.
7052         * modules/fchmodat (Depends-on): Likewise.
7053         * modules/fchownat (Depends-on): Likewise.
7054         * modules/fstatat (Depends-on): Likewise.
7055         * modules/mkfifoat (Depends-on): Likewise.
7056         * modules/readlinkat (Depends-on): Likewise.
7057         * modules/symlinkat (Depends-on): Likewise.
7058         * modules/unlinkat (Depends-on): Likewise.
7059         * modules/utimensat (Depends-on): Likewise.
7060         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7061         * modules/linkat (Depends-on): Refine the conditions.
7062         * modules/renameat (Depends-on): Likewise.
7063
7064 2011-11-08  Bruno Haible  <bruno@clisp.org>
7065
7066         faccessat: Move AC_LIBOBJ invocation to module description.
7067         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7068         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7069         invocation from here...
7070         * modules/faccessat (configure.ac): ... to here. Invoke
7071         gl_PREREQ_FACCESSAT.
7072
7073 2011-11-08  Bruno Haible  <bruno@clisp.org>
7074
7075         faccessat: Simplify autoconf macro.
7076         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7077         gl_FUNC_EUIDACCESS.
7078
7079 2011-11-08  Bruno Haible  <bruno@clisp.org>
7080
7081         renameat: Fix dependencies.
7082         * modules/renameat (Depends-on): Add stdbool.
7083
7084 2011-11-08  Bruno Haible  <bruno@clisp.org>
7085
7086         mkfifoat: Fix module description.
7087         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7088         not gl_UNISTD_MODULE_INDICATOR.
7089
7090 2011-11-08  Bruno Haible  <bruno@clisp.org>
7091
7092         fstatat: Remove unused dependency.
7093         * modules/fstatat (Depends-on): Remove fstat.
7094
7095 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7096
7097         GNUmakefile: behave when Makefile is missing.
7098         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7099
7100 2011-11-08  Bruno Haible  <bruno@clisp.org>
7101
7102         openat: Conditionalize dependencies.
7103         * lib/openat.c: Reduce the scope of some #includes.
7104         * modules/openat (Depends-on): Add conditions.
7105
7106 2011-11-07  Jim Meyering  <meyering@redhat.com>
7107
7108         maint.mk: extract GPG key ID without using a temporary file
7109         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7110         without using a temporary file.  Based on a suggestion from Werner Koch
7111         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7112
7113 2011-11-07  Eric Blake  <eblake@redhat.com>
7114
7115         grantpt: fix typo
7116         * lib/stdlib.in.h (grantpt): Check correct function.
7117
7118         maint.mk: silence new syntax check
7119         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7120
7121 2011-11-06  Bruno Haible  <bruno@clisp.org>
7122
7123         Doc about floating-point and math API.
7124         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7125         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7126
7127 2011-11-06  Bruno Haible  <bruno@clisp.org>
7128
7129         stdalign tests: Skip the test when compiled by Sun C.
7130         * tests/test-stdalign.c (main): Skip the test on Sun C.
7131
7132 2011-11-06  Bruno Haible  <bruno@clisp.org>
7133
7134         ansi-c++-opt: Complete the 2011-06-05 change.
7135         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7136         does not support namespaces, set the variable to "no", not to ":".
7137
7138 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7139
7140         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7141
7142 2011-11-06  Bruno Haible  <bruno@clisp.org>
7143
7144         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7145         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7146         (minus_zerol) [HP-UX]: New macro.
7147         (unary_minus) [HP-UX]: New function.
7148         (copysignl) [HP-UX]: Use unary_minus function.
7149
7150 2011-11-06  Bruno Haible  <bruno@clisp.org>
7151
7152         ldexp, ldexpf, ldexpl: Enhance tests.
7153         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7154         and tests/test-ldexpl.c.
7155         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7156         LDEXP, MIN_EXP, MAX_EXP): New macros.
7157         Include test-ldexp.h.
7158         (main): Just call test_function.
7159         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7160         infinity.h, nan.h.
7161         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7162         MAX_EXP): New macros.
7163         Include test-ldexp.h.
7164         (x, y): Remove variables.
7165         (main): Just call test_function.
7166         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
7167         infinity.h, nan.h.
7168         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7169         MAX_EXP): New macros.
7170         Include test-ldexp.h.
7171         (x, y): Remove variables.
7172         (main): Just call test_function.
7173         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7174         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7175         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7176         (Depends-on): Add isnand-nolibm, signbit, float.
7177         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7178         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7179         (Depends-on): Add isnanf-nolibm, signbit, float.
7180
7181 2011-11-06  Bruno Haible  <bruno@clisp.org>
7182
7183         math tests: Cosmetics.
7184         * tests/test-math-c++.cc: Reorder declarations.
7185
7186 2011-11-05  Bruno Haible  <bruno@clisp.org>
7187
7188         fma*: Simplify test.
7189         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7190         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7191
7192         Tests for module 'fmal'.
7193         * modules/fmal-tests: New file.
7194         * tests/test-fmal1.c: New file.
7195         * tests/test-fmal2.c: New file.
7196
7197         New module 'fmal'.
7198         * lib/math.in.h (fmal): New declaration.
7199         * lib/fmal.c: New file.
7200         * m4/fmal.m4: New file.
7201         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7202         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7203         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7204         REPLACE_FMAL.
7205         * modules/fmal: New file.
7206         * doc/posix-functions/fmal.texi: Mention the new module and the various
7207         bugs.
7208
7209         Tests for module 'fmaf'.
7210         * modules/fmaf-tests: New file.
7211         * tests/test-fmaf1.c: New file.
7212         * tests/test-fmaf2.c: New file.
7213
7214         New module 'fmaf'.
7215         * lib/math.in.h (fmaf): New declaration.
7216         * lib/fmaf.c: New file.
7217         * m4/fmaf.m4: New file.
7218         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7219         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7220         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7221         REPLACE_FMAF.
7222         * modules/fmaf: New file.
7223         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7224         bugs.
7225
7226         Tests for module 'fma'.
7227         * modules/fma-tests: New file.
7228         * tests/test-fma1.c: New file.
7229         * tests/test-fma1.h: New file.
7230         * tests/test-fma2.c: New file.
7231         * tests/test-fma2.h: New file.
7232
7233         New module 'fma'.
7234         * lib/math.in.h (fma): New declaration.
7235         * lib/fma.c: New file.
7236         * m4/fma.m4: New file.
7237         * m4/fegetround.m4: New file.
7238         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
7239         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
7240         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
7241         REPLACE_FMA.
7242         * modules/fma: New file.
7243         * doc/posix-functions/fma.texi: Mention the new module and the various
7244         bugs.
7245
7246         Extend gl_MATHFUNC.
7247         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
7248         Support 'void' as argument type.
7249         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
7250
7251 2011-11-05  Jim Meyering  <meyering@redhat.com>
7252
7253         maint.mk: also prohibit inclusion of dirent.h without use
7254         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
7255
7256 2011-11-05  Bruno Haible  <bruno@clisp.org>
7257
7258         ldexpl tests: Avoid test failure on MSVC 9.
7259         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7260         value. Needed in order to enforce the conversion from a value greater
7261         than LDBL_MAX to Infinity.
7262
7263 2011-11-05  Bruno Haible  <bruno@clisp.org>
7264
7265         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7266         * modules/at-internal: New file, extracted from modules/openat.
7267         * modules/openat-h: New file.
7268         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7269         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7270         * modules/openat (Description): Add reference to POSIX function.
7271         (Files): Remove lib/openat.h, lib/openat-proc.c.
7272         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7273         intprops, unistd.
7274         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7275         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7276         gl_FCNTL_MODULE_INDICATOR.
7277         (Include): Remove unistd.h, openat.h.
7278         * modules/areadlinkat (Files): Add lib/at-func.c.
7279         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7280         openat-die, openat-h, save-cwd.
7281         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7282         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7283         openat-die, openat-h, save-cwd, unistd.
7284         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7285         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7286         openat-h, save-cwd. Remove fcntl-h, openat.
7287         * modules/fchmodat (Files): Remove lib/openat.h.
7288         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7289         openat, stdbool, unistd.
7290         * modules/fchownat (Files): Remove lib/openat.h.
7291         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7292         openat, stdbool, sys_stat.
7293         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7294         lib/openat-proc.c.
7295         (Depends-on): Add at-internal.
7296         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7297         * modules/fstatat (Files): Remove lib/openat.h.
7298         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7299         stdbool, unistd.
7300         * modules/fts (Depends-on): Add openat-h.
7301         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7302         openat.
7303         * modules/mkdirat (Files): Remove lib/openat.h.
7304         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7305         openat, stdbool, sys_stat.
7306         * modules/mkfifoat (Files): Add lib/at-func.c.
7307         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7308         openat-h, save-cwd. Remove fcntl-h, openat.
7309         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7310         * modules/readlinkat (Files): Add lib/at-func.c.
7311         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7312         openat-h, save-cwd. Remove fcntl-h, openat.
7313         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7314         openat.
7315         * modules/selinux-at (Files): Add lib/at-func.c.
7316         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7317         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7318         * modules/symlinkat (Files): Add lib/at-func.c.
7319         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7320         openat-h, save-cwd. Remove fcntl-h, openat.
7321         * modules/unlinkat (Files): Remove lib/openat.h.
7322         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7323         stdbool.
7324         * modules/utimensat (Files): Add lib/at-func.c.
7325         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7326         openat-die, openat-h, save-cwd.
7327         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7328         * modules/fdutimensat-tests (Depends-on): Add openat.
7329         * modules/fstatat-tests (Depends-on): Add openat-h.
7330         * modules/readlinkat-tests (Depends-on): Add openat.
7331         * modules/symlinkat-tests (Depends-on): Add openat.
7332
7333 2011-11-05  Bruno Haible  <bruno@clisp.org>
7334
7335         openat: Include <stdbool.h>.
7336         * lib/openat.c: Include <stdbool.h>.
7337
7338 2011-11-04  Bruno Haible  <bruno@clisp.org>
7339
7340         fchownat, renameat, unlinkat: Fix dependencies.
7341         * modules/fchownat (Depends-on): Add fstatat.
7342         * modules/renameat (Depends-on): Likewise.
7343         * modules/unlinkat (Depends-on): Likewise.
7344
7345 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7346
7347         openat: remove direct dependency on dirent
7348         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7349         and hasn't been needed ever since fdopendir was split into its own
7350         module on 2009-08-31.
7351         * modules/openat (Depends-on): Remove dirent.
7352
7353 2011-11-04  Bruno Haible  <bruno@clisp.org>
7354
7355         renameat: Optimize code size.
7356         * modules/renameat (configure.ac): Don't compile at-func2.c if
7357         REPLACE_RENAMEAT is 1.
7358
7359 2011-11-04  Bruno Haible  <bruno@clisp.org>
7360
7361         openat tests: Fix file list.
7362         * modules/openat-tests (Files): Add tests/test-open.h.
7363
7364 2011-11-04  Bruno Haible  <bruno@clisp.org>
7365
7366         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7367         * modules/fchmodat (Depends-on): Add openat-die.
7368         * modules/fchownat (Depends-on): Likewise.
7369         * modules/linkat (Depends-on): Likewise.
7370         * modules/renameat (Depends-on): Likewise.
7371         * modules/openat (Depends-on): Add dirent.
7372
7373 2011-11-04  Jim Meyering  <meyering@redhat.com>
7374
7375         at-func*.c: fix comments
7376         * lib/at-func2.c: Correct/improve first-line comment.
7377         * lib/at-func.c: Correct grammar in first-line comment.
7378
7379 2011-11-04  Bruno Haible  <bruno@clisp.org>
7380
7381         New module 'mkdirat', split off from module 'openat'.
7382         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7383         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7384         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7385         * modules/mkdirat: New file, extracted from modules/openat.
7386         * modules/openat (Files): Remove lib/mkdirat.c.
7387         (Depends-on): Remove mkdir.
7388         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7389         (Include): Remove <sys/stat.h>.
7390         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7391         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7392         tests/test-mkdir.h.
7393         (Depends-on): Remove ignore-value.
7394         (Makefile.am): Remove rules for test-mkdirat.
7395         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7396         of module 'openat'.
7397         * NEWS: Mention the change.
7398
7399 2011-11-04  Bruno Haible  <bruno@clisp.org>
7400
7401         closedir: Avoid warning on mingw.
7402         * lib/closedir.c: Include <unistd.h>.
7403
7404 2011-11-04  Bruno Haible  <bruno@clisp.org>
7405
7406         New module 'fstatat', split off from module 'openat'.
7407         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7408         defined.
7409         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7410         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7411         gl_FUNC_FSTATAT.
7412         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7413         * modules/fstatat: New file, extracted from modules/openat.
7414         * modules/openat (Files): Remove lib/fstatat.c.
7415         (Depends-on): Remove lstat.
7416         (configure.ac): Remove AC_LIBOBJ of fstatat.
7417         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7418         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7419         tests/test-lstat.h, tests/test-stat.h.
7420         (Depends-on): Remove getcwd-lgpl.
7421         (Makefile.am): Remove rules for test-fstatat.
7422         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7423         of module 'openat'.
7424         * NEWS: Mention the change.
7425         * modules/getcwd (Depends-on): Add fstatat.
7426         * modules/linkat (Depends-on): Likewise.
7427         * modules/mkfifoat-tests (Depends-on): Likewise.
7428         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7429
7430 2011-11-03  Bruno Haible  <bruno@clisp.org>
7431
7432         New module 'unlinkat', split off from module 'openat'.
7433         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7434         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7435         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7436         * modules/unlinkat: New file, extracted from modules/openat. Correct
7437         the dependency conditions.
7438         * modules/openat (Files): Remove lib/unlinkat.c.
7439         (Depends-on): Remove rmdir, unlink.
7440         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7441         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7442         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7443         tests/test-rmdir.h, tests/test-unlink.h.
7444         (Depends-on): Remove unlinkdir.
7445         (Makefile.am): Remove rules for test-unlinkat.
7446         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7447         of module 'openat'.
7448         * NEWS: Mention the change.
7449         * modules/linkat-tests (Depends-on): Add unlinkat.
7450         * modules/mkfifoat-tests (Depends-on): Likewise.
7451         * modules/readlinkat-tests (Depends-on): Likewise.
7452
7453 2011-11-02  Bruno Haible  <bruno@clisp.org>
7454
7455         New module 'fchmodat', split off from module 'openat'.
7456         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7457         defined.
7458         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7459         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7460         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7461         * modules/fchmodat: New file, extracted from modules/openat.
7462         * modules/openat (Files): Remove lib/fchmodat.c.
7463         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7464         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7465         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7466         (Makefile.am): Remove rules for test-fchmodat.
7467         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7468         of module 'openat'.
7469         * NEWS: Mention the change.
7470
7471 2011-11-02  Jim Meyering  <meyering@redhat.com>
7472
7473         putenv: indent #definition of "environ" to placate cppi
7474         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7475
7476         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7477         Git logs are often treated as immutable, because editing them
7478         changes the SHA1 checksums of all descendants.  Thus, errors in
7479         git logs tend to stay there forever.  However, when we generate
7480         a ChangeLog file -- typically for distribution -- from that git log,
7481         we can actually make corrections in the generated file.  The key
7482         lies in recording in machine-readable/applicable form the desired
7483         corrections.  See --help for description and an example.
7484         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7485         (usage): Describe it; alphabetize option descriptions.
7486         (main): Honor the new option, carefully.
7487
7488 2011-11-01  Jim Meyering  <meyering@redhat.com>
7489
7490         gitlog-to-changelog: avoid an infloop
7491         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7492         that ends up being empty.
7493
7494 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7495
7496         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7497         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7498         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7499         contains (possibly-quoted) backslashes.  This should avoid
7500         all-too-common shell bugs if COMPLICATED contains backslashes in
7501         the "wrong" places.  Reported by David Evans in
7502         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7503         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7504         because we want ASCII ranges.  Is there some reason we don't use
7505         the C locale everywhere in this script?
7506         (func_module, top level): Avoid unwanted pathname expansion when
7507         $repo_url_prefix or $repo_url_suffix_repl contain shell
7508         metacharacters like '?' and '*'.
7509
7510 2011-11-01  Bruno Haible  <bruno@clisp.org>
7511
7512         fchownat: Improve description.
7513         * modules/fchownat (Description): Add link to function.
7514
7515 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7516
7517         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7518         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7520         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7521
7522 2011-11-01  Bruno Haible  <bruno@clisp.org>
7523
7524         alignof: Avoid collision with stdalign module.
7525         * lib/alignof.h (alignof): Remove macro.
7526         * NEWS: Mention the change.
7527         Reported by Paul Eggert.
7528
7529 2011-11-01  Bruno Haible  <bruno@clisp.org>
7530
7531         New module 'fchownat', split off from module 'openat'.
7532         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7533         defined.
7534         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7535         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7536         invoke gl_FUNC_FCHOWNAT.
7537         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7538         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7539         * modules/fchownat: New file, extracted from modules/openat.
7540         * modules/openat (Files): Remove lib/fchownat.c.
7541         (Depends-on): Remove lchown.
7542         (configure.ac): Remove AC_LIBOBJ of fchownat.
7543         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7544         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7545         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7546         (Depends-on): Remove mgetgroups, usleep, stat-time.
7547         (configure.ac): Remove test for getegid.
7548         (Makefile.am): Remove rules for test-fchownat.
7549         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7550         of module 'openat'.
7551         * NEWS: Mention the change.
7552
7553 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7554
7555         stdalign: port better to MSVC and to Sun C 5.11
7556         This fixes some of the problems reported by Bruno Haible in
7557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7558         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7559         shortcomings of MSVC and of Sun C 5.11.
7560         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7561         around __declspec arg.
7562         * modules/stdalign-tests (Files): Add tests/macros.h.
7563         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
7564         Include macros.h, for ASSERT.
7565         (DECLARE_ALIGNED): Remove.
7566         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
7567         to catch bug), and to 1 if not (simplifies the rest of the code).
7568         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
7569         (CHECK_AUTO): Remove.
7570         (CHECK_ALIGNED): Check only the alignment of the static vars,
7571         since auto var alignment isn't supported by Sun C 5.11.
7572         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
7573         ASSERT failures are easier to diagnose.
7574
7575 2011-10-31  Bruno Haible  <bruno@clisp.org>
7576
7577         doc about some IRIX 5.3 problems.
7578         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
7579         on IRIX 5.3.
7580         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
7581         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
7582         5.3.
7583         * doc/posix-functions/grantpt.texi: Likewise.
7584         * doc/posix-functions/unlockpt.texi: Likewise.
7585         * doc/posix-functions/lgamma.texi: Likewise.
7586         * doc/posix-functions/nextafter.texi: Likewise.
7587         * doc/posix-functions/remainder.texi: Likewise.
7588         * doc/posix-functions/select.texi: Mention misplaced declaration on
7589         IRIX 5.3.
7590         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7591
7592 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
7593
7594         gitlog-to-changelog: fix git-log invocation.
7595         git-log mishandles date strings before 1970-01-01 UTC, and there is
7596         no use to specify --since=1970-01-01 by default anyway.
7597         * build-aux/gitlog-to-changelog: By default, when no --since option
7598         was given, do not specify explicit --since option to git-log.
7599
7600 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
7601
7602         gitlog-to-changelog: new option --append-dot.
7603         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
7604         first non-blank line of each commit message terminated with a dot.
7605
7606 2011-10-30  Bruno Haible  <bruno@clisp.org>
7607
7608         ffsl, ffsll: Avoid compilation error due to 'restrict'.
7609         * lib/ffsl.h: Include <config.h>.
7610         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
7611
7612 2011-10-30  Jim Meyering  <meyering@redhat.com>
7613
7614         GNUmakefile: reenable "make syntax-check" for most projects
7615         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
7616         build-aux variable", "syntax-check" would do nothing but succeed with
7617         the "No version control files detected..." diagnostic (unless you
7618         happened to override _build-aux via cfg.mk).
7619         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
7620         to precede inclusion of maint.mk.  Otherwise, these variables would
7621         be used undefined in any project that does not override the default.
7622
7623 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
7624
7625         gitlog-to-changelog: treat a message with only blank lines as empty.
7626         * build-aux/gitlog-to-changelog: Move the code that removes leading and
7627         trailing blank lines before the code that issues a warning about an
7628         empty commit message.
7629
7630 2011-10-30  Jim Meyering  <meyering@redhat.com>
7631
7632         test-parse-datetime.c: avoid new DST-related false positive test failure
7633         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
7634         based on the time/date we'll convert, not the current time.
7635         Otherwise, the moment we cross a DST boundary like today's in
7636         Europe, (CEST to CET), that offset ends up being one hour off.
7637
7638 2011-10-27  Bruno Haible  <bruno@clisp.org>
7639
7640         fstat: Tweak documentation.
7641         * modules/fstat (Description): More precise description.
7642
7643 2011-10-27  Bruno Haible  <bruno@clisp.org>
7644
7645         Update documentation regarding 'largefile' module.
7646         * doc/posix-functions/fstat.texi: Tweak wording.
7647         * doc/posix-functions/opendir.texi: Mention that the module fixes the
7648         problems with huge directories and/or small ino_t types.
7649         * doc/posix-functions/readdir.texi: Likewise.
7650         * doc/posix-functions/rewinddir.texi: Likewise.
7651
7652 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
7653
7654         maint.mk: don't maintain a second build-aux variable.
7655         * maint.mk (build_aux): Removed.  The maintainer-makefile module
7656         depends on GNUmakefile, which already maintains a cfg.mk
7657         overridable $(_build-aux) for projects with a non-standard
7658         build-aux directory location, although without the $(srcdir)
7659         prefix.  Use that variable consistently instead of introducing a
7660         second one.  Adjust all call sites.
7661
7662 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7663
7664         Add stdalign module and use it in other modules.
7665         This is based on a previous proposal by Bruno Haible
7666         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
7667
7668         stdalign: new module
7669         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
7670         * modules/stdalign: New files.
7671         * MODULES.html.sh (c1x_core_properties): Add stdalign.
7672         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
7673
7674         stdalign-tests: new module
7675         * modules/stdalign-tests, tests/test-stdalign.c: New files.
7676
7677         argp: use stdalign
7678         * lib/argp-parse.c: Include <stdalign.h>.
7679         (alignof): Remove.
7680         * modules/argp (Depends-on): Add stdalign.
7681
7682         crypto libraries: use stdalign
7683         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
7684         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
7685         Do not include <stdlib.h> twice, in md4.c.
7686         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
7687         because we are accessing a pointer's bit-pattern, not a size.
7688         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
7689         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
7690         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
7691         * modules/crypto/sha512: Likewise.
7692
7693         sys_socket: use stdalign, not alignof
7694         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
7695         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
7696
7697 2011-10-27  Bruno Haible  <bruno@clisp.org>
7698
7699         raise test: Avoid a test failure on Linux/MIPS.
7700         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
7701         because 99 is a valid signal on Linux/MIPS.
7702
7703 2011-10-27  Bruno Haible  <bruno@clisp.org>
7704
7705         nonblocking tests: Fix test failure on Linux/MIPS.
7706         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
7707         Set to 270000.
7708
7709 2011-10-27  Bruno Haible  <bruno@clisp.org>
7710
7711         utimensat: Work around problem on Linux/hppa.
7712         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
7713         values.
7714         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
7715
7716 2011-10-25  Jim Meyering  <meyering@redhat.com>
7717
7718         maint.mk: fix a bug in sc_prohibit_stddef_without_use
7719         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
7720         after symbols like NULL, size_t, etc.
7721         Reported by Alfred M. Szmidt.
7722
7723         maint.mk: exempt ENODATA from a syntax-check rule
7724         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
7725         from the sc_prohibit_always-defined_macros syntax-check rule.
7726         Add a comment.  See this for more details:
7727         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
7728
7729 2011-10-23  Jim Meyering  <meyering@redhat.com>
7730
7731         fts: close parent dir FD before returning from post-traversal fts_read
7732         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
7733         unlink A, even though an FD open on A remained.  This is suboptimal
7734         (holding a file descriptor open longer than needed), but otherwise not
7735         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
7736         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
7737         that represents a real problem: it causes the removal of A to fail
7738         with e.g., "rm: cannot remove `A': Device or resource busy"
7739
7740         fts visits each directory twice and keeps a cache (fts_fd_ring) of
7741         directory file descriptors.  After completing the final, FTS_DP,
7742         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
7743         cache, but then proceeded to add a new FD to it via the subsequent
7744         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
7745         final file descriptor would be closed only via fts_close's call to
7746         fd_ring_clear.  Now, it is usually closed earlier, via the final
7747         FTS_DP-returning fts_read call.
7748         * lib/fts.c (restore_initial_cwd): New function, converted from
7749         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
7750         Update callers.
7751         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
7752         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
7753
7754 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
7755             Bruno Haible  <bruno@clisp.org>
7756             Jim Meyering  <jim@meyering.net>
7757
7758         readme-release: improve safety of release prep instructions.
7759         * README-release: Don't git pull all branches when only master
7760         is needed for the release process.
7761         Run make maintainer-clean before changing trees and merging.
7762         Don't try to run ./configure right after git pull in case files
7763         that influence the bootstrap process have changed, move the
7764         ./configure step to after running ./bootstrap.
7765         Don't bootstrap "one last time"... it's the first time!
7766
7767 2011-10-22  Bruno Haible  <bruno@clisp.org>
7768
7769         errno, strerror-override: Support for MSVC 10.
7770         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7771         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7772         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7773         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7774         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7775         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7776         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7777         Assign values compatible with MSVC 10.
7778         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7779         New macros.
7780         (GNULIB_defined_EWINSOCK): New macro.
7781         * lib/strerror-override.c (strerror_override): Update accordingly.
7782         * lib/strerror-override.h: Likewise.
7783         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7784         longer equal to the corresponding errno value.
7785         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7786
7787 2011-10-22  Bruno Haible  <bruno@clisp.org>
7788
7789         perror: Recognize when test program crashes.
7790         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7791         strerror, set gl_cv_func_perror_works to no.
7792         Reported by Daniel Richard G. <skunk@iskunk.org>.
7793
7794         perror: Fix indentation.
7795         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7796
7797 2011-10-22  Bruno Haible  <bruno@clisp.org>
7798
7799         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7800         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7801         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7802         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7803         functions, not as a macro.
7804         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7805         macros.
7806         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7807         absence of macro.
7808         Suggested by Eric Blake.
7809         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7810
7811 2011-10-21  Bruno Haible  <bruno@clisp.org>
7812
7813         relocatable-prog-wrapper: Don't leave object files behind.
7814         * build-aux/install-reloc: Re-synchronize list of .o files to be
7815         removed with list of compilation units.
7816
7817 2011-10-20  Bruno Haible  <bruno@clisp.org>
7818
7819         openpty, posix_openpt: Remove code duplication.
7820         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7821         * lib/openpty.c: Include <stdlib.h>.
7822         (openpty): Use posix_openpt on all platforms except IRIX.
7823         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7824
7825 2011-10-20  Bruno Haible  <bruno@clisp.org>
7826
7827         unlockpt: Detect invalid argument.
7828         * lib/unlockpt.c: Include <fcntl.h>.
7829         (unlockpt): Check whether fd is valid, using fcntl().
7830         * modules/unlockpt (Depends-on): Add fcntl-h.
7831
7832 2011-10-20  Bruno Haible  <bruno@clisp.org>
7833
7834         openpty: Avoid compilation error on AIX 6.1.
7835         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7836
7837 2011-10-20  Bruno Haible  <bruno@clisp.org>
7838
7839         posix_openpt: Support for OpenBSD.
7840         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7841         (posix_openpt) [OpenBSD]: New code.
7842         * lib/grantpt.c: Include <fcntl.h>.
7843         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7844         * modules/grantpt (Depends-on): Add fcntl-h.
7845
7846 2011-10-20  Bruno Haible  <bruno@clisp.org>
7847
7848         posix_openpt test: Coding style.
7849         * tests/test-posix_openpt.c: Use GNU coding style.
7850
7851 2011-10-20  Bruno Haible  <bruno@clisp.org>
7852
7853         grantpt: Support --avoid=pt_chown.
7854         * modules/grantpt (Files): Add lib/pty-private.h.
7855
7856 2011-10-20  Bruno Haible  <bruno@clisp.org>
7857
7858         posix_openpt: Fix autoconf macro.
7859         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7860         unneeded check for _getpty.
7861
7862 2011-10-20  Bruno Haible  <bruno@clisp.org>
7863
7864         openpty: Update comments.
7865         * lib/openpty.c: Add comments about Minix.
7866
7867 2011-10-19  Eric Blake  <eblake@redhat.com>
7868
7869         openpty: relax license
7870         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7871
7872         pt_chown: use configmake to simplify build
7873         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7874
7875         ptsname and others: relax license
7876         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7877         * modules/unlockpt (License): Likewise.
7878         * modules/pt_chown (License): Likewise.
7879         * modules/ptsname (License): Likewise.
7880         * modules/ttyname_r (License): Likewise.
7881
7882 2011-10-19  Jim Meyering  <meyering@redhat.com>
7883
7884         posix_openpt: remove spurious #endif
7885         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7886
7887 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7888
7889         maint.mk: Respect $(build_aux) in web-manual rule.
7890         * top/maint.mk (web-manual): Find gen-announce script in user's
7891         $(build_aux) directory instead of hard-coding 'build-aux'.
7892
7893 2011-10-19  Bruno Haible  <bruno@clisp.org>
7894
7895         posix_openpt: Fix compilation error.
7896         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7897         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7898         Mention the openpty module as an alternative.
7899
7900 2011-10-19  Bruno Haible  <bruno@clisp.org>
7901
7902         Support for old NeXTstep 3.3 frexp().
7903         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7904         execution time of the test to 5 seconds.
7905         Reported by Daniel Richard G. <skunk@iskunk.org>.
7906
7907 2011-10-19  Bruno Haible  <bruno@clisp.org>
7908
7909         Support for old NeXTstep 3.3 sed.
7910         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7911         part, use /.../, not \|...|. Escape periods in the header file name.
7912         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7913         Reported by Daniel Richard G. <skunk@iskunk.org>.
7914
7915 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7916
7917         Support for old NeXTstep 3.3 gcc.
7918         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7919         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7920         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7921         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7922         * lib/regex.h (_Restrict_arr_): Likewise.
7923         * lib/regex_internal.h (re_token_t): Likewise.
7924         * lib/regexec.c (check_node_accept_bytes): Likewise.
7925         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7926
7927 2011-10-18  Eric Blake  <eblake@redhat.com>
7928
7929         posix_openpt: new module
7930         * modules/posix_openpt: New module.
7931         * m4/posix_openpt.m4: New file.
7932         * lib/posix_openpt.c: Likewise.
7933         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7934         (gl_STDLIB_H_DEFAULTS): Set defaults.
7935         * modules/stdlib (Makefile.am): Substitute macros.
7936         * lib/stdlib.in.h (posix_openpt): Declare.
7937         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7938         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7939         * modules/posix_openpt-tests: New test module.
7940         * tests/test-posix_openpt.c: New test.
7941
7942 2011-10-15  Bruno Haible  <bruno@clisp.org>
7943
7944         xstrtoll: Fix compilation failure.
7945         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7946         from lib/strtol.c.
7947         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7948         some platforms.
7949         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7950
7951 2011-10-15  Bruno Haible  <bruno@clisp.org>
7952
7953         vasnprintf: Optimize bit search operation.
7954         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7956         gl_DOUBLE_EXPONENT_LOCATION.
7957         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7958         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7959         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7960         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7961         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7962         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7963         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7964         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7965         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7966
7967 2011-10-15  Bruno Haible  <bruno@clisp.org>
7968
7969         vasnprintf: Fix comments.
7970         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7971
7972 2011-10-14  Bruno Haible  <bruno@clisp.org>
7973
7974         Tests for module 'integer_length_ll'.
7975         * modules/integer_length_ll-tests: New file.
7976         * tests/test-integer_length_ll.c: New file.
7977
7978         New module 'integer_length_ll'.
7979         * lib/integer_length_ll.c: New file.
7980         * modules/integer_length_ll: New file.
7981
7982 2011-10-14  Bruno Haible  <bruno@clisp.org>
7983
7984         Tests for module 'integer_length_l'.
7985         * modules/integer_length_l-tests: New file.
7986         * tests/test-integer_length_l.c: New file.
7987
7988         New module 'integer_length_l'.
7989         * lib/integer_length_l.c: New file.
7990         * modules/integer_length_l: New file.
7991
7992 2011-10-14  Bruno Haible  <bruno@clisp.org>
7993
7994         Tests for module 'integer_length'.
7995         * modules/integer_length-tests: New file.
7996         * tests/test-integer_length.c: New file.
7997
7998         New module 'integer_length'.
7999         * lib/integer_length.h: New file.
8000         * lib/integer_length.c: New file.
8001         * modules/integer_length: New file.
8002
8003 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8004
8005         popen: Fix dependency conditions.
8006         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8007
8008 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8009
8010         perror: Fix autoconf test.
8011         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8012         <stdlib.h> and <string.h>.
8013
8014 2011-10-14  Bruno Haible  <bruno@clisp.org>
8015
8016         ffsl: Optimize on 64-bit platforms.
8017         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8018         unrolling.
8019
8020 2011-10-13  Bruno Haible  <bruno@clisp.org>
8021
8022         ffsl: Optimize on 32-bit platforms.
8023         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8024         use ffs() without a loop.
8025
8026         ffsl, ffsll: Optimize for GCC.
8027         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8028         * lib/ffsl.c (GCC_BUILTIN): New macro.
8029         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8030
8031 2011-10-13  Bruno Haible  <bruno@clisp.org>
8032
8033         ffs, bcopy, memset: Support symbol renaming via config.h.
8034         * lib/ffs.c: Include <config.h>.
8035         * lib/bcopy.c: Likewise.
8036         * lib/memset.c: Likewise.
8037
8038 2011-10-10  Bruno Haible  <bruno@clisp.org>
8039
8040         atanl: Simplify for platforms where 'long double' == 'double'.
8041         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8042         alternative implementation.
8043         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8044         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8045         * modules/atanl (Depends-on): Add atan. Update conditions.
8046
8047 2011-10-10  Bruno Haible  <bruno@clisp.org>
8048
8049         acosl: Simplify for platforms where 'long double' == 'double'.
8050         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8051         alternative implementation.
8052         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8053         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8054         * modules/acosl (Depends-on): Add acos. Update conditions.
8055
8056 2011-10-10  Bruno Haible  <bruno@clisp.org>
8057
8058         asinl: Simplify for platforms where 'long double' == 'double'.
8059         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8060         alternative implementation.
8061         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8062         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8063         * modules/asinl (Depends-on): Add asin. Update conditions.
8064
8065 2011-10-10  Bruno Haible  <bruno@clisp.org>
8066
8067         tanl: Simplify for platforms where 'long double' == 'double'.
8068         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8069         implementation.
8070         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8071         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8072         * modules/tanl (Depends-on): Add tan. Update conditions.
8073         (configure.ac): Don't compile trigl.c if
8074         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8075
8076 2011-10-10  Bruno Haible  <bruno@clisp.org>
8077
8078         cosl: Simplify for platforms where 'long double' == 'double'.
8079         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8080         implementation.
8081         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8082         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8083         * modules/cosl (Depends-on): Add cos. Update conditions.
8084         (configure.ac): Don't compile sincosl.c and trigl.c if
8085         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8086
8087 2011-10-10  Bruno Haible  <bruno@clisp.org>
8088
8089         sinl: Simplify for platforms where 'long double' == 'double'.
8090         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8091         implementation.
8092         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8093         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8094         * modules/sinl (Depends-on): Add sin. Update conditions.
8095         (configure.ac): Don't compile sincosl.c and trigl.c if
8096         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8097
8098 2011-10-10  Bruno Haible  <bruno@clisp.org>
8099
8100         logl: Simplify for platforms where 'long double' == 'double'.
8101         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8102         implementation.
8103         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8104         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8105         * modules/logl (Depends-on): Add log. Update conditions.
8106
8107 2011-10-10  Bruno Haible  <bruno@clisp.org>
8108
8109         expl: Simplify for platforms where 'long double' == 'double'.
8110         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8111         implementation.
8112         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8113         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8114         * modules/expl (Depends-on): Add exp. Update conditions.
8115
8116 2011-10-10  Bruno Haible  <bruno@clisp.org>
8117
8118         sqrtl: Simplify for platforms where 'long double' == 'double'.
8119         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8120         alternative implementation.
8121         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8122         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8123         * modules/sqrtl (Depends-on): Update conditions.
8124
8125 2011-10-10  Bruno Haible  <bruno@clisp.org>
8126
8127         ldexpl: Simplify for platforms where 'long double' == 'double'.
8128         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8129         alternative implementation.
8130         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8131         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8132         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8133
8134 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8135
8136         ffsll: set correct witness
8137         * modules/ffsll (configure.ac): Fix typo.
8138
8139 2011-10-10  Bruno Haible  <bruno@clisp.org>
8140
8141         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8142         * lib/printf-frexpl.c: Include <config.h>.
8143         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8144         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8145         second time.
8146         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8147         gl_LONG_DOUBLE_VS_DOUBLE.
8148         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8149         conditions.
8150
8151 2011-10-10  Bruno Haible  <bruno@clisp.org>
8152
8153         frexpl: Simplify for platforms where 'long double' == 'double'.
8154         * lib/frexpl.c: Include <config.h>.
8155         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8156         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8157         time.
8158         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8159         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8160         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8161         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8162         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8163         conditions.
8164
8165 2011-10-10  Jim Meyering  <meyering@redhat.com>
8166
8167         test-renameat: don't leave behind a temporary file
8168         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8169           ERROR: files left in build directory after distclean:
8170           ./gltests/test-renameat.too
8171           make[1]: *** [distcleancheck] Error 1
8172         Reported by Tom G. Christensen.
8173
8174 2011-10-09  Bruno Haible  <bruno@clisp.org>
8175
8176         rint: Determine RINT_LIBM correctly on AIX 7.
8177         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8178         directly, not only through a function pointer. Also accept an optional
8179         4th argument with extra code.
8180         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8181         rintf() call by gcc when optimizing.
8182
8183         mathfunc.m4: Refactor.
8184         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8185         m4 variable.
8186
8187 2011-10-09  Bruno Haible  <bruno@clisp.org>
8188
8189         rintl: Simplify for platforms where 'long double' == 'double'.
8190         * lib/rintl.c: Include <config.h>.
8191         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8192         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8193         time.
8194         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8195         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8196         * modules/rintl (Depends-on): Add rint. Update conditions.
8197
8198 2011-10-09  Bruno Haible  <bruno@clisp.org>
8199
8200         roundl: Simplify for platforms where 'long double' == 'double'.
8201         * lib/roundl.c: Include <config.h>.
8202         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8203         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8204         time.
8205         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8206         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8207         * modules/roundl (Depends-on): Add round. Update conditions.
8208
8209 2011-10-09  Bruno Haible  <bruno@clisp.org>
8210
8211         truncl: Simplify for platforms where 'long double' == 'double'.
8212         * lib/truncl.c: Include <config.h>.
8213         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8214         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8215         time.
8216         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8217         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8218         * modules/truncl (Depends-on): Add trunc. Update conditions.
8219
8220 2011-10-09  Bruno Haible  <bruno@clisp.org>
8221
8222         ceill: Simplify for platforms where 'long double' == 'double'.
8223         * lib/ceill.c: Include <config.h>.
8224         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8225         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8226         time.
8227         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8228         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8229         * modules/ceill (Depends-on): Add ceil. Update conditions.
8230
8231 2011-10-09  Bruno Haible  <bruno@clisp.org>
8232
8233         floorl: Simplify for platforms where 'long double' == 'double'.
8234         * lib/floorl.c: Include <config.h>.
8235         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8236         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8237         time.
8238         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8239         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8240         * modules/floorl (Depends-on): Add floor. Update conditions.
8241
8242 2011-10-09  Bruno Haible  <bruno@clisp.org>
8243
8244         rint: Fix ordering constraints.
8245         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
8246         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
8247         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8248
8249 2011-10-09  Bruno Haible  <bruno@clisp.org>
8250
8251         copysignl: Simplify for platforms where 'long double' == 'double'.
8252         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8253         alternative.
8254         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8255         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8256         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8257
8258 2011-10-09  Bruno Haible  <bruno@clisp.org>
8259
8260         Tests for module 'rintl'.
8261         * modules/rintl-tests: New file.
8262         * tests/test-rintl.c: New file.
8263
8264         New module 'rintl'.
8265         * lib/math.in.h (rintl): New declaration.
8266         * lib/rintl.c: New file.
8267         * m4/rintl.m4: New file.
8268         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8270         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8271         * modules/rintl: New file.
8272         * tests/test-math-c++.cc: Check the declaration of rintl.
8273         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8274         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8275         * doc/posix-functions/rintl.texi: Mention the new module.
8276
8277 2011-10-09  Bruno Haible  <bruno@clisp.org>
8278
8279         Tests for module 'rintf'.
8280         * modules/rintf-tests: New file.
8281         * tests/test-rintf.c: New file.
8282
8283         New module 'rintf'.
8284         * lib/math.in.h (rintf): New declaration.
8285         * lib/rintf.c: New file.
8286         * m4/rintf.m4: New file.
8287         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8289         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8290         * modules/rintf: New file.
8291         * tests/test-math-c++.cc: Check the declaration of rintf.
8292         * doc/posix-functions/rintf.texi: Mention the new module.
8293
8294 2011-10-09  Bruno Haible  <bruno@clisp.org>
8295
8296         rint: Support for MSVC.
8297         * lib/math.in.h (rint): New declaration.
8298         * lib/rint.c: New file.
8299         * m4/rint.m4: New file.
8300         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8302         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8303         * modules/rint (Description): Fix.
8304         (Files): Add lib/rint.c, m4/rint.m4.
8305         (Depends-on): Add math.
8306         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8307         gl_MATH_MODULE_INDICATOR.
8308         * tests/test-math-c++.cc: Check the declaration of rint.
8309         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8310         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8311         * doc/posix-functions/rint.texi: Mention the replacement provided by
8312         the module.
8313
8314         rint tests: More tests.
8315         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8316         minus-zero.h, infinity.h, nan.h.
8317         (main): Skip the test if the current rounding mode is not standard. Add
8318         tests for negative numbers, minus zero, infinity, NaN.
8319         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8320         tests/nan.h.
8321         (Depends-on): Add isnand-nolibm.
8322
8323 2011-10-09  Bruno Haible  <bruno@clisp.org>
8324
8325         Tests for module 'copysignl'.
8326         * modules/copysignl-tests: New file.
8327         * tests/test-copysignl.c: New file.
8328
8329         New module 'copysignl'.
8330         * lib/math.in.h (copysignl): New declaration.
8331         * lib/copysignl.c: New file.
8332         * m4/copysignl.m4: New file.
8333         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8334         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8335         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8336         HAVE_COPYSIGNL.
8337         * modules/copysignl: New file.
8338         * tests/test-math-c++.cc: Check the declaration of copysignl.
8339         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8340         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8341         * doc/posix-functions/copysignl.texi: Mention the new module.
8342
8343 2011-10-09  Bruno Haible  <bruno@clisp.org>
8344
8345         Tests for module 'copysignf'.
8346         * modules/copysignf-tests: New file.
8347         * tests/test-copysignf.c: New file.
8348
8349         New module 'copysignf'.
8350         * lib/math.in.h (copysignf): New declaration.
8351         * lib/copysignf.c: New file.
8352         * m4/copysignf.m4: New file.
8353         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8355         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8356         HAVE_COPYSIGNF.
8357         * modules/copysignf: New file.
8358         * tests/test-math-c++.cc: Check the declaration of copysignf.
8359         * doc/posix-functions/copysignf.texi: Mention the new module.
8360
8361 2011-10-09  Bruno Haible  <bruno@clisp.org>
8362
8363         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8364         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8365         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8366         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8367         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8368         gl_SIGNAL_H_DEFAULTS.
8369
8370 2011-10-09  Bruno Haible  <bruno@clisp.org>
8371
8372         poll: Make macro safer.
8373         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8374         ac_cv_header_poll_h is not set.
8375
8376 2011-10-09  Bruno Haible  <bruno@clisp.org>
8377
8378         copysign: Provide replacement.
8379         * lib/math.in.h (copysign): New declaration.
8380         * lib/copysign.c: New file.
8381         * m4/copysign.m4: New file.
8382         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8383         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8384         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8385         HAVE_COPYSIGN.
8386         * modules/copysign (Description): Clarify.
8387         (Files): Add lib/copysign.c, m4/copysign.m4.
8388         (Depends-on): Add math, signbit.
8389         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8390         gl_MATH_MODULE_INDICATOR.
8391         * tests/test-math-c++.cc: Check the declaration of copysign.
8392         * doc/posix-functions/copysign.texi: Mention the effects of the module
8393         on Minix and MSVC.
8394
8395 2011-10-09  Bruno Haible  <bruno@clisp.org>
8396
8397         isinf: Ensure macro on AIX 5.1.
8398         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8399         macro.
8400         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8401
8402 2011-10-09  Bruno Haible  <bruno@clisp.org>
8403
8404         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8405         * modules/snprintf-posix-tests (configure.ac): Require
8406         gl_LONG_DOUBLE_VS_DOUBLE.
8407         * modules/sprintf-posix-tests (configure.ac): Likewise.
8408         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8409         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8410         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8411         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8412         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8413         tests on platforms where 'long double' is the same as 'double'.
8414         * tests/test-sprintf-posix.h (test_function): Likewise.
8415         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8416         * tests/test-vasprintf-posix.c (test_function): Likewise.
8417
8418         *printf: Fix for platforms where 'long double' == 'double'.
8419         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8420         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8421         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8422         * modules/fprintf-posix (Files): Likewise.
8423         * modules/obstack-printf-posix (Files): Likewise.
8424         * modules/snprintf-posix (Files): Likewise.
8425         * modules/sprintf-posix (Files): Likewise.
8426         * modules/vasnprintf (Files): Likewise.
8427         * modules/vasnprintf-posix (Files): Likewise.
8428         * modules/vasprintf-posix (Files): Likewise.
8429         * modules/vdprintf-posix (Files): Likewise.
8430         * modules/vfprintf-posix (Files): Likewise.
8431         * modules/vsnprintf-posix (Files): Likewise.
8432         * modules/vsprintf-posix (Files): Likewise.
8433         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8434         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8435         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8436         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8437         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8438         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8439         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8440
8441         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8442         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8443         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8444         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8445         'long double'.
8446         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8447
8448         isinf: Fix for platforms where 'long double' == 'double'.
8449         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8450         Don't blindly assume 80-bit 'long double'.
8451
8452         isfinite: Fix for platforms where 'long double' == 'double'.
8453         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8454         Don't blindly assume 80-bit 'long double'.
8455
8456         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8457         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8458         * modules/isfinite-tests (configure.ac): Require
8459         gl_LONG_DOUBLE_VS_DOUBLE.
8460         * modules/isinf-tests (configure.ac): Likewise.
8461         * modules/isnan-tests (configure.ac): Likewise.
8462         * modules/isnanl-tests (configure.ac): Likewise.
8463         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8464         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8465         tests on platforms where 'long double' is the same as 'double'.
8466         * tests/test-isinf.c (test_isinfl): Likewise.
8467         * tests/test-isnan.c (test_long_double): Likewise.
8468         * tests/test-isnanl.h (main): Likewise.
8469
8470 2011-10-08  Bruno Haible  <bruno@clisp.org>
8471
8472         Tests for module 'tanhf'.
8473         * modules/tanhf-tests: New file.
8474         * tests/test-tanhf.c: New file.
8475
8476         New module 'tanhf'.
8477         * lib/math.in.h (tanhf): New declaration.
8478         * lib/tanhf.c: New file.
8479         * m4/tanhf.m4: New file.
8480         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8481         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8482         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8483         * modules/tanhf: New file.
8484         * tests/test-math-c++.cc: Check the declaration of tanhf.
8485         * doc/posix-functions/tanhf.texi: Mention the new module.
8486
8487         tanh: Use a .m4 file.
8488         * m4/tanh.m4: New file.
8489         * modules/tanh (Files): Add it.
8490         (configure.ac): Just invoke gl_FUNC_TANH.
8491
8492 2011-10-08  Bruno Haible  <bruno@clisp.org>
8493
8494         Tests for module 'coshf'.
8495         * modules/coshf-tests: New file.
8496         * tests/test-coshf.c: New file.
8497
8498         New module 'coshf'.
8499         * lib/math.in.h (coshf): New declaration.
8500         * lib/coshf.c: New file.
8501         * m4/coshf.m4: New file.
8502         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8504         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8505         * modules/coshf: New file.
8506         * tests/test-math-c++.cc: Check the declaration of coshf.
8507         * doc/posix-functions/coshf.texi: Mention the new module.
8508
8509         cosh: Use a .m4 file.
8510         * m4/cosh.m4: New file.
8511         * modules/cosh (Files): Add it.
8512         (configure.ac): Just invoke gl_FUNC_COSH.
8513
8514 2011-10-08  Bruno Haible  <bruno@clisp.org>
8515
8516         Tests for module 'sinhf'.
8517         * modules/sinhf-tests: New file.
8518         * tests/test-sinhf.c: New file.
8519
8520         New module 'sinhf'.
8521         * lib/math.in.h (sinhf): New declaration.
8522         * lib/sinhf.c: New file.
8523         * m4/sinhf.m4: New file.
8524         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8526         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8527         * modules/sinhf: New file.
8528         * tests/test-math-c++.cc: Check the declaration of sinhf.
8529         * doc/posix-functions/sinhf.texi: Mention the new module.
8530
8531         sinh: Use a .m4 file.
8532         * m4/sinh.m4: New file.
8533         * modules/sinh (Files): Add it.
8534         (configure.ac): Just invoke gl_FUNC_SINH.
8535
8536 2011-10-08  Bruno Haible  <bruno@clisp.org>
8537
8538         Tests for module 'atan2f'.
8539         * modules/atan2f-tests: New file.
8540         * tests/test-atan2f.c: New file.
8541
8542         New module 'atan2f'.
8543         * lib/math.in.h (atan2f): New declaration.
8544         * lib/atan2f.c: New file.
8545         * m4/atan2f.m4: New file.
8546         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8547         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8548         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8549         * modules/atan2f: New file.
8550         * tests/test-math-c++.cc: Check the declaration of atan2f.
8551         * doc/posix-functions/atan2f.texi: Mention the new module.
8552
8553         atan2: Use a .m4 file.
8554         * m4/atan2.m4: New file.
8555         * modules/atan2 (Files): Add it.
8556         (configure.ac): Just invoke gl_FUNC_ATAN2.
8557
8558 2011-10-08  Bruno Haible  <bruno@clisp.org>
8559
8560         Tests for module 'atanf'.
8561         * modules/atanf-tests: New file.
8562         * tests/test-atanf.c: New file.
8563
8564         New module 'atanf'.
8565         * lib/math.in.h (atanf): New declaration.
8566         * lib/atanf.c: New file.
8567         * m4/atanf.m4: New file.
8568         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
8569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
8570         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
8571         * modules/atanf: New file.
8572         * tests/test-math-c++.cc: Check the declaration of atanf.
8573         * doc/posix-functions/atanf.texi: Mention the new module.
8574
8575         atan: Use a .m4 file.
8576         * m4/atan.m4: New file.
8577         * modules/atan (Files): Add it.
8578         (configure.ac): Just invoke gl_FUNC_ATAN.
8579
8580 2011-10-08  Bruno Haible  <bruno@clisp.org>
8581
8582         Tests for module 'acosf'.
8583         * modules/acosf-tests: New file.
8584         * tests/test-acosf.c: New file.
8585
8586         New module 'acosf'.
8587         * lib/math.in.h (acosf): New declaration.
8588         * lib/acosf.c: New file.
8589         * m4/acosf.m4: New file.
8590         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
8591         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
8592         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
8593         * modules/acosf: New file.
8594         * tests/test-math-c++.cc: Check the declaration of acosf.
8595         * doc/posix-functions/acosf.texi: Mention the new module.
8596
8597         acos: Use a .m4 file.
8598         * m4/acos.m4: New file.
8599         * modules/acos (Files): Add it.
8600         (configure.ac): Just invoke gl_FUNC_ACOS.
8601
8602 2011-10-08  Bruno Haible  <bruno@clisp.org>
8603
8604         Tests for module 'asinf'.
8605         * modules/asinf-tests: New file.
8606         * tests/test-asinf.c: New file.
8607
8608         New module 'asinf'.
8609         * lib/math.in.h (asinf): New declaration.
8610         * lib/asinf.c: New file.
8611         * m4/asinf.m4: New file.
8612         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
8613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
8614         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
8615         * modules/asinf: New file.
8616         * tests/test-math-c++.cc: Check the declaration of asinf.
8617         * doc/posix-functions/asinf.texi: Mention the new module.
8618
8619         asin: Use a .m4 file.
8620         * m4/asin.m4: New file.
8621         * modules/asin (Files): Add it.
8622         (configure.ac): Just invoke gl_FUNC_ASIN.
8623
8624 2011-10-08  Bruno Haible  <bruno@clisp.org>
8625
8626         Tests for module 'tanf'.
8627         * modules/tanf-tests: New file.
8628         * tests/test-tanf.c: New file.
8629
8630         New module 'tanf'.
8631         * lib/math.in.h (tanf): New declaration.
8632         * lib/tanf.c: New file.
8633         * m4/tanf.m4: New file.
8634         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
8635         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
8636         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
8637         * modules/tanf: New file.
8638         * tests/test-math-c++.cc: Check the declaration of tanf.
8639         * doc/posix-functions/tanf.texi: Mention the new module.
8640
8641         tan: Use a .m4 file.
8642         * m4/tan.m4: New file.
8643         * modules/tan (Files): Add it.
8644         (configure.ac): Just invoke gl_FUNC_TAN.
8645
8646 2011-10-08  Bruno Haible  <bruno@clisp.org>
8647
8648         Tests for module 'cosf'.
8649         * modules/cosf-tests: New file.
8650         * tests/test-cosf.c: New file.
8651
8652         New module 'cosf'.
8653         * lib/math.in.h (cosf): New declaration.
8654         * lib/cosf.c: New file.
8655         * m4/cosf.m4: New file.
8656         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
8657         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
8658         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
8659         * modules/cosf: New file.
8660         * tests/test-math-c++.cc: Check the declaration of cosf.
8661         * doc/posix-functions/cosf.texi: Mention the new module.
8662
8663         cos: Use a .m4 file.
8664         * m4/cos.m4: New file.
8665         * modules/cos (Files): Add it.
8666         (configure.ac): Just invoke gl_FUNC_COS.
8667
8668 2011-10-08  Bruno Haible  <bruno@clisp.org>
8669
8670         Tests for module 'sinf'.
8671         * modules/sinf-tests: New file.
8672         * tests/test-sinf.c: New file.
8673
8674         New module 'sinf'.
8675         * lib/math.in.h (sinf): New declaration.
8676         * lib/sinf.c: New file.
8677         * m4/sinf.m4: New file.
8678         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
8679         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
8680         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
8681         * modules/sinf: New file.
8682         * tests/test-math-c++.cc: Check the declaration of sinf.
8683         * doc/posix-functions/sinf.texi: Mention the new module.
8684
8685         sin: Use a .m4 file.
8686         * m4/sin.m4: New file.
8687         * modules/sin (Files): Add it.
8688         (configure.ac): Just invoke gl_FUNC_SIN.
8689
8690 2011-10-08  Bruno Haible  <bruno@clisp.org>
8691
8692         Tests for module 'powf'.
8693         * modules/powf-tests: New file.
8694         * tests/test-powf.c: New file.
8695
8696         New module 'powf'.
8697         * lib/math.in.h (powf): New declaration.
8698         * lib/powf.c: New file.
8699         * m4/powf.m4: New file.
8700         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
8701         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
8702         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
8703         * modules/powf: New file.
8704         * tests/test-math-c++.cc: Check the declaration of powf.
8705         * doc/posix-functions/powf.texi: Mention the new module.
8706
8707         pow: Use a .m4 file.
8708         * m4/pow.m4: New file.
8709         * modules/pow (Files): Add it.
8710         (configure.ac): Just invoke gl_FUNC_POW.
8711
8712 2011-10-08  Bruno Haible  <bruno@clisp.org>
8713
8714         Tests for module 'log10f'.
8715         * modules/log10f-tests: New file.
8716         * tests/test-log10f.c: New file.
8717
8718         New module 'log10f'.
8719         * lib/math.in.h (log10f): New declaration.
8720         * lib/log10f.c: New file.
8721         * m4/log10f.m4: New file.
8722         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
8723         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
8724         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
8725         * modules/log10f: New file.
8726         * tests/test-math-c++.cc: Check the declaration of log10f.
8727         * doc/posix-functions/log10f.texi: Mention the new module.
8728
8729         log10: Use a .m4 file.
8730         * m4/log10.m4: New file.
8731         * modules/log10 (Files): Add it.
8732         (configure.ac): Just invoke gl_FUNC_LOG10.
8733
8734 2011-10-08  Bruno Haible  <bruno@clisp.org>
8735
8736         Tests for module 'logf'.
8737         * modules/logf-tests: New file.
8738         * tests/test-logf.c: New file.
8739
8740         New module 'logf'.
8741         * lib/math.in.h (logf): New declaration.
8742         * lib/logf.c: New file.
8743         * m4/logf.m4: New file.
8744         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
8745         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
8746         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
8747         * modules/logf: New file.
8748         * tests/test-math-c++.cc: Check the declaration of logf.
8749         * doc/posix-functions/logf.texi: Mention the new module.
8750
8751         log: Use a .m4 file.
8752         * m4/log.m4: New file.
8753         * modules/log (Files): Add it.
8754         (configure.ac): Just invoke gl_FUNC_LOG.
8755
8756 2011-10-08  Bruno Haible  <bruno@clisp.org>
8757
8758         Tests for module 'expf'.
8759         * modules/expf-tests: New file.
8760         * tests/test-expf.c: New file.
8761
8762         New module 'expf'.
8763         * lib/math.in.h (expf): New declaration.
8764         * lib/expf.c: New file.
8765         * m4/expf.m4: New file.
8766         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8767         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8768         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8769         * modules/expf: New file.
8770         * tests/test-math-c++.cc: Check the declaration of expf.
8771         * doc/posix-functions/expf.texi: Mention the new module.
8772
8773         exp: Use a .m4 file.
8774         * m4/exp.m4: New file.
8775         * modules/exp (Files): Add it.
8776         (configure.ac): Just invoke gl_FUNC_EXP.
8777
8778 2011-10-08  Bruno Haible  <bruno@clisp.org>
8779
8780         Tests for module 'sqrtf'.
8781         * modules/sqrtf-tests: New file.
8782         * tests/test-sqrtf.c: New file.
8783
8784         New module 'sqrtf'.
8785         * lib/math.in.h (sqrtf): New declaration.
8786         * lib/sqrtf.c: New file.
8787         * m4/sqrtf.m4: New file.
8788         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8789         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8790         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8791         * modules/sqrtf: New file.
8792         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8793         * doc/posix-functions/sqrtf.texi: Mention the new module.
8794
8795 2011-10-08  Bruno Haible  <bruno@clisp.org>
8796
8797         Tests: Avoid link failures w.r.t. libintl.
8798         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8799         $(LIBINTL).
8800         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8801         $(LIBINTL).
8802         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8803         against $(LIBINTL).
8804         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8805         $(LIBINTL).
8806         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8807         $(LIBINTL).
8808         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8809
8810 2011-10-08  Bruno Haible  <bruno@clisp.org>
8811
8812         pow tests: Defeat compiler optimizations.
8813         * tests/test-pow.c (main): Assign arguments to x and y before use.
8814
8815 2011-10-08  Bruno Haible  <bruno@clisp.org>
8816
8817         gnulib-tool: Improve last commit.
8818         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8819         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8820         ignore dependencies that are not among the modules list.
8821
8822 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8823
8824         gnulib-tool: don't follow dependencies to avoided modules
8825         This fixes a bug that is related to the previous one.
8826         * gnulib-tool (func_modules_transitive_closure)
8827         (func_emit_autoconf_snippets):
8828         Check whether a dependency is acceptable before using it.
8829         (--extract-dependencies): Report an error if --avoid is also used,
8830         since this combination of options is not yet supported.
8831
8832         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8833         Problem reported by Peter Dyballa in
8834         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8835         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8836         when echoing "$condition".
8837
8838 2011-10-07  Bruno Haible  <bruno@clisp.org>
8839
8840         Fix documentation about math functions on MacOS X.
8841         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8842         MacOS X 10.5.
8843         * doc/posix-functions/fdim.texi: Likewise.
8844         * doc/posix-functions/feclearexcept.texi: Likewise.
8845         * doc/posix-functions/fegetenv.texi: Likewise.
8846         * doc/posix-functions/fegetround.texi: Likewise.
8847         * doc/posix-functions/feholdexcept.texi: Likewise.
8848         * doc/posix-functions/feraiseexcept.texi: Likewise.
8849         * doc/posix-functions/fesetenv.texi: Likewise.
8850         * doc/posix-functions/fesetround.texi: Likewise.
8851         * doc/posix-functions/fetestexcept.texi: Likewise.
8852         * doc/posix-functions/feupdateenv.texi: Likewise.
8853         * doc/posix-functions/fmax.texi: Likewise.
8854         * doc/posix-functions/fmin.texi: Likewise.
8855         * doc/posix-functions/log2.texi: Likewise.
8856         * doc/posix-functions/modff.texi: Likewise.
8857         * doc/posix-functions/nan.texi: Likewise.
8858         * doc/posix-functions/nanf.texi: Likewise.
8859         * doc/posix-functions/nextafterf.texi: Likewise.
8860         * doc/posix-functions/remquo.texi: Likewise.
8861
8862 2011-10-07  Bruno Haible  <bruno@clisp.org>
8863
8864         modff: Drop assumption about library that defines modff.
8865         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8866         AC_CHECK_FUNCS.
8867         * modules/modff (Files): Add m4/mathfunc.m4.
8868
8869 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8870
8871         raise tests: Avoid a GCC warning.
8872         * tests/test-raise.c (handler): Use _Noreturn.
8873
8874 2011-10-07  Bruno Haible  <bruno@clisp.org>
8875
8876         Tests for module 'ldexpf'.
8877         * modules/ldexpf-tests: New file.
8878         * tests/test-ldexpf.c: New file.
8879
8880         New module 'ldexpf'.
8881         * lib/math.in.h (ldexpf): New declaration.
8882         * lib/ldexpf.c: New file.
8883         * m4/ldexpf.m4: New file.
8884         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8886         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8887         * modules/ldexpf: New file.
8888         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8889         * doc/posix-functions/ldexpf.texi: Mention the new module.
8890
8891 2011-10-06  Bruno Haible  <bruno@clisp.org>
8892
8893         frexpf: Work around problems on IRIX and mingw.
8894         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8896         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8897         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8898         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8899         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8900         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8901
8902 2011-10-06  Bruno Haible  <bruno@clisp.org>
8903
8904         fabsf: Drop assumption about library that defines fabsf.
8905         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8906         AC_CHECK_FUNCS.
8907         * modules/fabsf (Files): Add m4/mathfunc.m4.
8908
8909 2011-10-06  Bruno Haible  <bruno@clisp.org>
8910
8911         frexpf: Drop assumption about library that defines frexpf.
8912         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8913         'int *', 'float *', 'long double *', 'float', 'long double'.
8914         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8915         AC_CHECK_FUNCS.
8916         * modules/frexpf (Files): Add m4/mathfunc.m4.
8917
8918         Tests for module 'frexpf'.
8919         * modules/frexpf-tests: New file.
8920         * tests/test-frexpf.c: New file.
8921
8922         New module 'frexpf'.
8923         * lib/math.in.h (frexpf): New declaration.
8924         * lib/frexpf.c: New file.
8925         * m4/frexpf.m4: New file.
8926         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8928         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8929         * modules/frexpf: New file.
8930         * tests/test-math-c++.cc: Check the declaration of frexpf.
8931         * doc/posix-functions/frexpf.texi: Mention the new module.
8932
8933 2011-10-06  Bruno Haible  <bruno@clisp.org>
8934
8935         math: Sort function declarations of math.in.h.
8936         * lib/math.in.h (frexp, logb): Move declarations.
8937
8938 2011-10-05  Bruno Haible  <bruno@clisp.org>
8939
8940         Tests for module 'modff'.
8941         * modules/modff-tests: New file.
8942         * tests/test-modff.c: New file.
8943
8944         New module 'modff'.
8945         * lib/math.in.h (modff): New declaration.
8946         * lib/modff.c: New file.
8947         * m4/modff.m4: New file.
8948         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8950         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8951         * modules/modff: New file.
8952         * tests/test-math-c++.cc: Check the declaration of modff.
8953         * doc/posix-functions/modff.texi: Mention the new module.
8954
8955         modf tests: Make test sharper.
8956         * tests/test-modf.c (main): Strengthen upper bound.
8957
8958         modf: Use a .m4 file.
8959         * m4/modf.m4: New file.
8960         * modules/modf (Files): Add it.
8961         (configure.ac): Just invoke gl_FUNC_MODF.
8962
8963 2011-10-05  Bruno Haible  <bruno@clisp.org>
8964
8965         Tests for module 'fmodf'.
8966         * modules/fmodf-tests: New file.
8967         * tests/test-fmodf.c: New file.
8968
8969         New module 'fmodf'.
8970         * lib/math.in.h (fmodf): New declaration.
8971         * lib/fmodf.c: New file.
8972         * m4/fmodf.m4: New file.
8973         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8975         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8976         * modules/fmodf: New file.
8977         * tests/test-math-c++.cc: Check the declaration of fmodf.
8978         * doc/posix-functions/fmodf.texi: Mention the new module.
8979
8980         fmod: Use a .m4 file.
8981         * m4/fmod.m4: New file.
8982         * modules/fmod (Files): Add it.
8983         (configure.ac): Just invoke gl_FUNC_FMOD.
8984
8985 2011-10-05  Bruno Haible  <bruno@clisp.org>
8986
8987         Tests for module 'fabsf'.
8988         * modules/fabsf-tests: New file.
8989         * tests/test-fabsf.c: New file.
8990
8991         New module 'fabsf'.
8992         * lib/math.in.h (fabsf): New declaration.
8993         * lib/fabsf.c: New file.
8994         * m4/fabsf.m4: New file.
8995         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8996         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8997         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8998         * modules/fabsf: New file.
8999         * tests/test-math-c++.cc: Check the declaration of fabsf.
9000         * doc/posix-functions/fabsf.texi: Mention the new module.
9001
9002         fabs: Use a .m4 file.
9003         * m4/fabs.m4: New file.
9004         * modules/fabs (Files): Add it.
9005         (configure.ac): Just invoke gl_FUNC_FABS.
9006
9007 2011-10-05  Jim Meyering  <meyering@redhat.com>
9008
9009         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9010         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9011         ls -lL regression introduced in coreutils-8.12, it does so at the
9012         cost of an additional stat call in the common case.  Besides, now
9013         that the kernel change that prompted commit 95f7c57f has been reverted
9014         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9015         we have no use for commit 95f7c57f, "file-has-acl: use
9016         acl_extended_file_nofollow if available".
9017
9018 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9019
9020         file-has-acl: revert unintended change in behavior of ls -L
9021         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9022         derived from...
9023         (file_has_acl): ...code here.  Call it.
9024         This problem was introduced with 2011-07-22 commit 95f7c57f,
9025         "file-has-acl: use acl_extended_file_nofollow if available".
9026         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9027
9028 2011-10-03  Bruno Haible  <bruno@clisp.org>
9029
9030         poll: Avoid link errors on MSVC.
9031         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9032         * modules/poll (Depends-on): Add sockets.
9033         (Link): New section.
9034         * NEWS: Mention the change.
9035         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9036         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9037         $(LIB_POLL) instead of $(LIBSOCKET).
9038
9039 2011-10-03  Bruno Haible  <bruno@clisp.org>
9040
9041         sys_select tests: Fix link error on MSVC 9.
9042         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9043         with $(LIB_SELECT) instead of $(LIBSOCKET).
9044
9045 2011-10-03  Bruno Haible  <bruno@clisp.org>
9046
9047         sys_select: Fix compilation error on mingw.
9048         * lib/sys_select.in.h: On native Windows, include <io.h>.
9049
9050 2011-10-03  Bruno Haible  <bruno@clisp.org>
9051
9052         wmemset: Support for MSVC.
9053         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9054         whether wmemset() exists.
9055
9056 2011-10-03  Bruno Haible  <bruno@clisp.org>
9057
9058         wmemmove: Support for MSVC.
9059         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9060         whether wmemmove() exists.
9061
9062 2011-10-03  Bruno Haible  <bruno@clisp.org>
9063
9064         wmemcpy: Support for MSVC.
9065         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9066         whether wmemcpy() exists.
9067
9068 2011-10-03  Bruno Haible  <bruno@clisp.org>
9069
9070         wmemcmp: Support for MSVC.
9071         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9072         whether wmemcmp() exists.
9073
9074 2011-10-03  Bruno Haible  <bruno@clisp.org>
9075
9076         wmemchr: Support for MSVC.
9077         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9078         whether wmemchr() exists.
9079
9080 2011-10-03  Bruno Haible  <bruno@clisp.org>
9081
9082         glthread/*, strsignal: Support for MSVC.
9083         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9084         including <winsock.h> on MSVC 9.
9085         * lib/glthread/lock.h: Likewise.
9086         * lib/glthread/thread.h: Likewise.
9087         * lib/glthread/tls.h: Likewise.
9088         * lib/glthread/yield.h: Likewise.
9089         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9090         if HAVE_UNISTD_H is false.
9091         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9092
9093 2011-10-03  Bruno Haible  <bruno@clisp.org>
9094
9095         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9096         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9097         Set to 100000.
9098
9099 2011-10-03  Bruno Haible  <bruno@clisp.org>
9100
9101         acl: Fix specification.
9102         * lib/file-has-acl.c (file_has_acl): Fix specification.
9103
9104 2011-10-03  Bruno Haible  <bruno@clisp.org>
9105
9106         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9107         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9108         (compute_curr_prefix, shared_library_fullname,
9109         find_shared_library_fullname, get_shared_library_fullname, relocate):
9110         Use it together with PIC && INSTALLDIR.
9111         Reported by <jojelino@gmail.com>
9112         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9113
9114 2011-10-01  Jim Meyering  <meyering@redhat.com>
9115
9116         maint.mk: adjust a release-related rule not to require use of gzip
9117         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9118         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9119         projects that build only .tar.xz files.  Also fix an erroneous test.
9120
9121         test-linkat: don't leave behind a temporary file
9122         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9123         Otherwise, coreutils' "make distcheck" would fail with this:
9124           Only in /c/cu/tests/torture/coreutils/test/\
9125             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9126           make[2]: *** [my-distcheck] Error 1
9127
9128         float, math: add omitted file
9129         * lib/itold.c: Add file, required for yesterday's float change.
9130
9131 2011-10-01  Bruno Haible  <bruno@clisp.org>
9132
9133         isinf: Fix for OpenBSD/x86.
9134         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9135         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9136         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9137
9138 2011-10-01  Bruno Haible  <bruno@clisp.org>
9139
9140         isfinite: Fix syntax error in configure test.
9141         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9142
9143         isfinite: Fix typo.
9144         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9145         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9146
9147 2011-10-01  Bruno Haible  <bruno@clisp.org>
9148
9149         nonblocking tests: Fix test failure on Linux/IA-64.
9150         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9151         Set to 270000.
9152
9153 2011-10-01  Bruno Haible  <bruno@clisp.org>
9154
9155         mkfifoat tests: Fix a test failure on mingw.
9156         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9157         with error ENOSYS.
9158
9159 2011-09-30  Bruno Haible  <bruno@clisp.org>
9160
9161         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9162         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9163         'long double'. Set REPLACE_ITOLD.
9164         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9165         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9166         * lib/itold.c: New file.
9167         * modules/float (Files): Add lib/itold.c.
9168         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9169         (Makefile.am): Substitute REPLACE_ITOLD.
9170         * modules/math (Depends-on): Add float.
9171         (Makefile.am): Substitute REPLACE_ITOLD.
9172         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9173         * doc/posix-headers/math.texi: Likewise.
9174         * doc/posix-functions/logl.texi: Likewise.
9175
9176 2011-09-30  Bruno Haible  <bruno@clisp.org>
9177
9178         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9179         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9180         Set to 140000.
9181
9182 2011-09-30  Bruno Haible  <bruno@clisp.org>
9183
9184         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9185         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9186         invocation, say "right after AC_PROG_CC_STDC", not "right after
9187         AC_PROG_CC".
9188         Reported by Gary V. Vaughan <gary@gnu.org>.
9189
9190 2011-09-30  Bruno Haible  <bruno@clisp.org>
9191
9192         Centralize C99 requirement.
9193         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9194         * modules/stdarg (configure.ac-early): Invoke it instead of
9195         AC_PROG_CC_STDC.
9196         Reported by Gary V. Vaughan and Paul Eggert.
9197
9198 2011-09-29  Bruno Haible  <bruno@clisp.org>
9199
9200         float: Fix LDBL_MAX value on Linux/PowerPC.
9201         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9202         on Linux/PowerPC.
9203         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9204         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9205         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9206         platform.
9207         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9208
9209 2011-09-29  Bruno Haible  <bruno@clisp.org>
9210
9211         doc: Improve doc about gl_EARLY.
9212         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9213         AC_PROG_CC_STDC invocation.
9214         Reported by Gary V. Vaughan <gary@gnu.org>.
9215
9216 2011-09-28  Bruno Haible  <bruno@clisp.org>
9217
9218         fgetc, fputc, fread, fwrite tests: Fix link error.
9219         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9220         on non-MSVC platforms.
9221         * tests/test-fputc.c (main): Likewise.
9222         * tests/test-fread.c (main): Likewise.
9223         * tests/test-fwrite.c (main): Likewise.
9224         Reported by Jim Meyering.
9225
9226 2011-09-27  Bruno Haible  <bruno@clisp.org>
9227
9228         fputc, fwrite tests: Avoid test failure on MSVC.
9229         * tests/test-fgetc.c: Include msvc-inval.h.
9230         (main): Invoke gl_msvc_inval_ensure_handler.
9231         * tests/test-fputc.c: Include msvc-inval.h.
9232         (main): Invoke gl_msvc_inval_ensure_handler.
9233         * tests/test-fread.c: Include msvc-inval.h.
9234         (main): Invoke gl_msvc_inval_ensure_handler.
9235         * tests/test-fwrite.c: Include msvc-inval.h.
9236         (main): Invoke gl_msvc_inval_ensure_handler.
9237         * modules/fgetc-tests (Depends-on): Add msvc-inval.
9238         * modules/fputc-tests (Depends-on): Likewise.
9239         * modules/fread-tests (Depends-on): Likewise.
9240         * modules/fwrite-tests (Depends-on): Likewise.
9241
9242 2011-09-27  Bruno Haible  <bruno@clisp.org>
9243
9244         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
9245         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
9246         (raise): Remove older, duplicated declaration.
9247         (_gl_raise_SIGPIPE): New declaration.
9248         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
9249         (rpl_raise): Remove function.
9250         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
9251         a gnulib-defined SIGPIPE here.
9252         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
9253         'sigprocmask' has detected missing signal-blocking and the module
9254         'sigpipe' is enabled.
9255         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9256
9257 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9258
9259         base64-tests: avoid memory leak
9260         * tests/test-base64.c (main): Plug memory leak.
9261
9262         base32: new module
9263         * modules/base32: New module.
9264         * lib/base32.c: New file.
9265         * lib/base32.h: Likewise.
9266         * m4/base32.m4: Likewise.
9267         * modules/base32-tests: New test.
9268         * tests/test-base32.c: Likewise.
9269         * MODULES.html.sh (Misc): Mention it.
9270
9271 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9272
9273         gnulib: use more-standard license notice wording
9274         * gnulib-tool (func_emit_copyright_notice): When emitting a
9275         license notice into a file, use the standard wording as suggested
9276         by the current information for GNU maintainers, except say "file"
9277         rather than "program".  The new wording gives a license version
9278         number, which addresses an issue raised by Glenn Morris in
9279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9280         * m4/onceonly.m4: Use that same wording here, too.
9281
9282         dup2: minor simplification
9283         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9284         as lib/dup2.c no longer uses 'inline'.
9285
9286 2011-09-25  Bruno Haible  <bruno@clisp.org>
9287
9288         strings: Fix compilation error on MSVC.
9289         * lib/strings.in.h: Include <stddef.h> for size_t.
9290
9291 2011-09-25  Bruno Haible  <bruno@clisp.org>
9292
9293         fflush et al.: Document limitation on MSVC.
9294         * doc/posix-functions/fflush.texi: Document possible crash in handling
9295         mode other than DEFAULT_HANDLING.
9296         * doc/posix-functions/fgetc.texi: Likewise.
9297         * doc/posix-functions/fputc.texi: Likewise.
9298         * doc/posix-functions/fread.texi: Likewise.
9299         * doc/posix-functions/fwrite.texi: Likewise.
9300
9301 2011-09-25  Bruno Haible  <bruno@clisp.org>
9302
9303         msvc-inval: Allow three invalid parameter handling modes.
9304         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9305         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9306         macros.
9307         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9308         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9309         SANE_LIBRARY_HANDLING as a no-op.
9310         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9311         <stdlib.h>.
9312         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9313
9314 2011-09-25  Bruno Haible  <bruno@clisp.org>
9315
9316         msvc-inval: Make handler multithread-safe.
9317         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9318         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9319         declarations.
9320         (gl_msvc_inval_current): New declaration.
9321         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9322         Operate on the structure returned by gl_msvc_inval_current().
9323         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9324         Remove varaiables.
9325         (tls_index, tls_initialized): New variables.
9326         (not_per_thread): New variable.
9327         (gl_msvc_inval_current): New function.
9328         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9329         returned by gl_msvc_inval_current().
9330
9331 2011-09-25  Bruno Haible  <bruno@clisp.org>
9332
9333         msvc-inval: Install handler globally.
9334         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9335         !_MSC_VER.
9336         (gl_msvc_invalid_parameter_handler): Remove declaration.
9337         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9338         declarations.
9339         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9340         Install the handler globally, don't uninstall it.
9341         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9342         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9343         currently valid, call RaiseException instead.
9344         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9345         for !_MSC_VER.
9346
9347 2011-09-25  Bruno Haible  <bruno@clisp.org>
9348
9349         strerror_r-posix: Fix for MSVC 9.
9350         * lib/strerror_r.c (local_snprintf): New function.
9351         (snprintf): Define to local_snprintf, not to _snprintf.
9352
9353 2011-09-25  Bruno Haible  <bruno@clisp.org>
9354
9355         ftruncate: Support for MSVC 9.
9356         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9357         (chsize_nothrow): New function.
9358         (chsize): Redefine as a macro.
9359         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9360         * modules/ftruncate (Depends-on): Add msvc-inval.
9361
9362 2011-09-25  Bruno Haible  <bruno@clisp.org>
9363
9364         New module 'fstat'.
9365         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9366         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9367         * lib/fchdir.c (rpl_fstat): Remove function.
9368         * m4/fstat.m4: New file.
9369         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9370         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9371         declared.
9372         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9373         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9374         * modules/fstat: New file.
9375         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9376         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9377         is set.
9378         * doc/posix-functions/fstat.texi: Mention the new module and the
9379         problem on MSVC.
9380         * NEWS: Mention the change.
9381         * modules/acl (Depends-on): Add fstat.
9382         * modules/chdir-safer (Depends-on): Likewise.
9383         * modules/chown (Depends-on): Likewise.
9384         * modules/copy-file (Depends-on): Likewise.
9385         * modules/fchdir (Depends-on): Likewise.
9386         * modules/fdopendir (Depends-on): Likewise.
9387         * modules/fopen (Depends-on): Likewise.
9388         * modules/fts (Depends-on): Likewise.
9389         * modules/getcwd (Depends-on): Likewise.
9390         * modules/isapipe (Depends-on): Likewise.
9391         * modules/linkat (Depends-on): Likewise.
9392         * modules/lseek (Depends-on): Likewise.
9393         * modules/mkdir-p (Depends-on): Likewise.
9394         * modules/open (Depends-on): Likewise.
9395         * modules/openat (Depends-on): Likewise.
9396         * modules/read-file (Depends-on): Likewise.
9397         * modules/renameat (Depends-on): Likewise.
9398         * modules/utimens (Depends-on): Likewise.
9399
9400 2011-09-25  Bruno Haible  <bruno@clisp.org>
9401
9402         linkat: Fix compilation on MSVC 9.
9403         * lib/linkat.c: Don't include <stdint.h>.
9404
9405 2011-09-25  Bruno Haible  <bruno@clisp.org>
9406
9407         fclose: Support for MSVC 9.
9408         * lib/fclose.c: Include msvc-inval.h.
9409         (fclose_nothrow): New function.
9410         (rpl_fclose): Use it.
9411         * modules/fclose (Depends-on): Add msvc-inval.
9412         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9413
9414 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9415
9416         dup2: minor simplifications
9417         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9418         that it's a performance win.
9419         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9420         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9421
9422 2011-09-24  Jim Meyering  <meyering@redhat.com>
9423
9424         test-futimens: avoid a warning from gcc -Wshadow
9425         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9426         to avoid a shadowing warning.
9427
9428 2011-09-24  Bruno Haible  <bruno@clisp.org>
9429
9430         fdopen: Support for MSVC 9.
9431         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9432         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9433         * lib/fdopen.c: Include msvc-inval.h.
9434         (fdopen_nothrow): New function.
9435         (rpl_fdopen): Use it.
9436         * modules/fdopen (Depends-on): Add msvc-inval.
9437         * modules/fclose-tests (Depends-on): Add fdopen.
9438         * modules/fflush-tests (Depends-on): Likewise.
9439         * modules/fgetc-tests (Depends-on): Likewise.
9440         * modules/fputc-tests (Depends-on): Likewise.
9441         * modules/fread-tests (Depends-on): Likewise.
9442         * modules/freopen-tests (Depends-on): Likewise.
9443         * modules/fseeko-tests (Depends-on): Likewise.
9444         * modules/ftello-tests (Depends-on): Likewise.
9445         * modules/fwrite-tests  (Depends-on): Likewise.
9446         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9447
9448 2011-09-24  Bruno Haible  <bruno@clisp.org>
9449
9450         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9451         * modules/fgetc-tests (Depends-on): Add unistd.
9452         * modules/fputc-tests (Depends-on): Likewise.
9453         * modules/fread-tests (Depends-on): Likewise.
9454         * modules/fwrite-tests (Depends-on): Likewise.
9455
9456 2011-09-24  Bruno Haible  <bruno@clisp.org>
9457
9458         dup: Simplify autoconf test.
9459         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9460         on gl_MSVC_INVAL's result.
9461
9462 2011-09-24  Bruno Haible  <bruno@clisp.org>
9463
9464         Tests for function fwrite().
9465         * modules/fwrite-tests: New file.
9466         * tests/test-fwrite.c: New file.
9467         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9468
9469         Tests for function fread().
9470         * modules/fread-tests: New file.
9471         * tests/test-fread.c: New file.
9472         * modules/stdio-tests (Depends-on): Add fread-tests.
9473
9474         Activate fputc tests.
9475         * modules/stdio-tests (Depends-on): Add fputc-tests.
9476
9477         Enhance fgetc, fputc tests.
9478         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9479         * tests/test-fputc.c (main): Likewise.
9480
9481 2011-09-24  Bruno Haible  <bruno@clisp.org>
9482
9483         write: Support for MSVC 9.
9484         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9485         is not 1.
9486         * lib/write.c (write_nothrow): New function.
9487         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9488         not 1. Use write_nothrow.
9489         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9490         invalid parameter handler.
9491         (gl_PREREQ_WRITE): New macro.
9492         * modules/write (Depends-on): Add msvc-inval.
9493         (configure.ac): Invoke gl_PREREQ_WRITE.
9494         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9495
9496 2011-09-24  Bruno Haible  <bruno@clisp.org>
9497
9498         read: Fix last commit.
9499         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9500
9501 2011-09-24  Bruno Haible  <bruno@clisp.org>
9502
9503         dup2: Fix last commit.
9504         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9505         (rpl_dup2): Disable fcntl workaround on native Windows.
9506
9507         sigprocmask: Make code safer.
9508         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9509         section that changes macro definitions for this compilation unit.
9510
9511 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9512
9513         dup2: clarify by coalescing Windows-specific material
9514         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9515         "msvc-nothrow.h"' to the Windows-specific section, so that the
9516         Emacs source need not contain these include files.
9517         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9518         Windows-specific fixes into this function rather than just the
9519         nothrow fix, as this shortens and clarifies the code.  Always
9520         define as a function, as that's a bit cleaner than having it be
9521         sometimes a function and sometimes a macro.
9522         (rpl_dup2): Move the Windows-specific stuff out of here and into
9523         ms_windows_dup2.  Don't protect the Haiku-related fix with
9524         "#if !defined __linux__", as the same code also works around
9525         a Linux kernel bug, and it doesn't add any system calls on any
9526         platform.  Add comment about FreeBSD 6.1.
9527
9528         sigprocmask: move #include directive
9529         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9530         Windows-specific section, so that the Emacs source need not
9531         contain msvc-inval.h.
9532
9533 2011-09-23  Bruno Haible  <bruno@clisp.org>
9534
9535         read: Support for MSVC 9.
9536         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9537         is not 1.
9538         * lib/read.c (read_nothrow): New function.
9539         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9540         read_nothrow.
9541         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9542         invalid parameter handler.
9543         (gl_PREREQ_READ): New macro.
9544         * modules/read (Depends-on): Add msvc-inval.
9545         (configure.ac): Invoke gl_PREREQ_READ.
9546         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9547
9548 2011-09-23  Bruno Haible  <bruno@clisp.org>
9549
9550         close: Support for MSVC 9.
9551         * lib/close.c: Include <errno.h>, msvc-inval.h.
9552         (close_nothrow): New function.
9553         (rpl_close): Use it.
9554         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9555         invalid parameter handler.
9556         * modules/close (Depends-on): Add msvc-inval.
9557         * modules/dup2-tests (Depends-on): Add close.
9558         * modules/dup3-tests (Depends-on): Likewise.
9559         * modules/fcntl-tests (Depends-on): Likewise.
9560         * modules/spawn-pipe-tests (Depends-on): Likewise.
9561         * modules/unistd-safer-tests (Depends-on): Likewise.
9562         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9563
9564 2011-09-23  Bruno Haible  <bruno@clisp.org>
9565
9566         New module 'dup'.
9567         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
9568         Allow replacement.
9569         * lib/dup.c: New file.
9570         * lib/fchdir.c (rpl_dup): Remove function.
9571         * m4/dup.m4: New file.
9572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
9573         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
9574         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
9575         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
9576         * modules/dup: New file.
9577         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
9578         'dup' module is in use.
9579         * modules/fdopendir (Depends-on): Add dup.
9580         * modules/fdutimensat-tests (Depends-on): Likewise.
9581         * modules/fts (Depends-on): Likewise.
9582         * modules/futimens-tests (Depends-on): Likewise.
9583         * modules/posix_spawnp-tests (Depends-on): Likewise.
9584         * modules/unistd-safer-tests (Depends-on): Likewise.
9585         * modules/utimens-tests (Depends-on): Likewise.
9586         * doc/posix-functions/dup.texi: Mention the new module and the problem
9587         on MSVC.
9588
9589 2011-09-23  Bruno Haible  <bruno@clisp.org>
9590
9591         getdtablesize: Support for MSVC 9.
9592         * lib/getdtablesize.c: Include msvc-inval.h.
9593         (_setmaxstdio_nothrow): New function.
9594         (_setmaxstdio): Redefine it.
9595         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
9596         * modules/getdtablesize (Depends-on): Add msvc-inval.
9597         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
9598
9599 2011-09-23  Bruno Haible  <bruno@clisp.org>
9600
9601         signal-h: Rename from signal.
9602         * modules/signal-h: Renamed from modules/signal.
9603         * modules/pthread_sigmask (Depends-on): Update.
9604         * modules/raise (Depends-on): Likewise.
9605         * modules/sigaction (Depends-on): Likewise.
9606         * modules/sigpipe (Depends-on): Likewise.
9607         * modules/sigprocmask (Depends-on): Likewise.
9608         * modules/sys_select (Depends-on): Likewise.
9609         * modules/signal-h-tests: Renamed from modules/signal-tests.
9610         (Files, Depends-on, Makefile.am): Update.
9611         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
9612         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
9613         (Files, Makefile.am): Update.
9614         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
9615         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
9616         * modules/signal: New placeholder file.
9617         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
9618         * doc/posix-headers/signal.texi: Update.
9619         * NEWS: Mention the change.
9620
9621 2011-09-23  Bruno Haible  <bruno@clisp.org>
9622
9623         sigprocmask: Avoid crashes through signal() on MSVC 9.
9624         * lib/sigprocmask.c: Include msvc-inval.h.
9625         (signal_nothrow): New function.
9626         (signal): Redefine it.
9627         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
9628         * modules/sigprocmask (Depends-on): Add msvc-inval.
9629         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
9630
9631 2011-09-23  Bruno Haible  <bruno@clisp.org>
9632
9633         Tests for module 'raise'.
9634         * modules/raise-tests: New file.
9635         * tests/test-raise.c: New file.
9636
9637         raise: Support for MSVC.
9638         * lib/signal.in.h (raise): New declaration.
9639         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
9640         for native Windows platforms.
9641         * m4/raise.m4: New file.
9642         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
9643         HAVE_RAISE, REPLACE_RAISE.
9644         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
9645         REPLACE_RAISE.
9646         * modules/raise (Status, Notice): Remove fields.
9647         (Files): Add m4/raise.m4.
9648         (Depends-on): Add signal, msvc-inval.
9649         (configure.ac): Use the common idioms.
9650         (Maintainer): Add me.
9651         * tests/test-signal-c++.cc: Check the signature of raise.
9652         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
9653
9654 2011-09-23  Bruno Haible  <bruno@clisp.org>
9655
9656         pipe2: Fix compilation on pre-C99 compilers.
9657         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
9658
9659 2011-09-23  Bruno Haible  <bruno@clisp.org>
9660
9661         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
9662         * lib/msvc-nothrow.h: New file.
9663         * lib/msvc-nothrow.c: New file.
9664         * m4/msvc-nothrow.m4: New file.
9665         * modules/msvc-nothrow: New file.
9666         * lib/dup2.c: Include msvc-nothrow.h.
9667         (rpl_dup2): No need to protect _get_osfhandle call here.
9668         * lib/accept4.c: Include msvc-nothrow.h.
9669         * lib/error.c: Likewise.
9670         * lib/fcntl.c: Likewise.
9671         * lib/lseek.c: Likewise.
9672         * lib/nonblocking.c: Likewise.
9673         * lib/poll.c: Likewise.
9674         * lib/read.c: Likewise.
9675         * lib/select.c: Likewise.
9676         * lib/sockets.h: Likewise.
9677         * lib/sockets.c: Likewise.
9678         * lib/stdio-read.c: Likewise.
9679         * lib/stdio-write.c: Likewise.
9680         * lib/write.c: Likewise.
9681         * lib/w32sock.h: Likewise.
9682         * lib/w32spawn.h: Likewise.
9683         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
9684         * lib/fsync.c: Likewise.
9685         * lib/isapipe.c: Likewise.
9686         * modules/dup2 (Depends-on): Add msvc-nothrow.
9687         * modules/accept4 (Depends-on): Likewise.
9688         * modules/error (Depends-on): Likewise.
9689         * modules/fcntl (Depends-on): Likewise.
9690         * modules/lseek (Depends-on): Likewise.
9691         * modules/nonblocking (Depends-on): Likewise.
9692         * modules/poll (Depends-on): Likewise.
9693         * modules/read (Depends-on): Likewise.
9694         * modules/select (Depends-on): Likewise.
9695         * modules/sockets (Depends-on): Likewise.
9696         * modules/sigpipe (Depends-on): Likewise.
9697         * modules/write (Depends-on): Likewise.
9698         * modules/accept (Depends-on): Likewise.
9699         * modules/bind (Depends-on): Likewise.
9700         * modules/connect (Depends-on): Likewise.
9701         * modules/gethostname (Depends-on): Likewise.
9702         * modules/getpeername (Depends-on): Likewise.
9703         * modules/getsockname (Depends-on): Likewise.
9704         * modules/getsockopt (Depends-on): Likewise.
9705         * modules/ioctl (Depends-on): Likewise.
9706         * modules/listen (Depends-on): Likewise.
9707         * modules/recv (Depends-on): Likewise.
9708         * modules/recvfrom (Depends-on): Likewise.
9709         * modules/send (Depends-on): Likewise.
9710         * modules/sendto (Depends-on): Likewise.
9711         * modules/setsockopt (Depends-on): Likewise.
9712         * modules/shutdown (Depends-on): Likewise.
9713         * modules/socket (Depends-on): Likewise.
9714         * modules/execute (Depends-on): Likewise.
9715         * modules/spawn-pipe (Depends-on): Likewise.
9716         * modules/flock (Depends-on): Likewise.
9717         * modules/fsync (Depends-on): Likewise.
9718         * modules/isapipe (Depends-on): Likewise.
9719         * tests/test-cloexec.c: Include msvc-nothrow.h.
9720         * tests/test-dup-safer.c: Likewise.
9721         * tests/test-dup2.c: Likewise.
9722         * tests/test-dup3.c: Likewise.
9723         * tests/test-fcntl.c: Likewise.
9724         * tests/test-pipe.c: Likewise.
9725         * tests/test-pipe2.c: Likewise.
9726         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
9727         * modules/unistd-safer-tests (Depends-on): Likewise.
9728         * modules/dup2-tests (Depends-on): Likewise.
9729         * modules/dup3-tests (Depends-on): Likewise.
9730         * modules/fcntl-tests (Depends-on): Likewise.
9731         * modules/pipe-posix-tests (Depends-on): Likewise.
9732         * modules/pipe2-tests (Depends-on): Likewise.
9733
9734 2011-09-23  Bruno Haible  <bruno@clisp.org>
9735
9736         dup2: Make code more maintainable.
9737         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
9738         (rpl_dup2): Use it.
9739         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
9740         * modules/dup2 (configure.ac): Invoke it.
9741         Reported by Paul Eggert.
9742
9743 2011-09-23  Bruno Haible  <bruno@clisp.org>
9744
9745         msvc-inval: Fix compilation error.
9746         * lib/msvc-inval.h: Include <excpt.h>.
9747
9748 2011-09-23  Bruno Haible  <bruno@clisp.org>
9749
9750         mkdir: Tweak for MSVC 9.
9751         * lib/sys_stat.in.h: Update comments.
9752         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
9753
9754         Tests for module 'chdir'.
9755         * modules/chdir-tests: New file.
9756         * tests/test-chdir.c: New file.
9757
9758         New module 'chdir'.
9759         * modules/chdir: New file.
9760         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
9761         (chdir): New declaration.
9762         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
9763         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
9764         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
9765         * tests/test-unistd-c++.cc: Check signature of chdir.
9766         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9767         * modules/chdir-long (Depends-on): Add chdir.
9768         * modules/fchdir (Depends-on): Likewise.
9769         * modules/rename (Depends-on): Likewise.
9770         * modules/savewd (Depends-on): Likewise.
9771
9772         rmdir: Support for mingw, MSVC 9.
9773         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9774         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9775
9776         getcwd: Tweak for MSVC 9.
9777         * lib/unistd.in.h: Update comments.
9778         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9779
9780 2011-09-22  Bruno Haible  <bruno@clisp.org>
9781
9782         strerror_r-posix: Avoid a link error on MSVC.
9783         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9784         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9785
9786 2011-09-22  Bruno Haible  <bruno@clisp.org>
9787
9788         select: Avoid link errors on MSVC.
9789         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9790         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9791         * modules/pselect (Link): Likewise.
9792         * NEWS: Mention the change.
9793         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9794         test-select-stdin against $(LIB_SELECT).
9795         * modules/pselect-tests (Makefile.am): Link test-pselect against
9796         $(LIB_SELECT).
9797
9798 2011-09-22  Bruno Haible  <bruno@clisp.org>
9799
9800         select: Avoid compilation error on MSVC.
9801         * lib/select.c: Don't include <stdbool.h>.
9802
9803 2011-09-21  Bruno Haible  <bruno@clisp.org>
9804
9805         Consolidate all uses of PATH_MAX in *.m4 files.
9806         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9807         macros.
9808         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9809         and gl_PATHMAX_SNIPPET.
9810         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9811         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9812         * modules/chdir-long (Files): Add m4/pathmax.m4.
9813         * modules/getcwd (Files): Likewise.
9814
9815 2011-09-21  Bruno Haible  <bruno@clisp.org>
9816
9817         ftruncate: Un-deprecate, concentrate on Win32 support.
9818         * modules/ftruncate (Status, Notice): Remove sections.
9819         (Depends-on): Add largefile.
9820         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9821         non-mingw platforms.
9822         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9823         include <io.h>.
9824         * modules/perror-tests (Depends-on): Add ftruncate.
9825         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9826         'ftruncate' module.
9827
9828 2011-09-21  Bruno Haible  <bruno@clisp.org>
9829
9830         Add dependencies to new dirent related modules.
9831         * modules/opendir (Depends-on): Add closedir.
9832         * modules/getcwd (Depends-on): Add opendir, closedir.
9833         * modules/dirent-safer-tests (Depends-on): Likewise.
9834         * modules/fdopendir-tests (Depends-on): Likewise.
9835         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9836         * modules/renameat-tests (Depends-on): Likewise.
9837
9838 2011-09-21  Bruno Haible  <bruno@clisp.org>
9839
9840         opendir: Avoid compilation error on mingw.
9841         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9842         * modules/opendir (Depends-on): Add unistd.
9843
9844 2011-09-21  Bruno Haible  <bruno@clisp.org>
9845
9846         ftruncate tests: Avoid a test failure on mingw.
9847         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9848
9849 2011-09-21  Bruno Haible  <bruno@clisp.org>
9850
9851         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9852         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9853         native Windows.
9854
9855 2011-09-21  Bruno Haible  <bruno@clisp.org>
9856
9857         New module 'fdopen'.
9858         * lib/stdio.in.h (fdopen): New declaration.
9859         * lib/fdopen.c: New file.
9860         * m4/fdopen.m4: New file.
9861         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9862         REPLACE_FDOPEN.
9863         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9864         REPLACE_FDOPEN.
9865         * modules/fdopen: New file.
9866         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9867         * tests/test-stdio-c++.cc: Check signature of fdopen.
9868         * doc/posix-functions/fdopen.texi: Mention the new module.
9869
9870 2011-09-21  Bruno Haible  <bruno@clisp.org>
9871
9872         unlockpt tests: Avoid test failure on NetBSD 5.1.
9873         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9874         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9875
9876 2011-09-21  Bruno Haible  <bruno@clisp.org>
9877
9878         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9879         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9880         * tests/test-getlogin_r.c (main): Likewise.
9881
9882 2011-09-20  Bruno Haible  <bruno@clisp.org>
9883
9884         time tests: Don't require pid_t.
9885         * doc/posix-headers/time.texi: Revert last change.
9886         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9887         * tests/test-time.c: Comment out the check for pid_t.
9888
9889 2011-09-20  Bruno Haible  <bruno@clisp.org>
9890
9891         fsync tests: Avoid a test failure on mingw.
9892         * tests/test-fsync.c (main): Allow a failure with EIO.
9893
9894 2011-09-20  Bruno Haible  <bruno@clisp.org>
9895
9896         euidaccess: Update comments.
9897         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9898
9899 2011-09-20  Bruno Haible  <bruno@clisp.org>
9900
9901         Ensure EBADF returns for socket functions on mingw.
9902         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9903         descriptor is invalid.
9904         * lib/bind.c (rpl_bind): Likewise.
9905         * lib/connect.c (rpl_connect): Likewise.
9906         * lib/getpeername.c (rpl_getpeername): Likewise.
9907         * lib/getsockname.c (rpl_getsockname): Likewise.
9908         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9909         * lib/listen.c (rpl_listen): Likewise.
9910         * lib/recv.c (rpl_recv): Likewise.
9911         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9912         * lib/send.c (rpl_send): Likewise.
9913         * lib/sendto.c (rpl_sendto): Likewise.
9914         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9915         * lib/shutdown.c (rpl_shutdown): Likewise.
9916
9917 2011-09-20  Bruno Haible  <bruno@clisp.org>
9918
9919         select tests: EBADF tests.
9920         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9921         test_bad_fd): New functions.
9922         (test_function): Invoke also test_bad_fd.
9923
9924 2011-09-20  Bruno Haible  <bruno@clisp.org>
9925
9926         Tests for module 'posix_spawn_file_actions_addopen.
9927         * modules/posix_spawn_file_actions_addopen-tests: New file.
9928         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9929
9930         Tests for module 'posix_spawn_file_actions_adddup2'.
9931         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9932         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9933
9934         Tests for module 'posix_spawn_file_actions_addclose'.
9935         * modules/posix_spawn_file_actions_addclose-tests: New file.
9936         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9937
9938 2011-09-20  Bruno Haible  <bruno@clisp.org>
9939
9940         Tests for module 'unlockpt'.
9941         * modules/unlockpt-tests: New file.
9942         * tests/test-unlockpt.c: New file.
9943         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9944
9945         Tests for module 'grantpt'.
9946         * modules/grantpt-tests: New file.
9947         * tests/test-grantpt.c: New file.
9948         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9949
9950 2011-09-20  Bruno Haible  <bruno@clisp.org>
9951
9952         freopen tests: EBADF tests.
9953         * tests/test-freopen.c: Include errno.h, unistd.h.
9954         (main): Add tests for EBADF, commented out for the moment.
9955
9956         fclose tests: EBADF tests.
9957         * tests/test-fclose.c (main): Add tests for EBADF.
9958
9959         fflush tests: EBADF tests.
9960         * tests/test-fflush.c: Include errno.h, macros.h.
9961         (main): Add tests for EBADF.
9962
9963         ftello tests: EBADF tests.
9964         * tests/test-ftello4.sh: New file.
9965         * tests/test-ftello4.c: New file.
9966         * modules/ftello-tests (Files): Add them.
9967         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9968
9969         fseeko tests: EBADF tests.
9970         * tests/test-fseeko4.sh: New file.
9971         * tests/test-fseeko4.c: New file.
9972         * modules/fseeko-tests (Files): Add them.
9973         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9974
9975         Tests for function fputc().
9976         * modules/fputc-tests: New file.
9977         * tests/test-fputc.c: New file.
9978         * modules/stdio-tests (Depends-on): Add fputc-tests.
9979
9980         Tests for function fgetc().
9981         * modules/fgetc-tests: New file.
9982         * tests/test-fgetc.c: New file.
9983         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9984
9985         Tests for function fdopen().
9986         * modules/fdopen-tests: New file.
9987         * tests/test-fdopen.c: New file.
9988         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9989
9990         Tests for module 'vdprintf'.
9991         * modules/vdprintf-tests: New file.
9992         * tests/test-vdprintf.c: New file.
9993
9994         Tests for module 'dprintf'.
9995         * modules/dprintf-tests: New file.
9996         * tests/test-dprintf.c: New file.
9997
9998 2011-09-20  Bruno Haible  <bruno@clisp.org>
9999
10000         Tests for module 'ioctl'.
10001         * modules/ioctl-tests: New file.
10002         * tests/test-ioctl.c: New file.
10003
10004 2011-09-20  Bruno Haible  <bruno@clisp.org>
10005
10006         fcntl tests: EBADF tests.
10007         * tests/test-fcntl.c (main): Add more tests for EBADF.
10008
10009 2011-09-20  Bruno Haible  <bruno@clisp.org>
10010
10011         utimensat tests: EBADF tests.
10012         * tests/test-utimensat.c (main): Add tests for EBADF.
10013
10014         renameat tests: EBADF tests.
10015         * tests/test-renameat.c (main): Add tests for EBADF.
10016
10017         mkfifoat tests: EBADF tests.
10018         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10019
10020         readlinkat tests: EBADF tests.
10021         * tests/test-readlinkat.c (main): Add tests for EBADF.
10022
10023         symlinkat tests: EBADF tests.
10024         * tests/test-symlinkat.c (main): Add tests for EBADF.
10025
10026         linkat tests: EBADF tests.
10027         * tests/test-linkat.c (main): Add tests for EBADF.
10028
10029         Tests for module 'faccessat'.
10030         * modules/faccessat-tests: New file.
10031         * tests/test-faccessat.c: New file.
10032
10033         fdopendir tests: EBADF tests.
10034         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10035
10036         openat tests: EBADF tests.
10037         * tests/test-fchownat.c (main): Add tests for EBADF.
10038         * tests/test-fstatat.c (main): Likewise.
10039         * tests/test-mkdirat.c (main): Likewise.
10040         * tests/test-openat.c (main): Likewise.
10041         * tests/test-unlinkat.c (main): Likewise.
10042         * tests/test-fchmodat.c: New file.
10043         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10044         (Makefile.am): Also run 'test-fchmodat'.
10045
10046 2011-09-20  Bruno Haible  <bruno@clisp.org>
10047
10048         utimens, futimens, fdutimensat tests: EBADF tests.
10049         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10050
10051         Tests for function fstat().
10052         * modules/fstat-tests: New file.
10053         * tests/test-fstat.c: New file.
10054         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10055
10056 2011-09-20  Bruno Haible  <bruno@clisp.org>
10057
10058         test-ttyname_r tests: EBADF tests.
10059         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10060
10061         Tests for module 'isatty'.
10062         * modules/isatty-tests: New file.
10063         * tests/test-isatty.c: New file.
10064
10065         Tests for module 'write'.
10066         * modules/write-tests: New file.
10067         * tests/test-write.c: New file.
10068
10069         Tests for module 'read'.
10070         * modules/read-tests: New file.
10071         * tests/test-read.c: New file.
10072
10073         pwrite tests: EBADF tests.
10074         * tests/test-pwrite.c (main): Add tests for EBADF.
10075
10076         pread tests: EBADF tests.
10077         * tests/test-pread.c (main): Add tests for EBADF.
10078
10079         lseek tests: EBADF tests.
10080         * tests/test-lseek.c (main): Add more tests for EBADF.
10081
10082         Tests for module 'ftruncate'.
10083         * modules/ftruncate-tests: New file.
10084         * tests/test-ftruncate.sh: New file.
10085         * tests/test-ftruncate.c: New file.
10086
10087         fsync tests: EBADF tests.
10088         * tests/test-fsync.c (main): Add more tests for EBADF.
10089
10090         fdatasync tests: EBADF tests.
10091         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10092
10093         Tests for module 'fchown'.
10094         * modules/fchown-tests: New file.
10095         * tests/test-fchown.c: New file.
10096
10097         Tests for module 'fchmod'.
10098         * modules/fchmod-tests: New file.
10099         * tests/test-fchmod.c: New file.
10100
10101         fchdir tests: EBADF tests.
10102         * tests/test-fchdir.c (main): Add more tests for EBADF.
10103
10104         dup2 tests: EBADF tests.
10105         * tests/test-dup2.c (main): Add more tests for EBADF.
10106
10107         Tests for module 'dup'.
10108         * modules/dup-tests: New file.
10109         * tests/test-dup.c: New file.
10110
10111         Tests for module 'close'.
10112         * modules/close-tests: New file.
10113         * tests/test-close.c: New file.
10114
10115 2011-09-20  Bruno Haible  <bruno@clisp.org>
10116
10117         Tests for module 'shutdown'.
10118         * modules/shutdown-tests: New file.
10119         * tests/test-shutdown.c: New file.
10120
10121         Tests for module 'setsockopt'.
10122         * modules/setsockopt-tests: New file.
10123         * tests/test-setsockopt.c: New file.
10124
10125         Tests for module 'sendto'.
10126         * modules/sendto-tests: New file.
10127         * tests/test-sendto.c: New file.
10128
10129         Tests for module 'send'.
10130         * modules/send-tests: New file.
10131         * tests/test-send.c: New file.
10132
10133         Tests for module 'recvfrom'.
10134         * modules/recvfrom-tests: New file.
10135         * tests/test-recvfrom.c: New file.
10136
10137         Tests for module 'recv'.
10138         * modules/recv-tests: New file.
10139         * tests/test-recv.c: New file.
10140
10141         Tests for module 'listen'.
10142         * modules/listen-tests: New file.
10143         * tests/test-listen.c: New file.
10144
10145         Tests for module 'getsockopt'.
10146         * modules/getsockopt-tests: New file.
10147         * tests/test-getsockopt.c: New file.
10148
10149         Tests for module 'getsockname'.
10150         * modules/getsockname-tests: New file.
10151         * tests/test-getsockname.c: New file.
10152
10153         Tests for module 'getpeername'.
10154         * modules/getpeername-tests: New file.
10155         * tests/test-getpeername.c: New file.
10156
10157         Tests for module 'connect'.
10158         * modules/connect-tests: New file.
10159         * tests/test-connect.c: New file.
10160
10161         Tests for module 'bind'.
10162         * modules/bind-tests: New file.
10163         * tests/test-bind.c: New file.
10164
10165         accept4 tests: Fix for native Windows.
10166         * tests/test-accept4.c: Include sockets.h.
10167         (main): Invoke gl_sockets_startup.
10168         * modules/accept4-tests (Depends-on): Add sockets.
10169
10170         accept tests: Fix for native Windows.
10171         * tests/test-accept.c: Include sockets.h.
10172         (main): Invoke gl_sockets_startup.
10173         * modules/accept-tests (Depends-on): Add sockets.
10174
10175 2011-09-19  Bruno Haible  <bruno@clisp.org>
10176
10177         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10178         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10179         do...while(0).
10180         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10181         Suggested by Paul Eggert.
10182
10183 2011-09-19  Bruno Haible  <bruno@clisp.org>
10184
10185         sched: Ensure pid_t is defined.
10186         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10187         not define pid_t.
10188         * lib/sched.in.h: Include <sys/types.h>.
10189         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10190         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10191
10192 2011-09-19  Bruno Haible  <bruno@clisp.org>
10193
10194         msvc-inval: Ensure the entire expansion is a single statement.
10195         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10196         of braces.
10197
10198 2011-09-19  Jim Meyering  <meyering@redhat.com>
10199
10200         tests: use printf, not echo in init.sh's warn_ function
10201         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10202         misbehave when given strings containing a backslash or starting
10203         with e.g., -n.  James Youngman suggested setting IFS.
10204
10205 2011-09-19  Eric Blake  <eblake@redhat.com>
10206
10207         futimens: enhance test
10208         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10209         closed non-negative fd.
10210
10211         date: accept 'hence' as opposite of 'ago'
10212         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10213         * tests/test-parse-datetime.c (main): Enhance test.
10214         Suggested by Jesse Wilson.
10215
10216 2011-09-19  Jim Meyering  <meyering@redhat.com>
10217
10218         getcwd: don't fail in a deep directory on a system without openat
10219         Before this change, getcwd would fail when called from a directory
10220         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10221         the non-openat implementation used "..", "../..", "../../..", etc.
10222         to access ancestor directories.  With too many, that string would
10223         be longer than PATH_MAX.
10224         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10225         using gnulib's openat replacement.
10226         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10227         we're using the replacement function.
10228
10229 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10230
10231         maint.mk: avoid warnings from perl about missing files
10232         * top/maint.mk (def_sym_regex): Ignore files listed in
10233         $(gl_other_headers_) that do not exist, say because a project
10234         does not use a corresponding module.
10235
10236 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10237
10238         stat: use pathmax.h only if needed
10239         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
10240         This is better for Emacs, which does not have a mingw port and
10241         therefore can avoid the pathmax module.
10242
10243         utimens: remove dependency on dup2
10244         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
10245         to work around the Linux kernel bug.
10246         * modules/utimens (Depends-on): Remove dup2.
10247
10248 2011-09-18  Bruno Haible  <bruno@clisp.org>
10249
10250         inet_ntop, inet_pton: Look for it also in libresolv.
10251         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
10252         libnsl, search for it in libresolv.
10253         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10254         Needed on Solaris 7.
10255
10256 2011-09-18  Bruno Haible  <bruno@clisp.org>
10257
10258         accept, accept4 tests: Avoid link error on Solaris.
10259         * modules/accept-tests (Makefile.am): Link test-accept against
10260         $(LIBSOCKET).
10261         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10262         $(LIBSOCKET).
10263
10264         accept4: Avoid link error on Solaris.
10265         * modules/accept4 (Link): New section.
10266
10267         socket functions: Avoid link errors on Solaris.
10268         * modules/accept (Depends-on): Add socketlib.
10269         (Link): New section.
10270         * modules/bind (Depends-on): Add socketlib.
10271         (Link): New section.
10272         * modules/connect (Depends-on): Add socketlib.
10273         (Link): New section.
10274         * modules/getpeername (Depends-on): Add socketlib.
10275         (Link): New section.
10276         * modules/getsockname (Depends-on): Add socketlib.
10277         (Link): New section.
10278         * modules/getsockopt (Depends-on): Add socketlib.
10279         (Link): New section.
10280         * modules/listen (Depends-on): Add socketlib.
10281         (Link): New section.
10282         * modules/recv (Depends-on): Add socketlib.
10283         (Link): New section.
10284         * modules/recvfrom (Depends-on): Add socketlib.
10285         (Link): New section.
10286         * modules/send (Depends-on): Add socketlib.
10287         (Link): New section.
10288         * modules/sendto (Depends-on): Add socketlib.
10289         (Link): New section.
10290         * modules/setsockopt (Depends-on): Add socketlib.
10291         (Link): New section.
10292         * modules/shutdown (Depends-on): Add socketlib.
10293         (Link): New section.
10294         * modules/socket (Depends-on): Add socketlib.
10295         (Link): New section.
10296
10297 2011-09-18  Bruno Haible  <bruno@clisp.org>
10298
10299         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10300         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10301         than 5 seconds.
10302         * modules/ptsname-tests (configure.ac): Test for alarm.
10303
10304 2011-09-18  Bruno Haible  <bruno@clisp.org>
10305
10306         posix_spawn_file_actions_add*: Fix module dependencies.
10307         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10308         posix_spawn_file_actions_init.
10309         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10310         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10311
10312 2011-09-18  Bruno Haible  <bruno@clisp.org>
10313
10314         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10315         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10316         * tests/test-renameat.c (main): Likewise.
10317
10318 2011-09-18  Bruno Haible  <bruno@clisp.org>
10319
10320         Tests for module 'accept4'.
10321         * modules/accept4-tests: New file.
10322         * tests/test-accept4.c: New file.
10323
10324 2011-09-18  Bruno Haible  <bruno@clisp.org>
10325
10326         Tests for module 'accept'.
10327         * modules/accept-tests: New file.
10328         * tests/test-accept.c: New file.
10329
10330 2011-09-18  Bruno Haible  <bruno@clisp.org>
10331
10332         dup2: Support for MSVC.
10333         * lib/dup2.c: Include msvc-inval.h.
10334         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10335         _get_osfhandle calls.
10336         * modules/dup2 (Depends-on): Add msvc-inval.
10337         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10338
10339         New module 'msvc-inval'.
10340         * lib/msvc-inval.h: New file.
10341         * lib/msvc-inval.c: New file.
10342         * m4/msvc-inval.m4: New file.
10343         * modules/msvc-inval: New file.
10344
10345 2011-09-17  Bruno Haible  <bruno@clisp.org>
10346
10347         Tests for module 'pclose'.
10348         * modules/pclose-tests: New file.
10349
10350         New module 'pclose'.
10351         * lib/stdio.in.h (pclose): New declaration.
10352         * lib/pclose.c: New file.
10353         * m4/pclose.m4: New file.
10354         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10355         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10356         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10357         * modules/pclose: New file.
10358         * modules/popen-tests (Depends-on): Add pclose.
10359         * modules/popen-safer-tests (Depends-on): Likewise.
10360         * doc/posix-functions/pclose.texi: Mention the new module.
10361
10362 2011-09-17  Bruno Haible  <bruno@clisp.org>
10363
10364         popen: Support for MSVC.
10365         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10366         * lib/popen.c (popen): Provide alternate definition for native Windows.
10367         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10369         * modules/popen (Depends-on, configure.ac): Update condition.
10370         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10371         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10372         fixed.
10373
10374 2011-09-17  Bruno Haible  <bruno@clisp.org>
10375
10376         isnanl, isnand, isnanf: Work around MSVC bug.
10377         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10378
10379 2011-09-17  Bruno Haible  <bruno@clisp.org>
10380
10381         sys_socket tests: Fix recent mistake.
10382         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10383
10384 2011-09-17  Bruno Haible  <bruno@clisp.org>
10385
10386         putenv: Support for MSVC.
10387         * modules/putenv (Depends-on): Add environ.
10388         * lib/putenv.c (environ): Disable declaration.
10389         * lib/unistd.in.h: Update comment.
10390
10391 2011-09-17  Bruno Haible  <bruno@clisp.org>
10392
10393         math: Avoid macro redefinition warnings on MSVC.
10394         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10395         Undefine before redefining.
10396
10397 2011-09-17  Bruno Haible  <bruno@clisp.org>
10398
10399         doc: Mention functions which are declared as macros.
10400         * doc/posix-functions/*[fl].texi: Mention that some functions are
10401         defined as macros with arguments only.
10402
10403 2011-09-17  Bruno Haible  <bruno@clisp.org>
10404
10405         Add dependencies to new dirent related modules.
10406         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10407         * modules/fts (Depends-on): Likewise.
10408         * modules/glob (Depends-on): Likewise.
10409         * modules/savedir (Depends-on): Likewise.
10410         * modules/scandir (Depends-on): Likewise.
10411         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10412         * modules/fdopendir (Depends-on): Add opendir.
10413
10414 2011-09-17  Bruno Haible  <bruno@clisp.org>
10415
10416         inet_pton: Support for MSVC on Windows Vista or newer.
10417         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10418         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10419         HAVE_DECL_INET_PTON is defined.
10420         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10421         On platforms with <winsock2.h>, test whether inet_pton is declared in
10422         <ws2tcpip.h>. If so, arrange to replace it.
10423         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10424         REPLACE_INET_PTON.
10425         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10426         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10427         (Depends-on, configure.ac): Update condition.
10428         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10429
10430 2011-09-17  Bruno Haible  <bruno@clisp.org>
10431
10432         inet_ntop: Support for MSVC on Windows Vista or newer.
10433         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10434         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10435         HAVE_DECL_INET_NTOP is defined.
10436         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10437         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10438         <ws2tcpip.h>. If so, arrange to replace it.
10439         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10440         REPLACE_INET_NTOP.
10441         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10442         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10443         (Depends-on, configure.ac): Update condition.
10444         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10445
10446 2011-09-16  Eric Blake  <eblake@redhat.com>
10447
10448         test-fsync: yet another enhancement
10449         * tests/test-fsync.c (main): Also test behavior on read-only text
10450         file.
10451
10452 2011-09-16  Bruno Haible  <bruno@clisp.org>
10453
10454         Enhance fsync, fdatasync tests.
10455         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10456         * tests/test-fdatasync.c (main): Likewise.
10457
10458 2011-09-16  Bruno Haible  <bruno@clisp.org>
10459
10460         Support for MSVC compiler: Ensure mode_t gets defined.
10461         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10462         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10463         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10464         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10465         * tests/test-fcntl-h.c: Check that mode_t is defined.
10466         * tests/test-sys_stat.c: Likewise.
10467         * tests/test-sys_types.c: Likewise.
10468         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10469         * doc/posix-headers/sys_stat.texi: Likewise.
10470         * doc/posix-headers/sys_types.texi: Likewise.
10471
10472 2011-09-16  Bruno Haible  <bruno@clisp.org>
10473
10474         sys_stat: Support for MSVC.
10475         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10476         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10477         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10478         MSVC.
10479
10480 2011-09-16  Bruno Haible  <bruno@clisp.org>
10481
10482         Support for MSVC compiler: Ensure off_t gets defined.
10483         * lib/unistd.in.h: Include <sys/types.h>.
10484         * tests/test-fcntl-h.c: Check that off_t is defined.
10485         * tests/test-sys_stat.c: Likewise.
10486         * tests/test-sys_types.c: Likewise.
10487
10488 2011-09-16  Eric Blake  <eblake@redhat.com>
10489
10490         fdatasync: port to Solaris
10491         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10492         * modules/fdatasync (Link): Document it.
10493         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10494
10495         fdatasync: port to MacOS X 10.7
10496         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10497         declared.
10498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10499         * modules/unistd (Makefile.am): Substitute it.
10500         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10501         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10502
10503         fdatasync: minor improvements
10504         * modules/fdatasync (Depends-on): Add condition for fsync.
10505         * lib/fdatasync.c (fdatasync): Add comment.
10506         * tests/test-unistd-c++.cc: Test fdatasync.
10507
10508         unistd: update refs to newer POSIX
10509         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10510         Suggested by Bruno Haible.
10511
10512         fdatasync: new module
10513         * modules/fsync (Description): Document difference to fdatasync.
10514         * modules/fdatasync: New module.
10515         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10516         * lib/fdatasync.c (fdatasync): Likewise.
10517         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10518         defaults.
10519         * modules/unistd (Makefile.am): Set witnesses.
10520         * lib/unistd.in.h (fdatasync): Declare.
10521         * MODULES.html.sh: Document it.
10522         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10523         * modules/fdatasync-tests: New test.
10524         * tests/test-fdatasync.c: Likewise.
10525
10526 2011-09-16  Eric Blake  <eblake@redhat.com>
10527
10528         test-fsync: enhance tests
10529         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10530         * tests/test-fsync.c (main): Enhance test.
10531
10532 2011-09-15  Bruno Haible  <bruno@clisp.org>
10533
10534         Support for MSVC compiler: Ensure ssize_t gets defined.
10535         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10536         * doc/posix-headers/stdio.texi: Likewise.
10537         * modules/stdio (Depends-on): Add ssize_t.
10538         * modules/sys_socket (Depends-on): Likewise.
10539         * modules/sys_types (Depends-on): Likewise.
10540         * modules/sys_uio (Depends-on): Likewise.
10541         * modules/unistd (Depends-on): Likewise.
10542         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10543         * tests/test-sys_types.c: Check that ssize_t is defined.
10544
10545 2011-09-14  Bruno Haible  <bruno@clisp.org>
10546
10547         Avoid using #, the m4 comment starter character, near brackets.
10548         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10549         delimiter character in sed expressions.
10550         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10551         Suggested by Eric Blake.
10552
10553         Properly quote AC_CHECK_DECLS' 4th argument.
10554         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10555         argument.
10556         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10557         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10558         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10559         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10560         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10561         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10562         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10563         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
10564         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
10565         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10566         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
10567         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10568         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10569         * m4/isinf.m4 (gl_ISINF): Likewise.
10570         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10571         * m4/readutmp.m4 (gl_READUTMP): Likewise.
10572         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10573         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10574         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10575         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10576         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10577         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10578         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
10579         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10580         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10581         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10582         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
10583         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10585         Reported by Eric Blake.
10586
10587         Properly quote AC_CHECK_DECL's 4th argument.
10588         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
10589         argument.
10590         * m4/argp.m4 (gl_ARGP): Likewise.
10591         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10592         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10593         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10594         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10595         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
10596         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
10597         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
10598         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10599         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10600         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10601         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10602         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10603         Reported by Eric Blake.
10604
10605 2011-09-14  Eric Blake  <eblake@redhat.com>
10606
10607         opendir: avoid compile warning
10608         * lib/opendir.c (includes): Always include errno.h.
10609         Reported by Tatsuro MATSUOKA.
10610
10611 2011-09-14  Jim Meyering  <meyering@redhat.com>
10612
10613         maint.mk: sc_tight_scope: propagate failure from sub-make
10614         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
10615         Reported by Martin von Gagern.
10616
10617 2011-09-13  Bruno Haible  <bruno@clisp.org>
10618
10619         tempname: Support for MSVC.
10620         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
10621         MSVC.
10622         * modules/tempname (Depends-on): Add fcntl-h.
10623
10624 2011-09-13  Bruno Haible  <bruno@clisp.org>
10625
10626         sys_time: Support for MSVC.
10627         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
10628         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
10629         include <winsock2.h>.
10630         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
10631         function declarations that collide with POSIX.
10632         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
10633         (Makefile.am): Substitute HAVE_WINSOCK2_H.
10634
10635 2011-09-13  Bruno Haible  <bruno@clisp.org>
10636
10637         stat: Support for MSVC.
10638         * lib/stat.c: Include pathmax.h.
10639         * modules/stat (Depends-on): Add pathmax.
10640
10641         pathmax: Support for native Windows.
10642         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
10643
10644 2011-09-12  Bruno Haible  <bruno@clisp.org>
10645
10646         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
10647         * lib/dirent.in.h (struct dirent): New type.
10648         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
10649         DT_WHT): New macros.
10650         (DIR): New type.
10651         (opendir, closedir): Declare only if the module 'opendir' is enabled.
10652         (readdir, rewinddir): New declarations.
10653         * lib/dirent-private.h: New file.
10654         * lib/opendir.c: New file.
10655         * lib/readdir.c: New file.
10656         * lib/rewinddir.c: New file.
10657         * lib/closedir.c: New file.
10658         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
10659         * m4/opendir.m4: New file.
10660         * m4/readdir.m4: New file.
10661         * m4/rewinddir.m4: New file.
10662         * m4/closedir.m4: New file.
10663         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
10664         REPLACE_CLOSEDIR here.
10665         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
10666         readdir, rewinddir are declared.
10667         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
10668         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
10669         HAVE_REWINDDIR, HAVE_CLOSEDIR.
10670         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
10671         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
10672         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
10673         * modules/opendir: New file.
10674         * modules/readdir: New file.
10675         * modules/rewinddir: New file.
10676         * modules/closedir: New file.
10677         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
10678         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
10679         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
10680         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
10681         * NEWS: Mention the 'fchdir' change.
10682
10683 2011-09-11  Bruno Haible  <bruno@clisp.org>
10684
10685         asm-underscore.m4: Support for MSVC.
10686         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
10687         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
10688
10689 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
10690
10691         Doc about crypt functions.
10692         * doc/posix-functions/crypt.texi: Expand range of glibc versions
10693         needing for _GNU_SOURCE to get crypt.
10694         * doc/posix-functions/encrypt.texi: Likewise.
10695         * doc/posix-functions/setkey.texi: Likewise.
10696
10697 2011-09-11  Bruno Haible  <bruno@clisp.org>
10698
10699         doc: Update regarding MSVC 9.
10700         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
10701         tested".
10702         * doc/posix-functions/*.texi: Update with info about MSVC 9.
10703         * doc/posix-headers/*.texi: Likewise.
10704         * doc/pastposix-functions/*.texi: Likewise.
10705         * doc/glibc-functions/*.texi: Likewise.
10706         * doc/glibc-headers/*.texi: Likewise.
10707
10708 2011-09-11  Bruno Haible  <bruno@clisp.org>
10709
10710         unistd et al.: Don't assume <unistd.h> exists.
10711         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
10712         does not exist.
10713         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
10714         exist. But include <stdlib.h>.
10715         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
10716         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
10717         symlink() does not exist.
10718         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
10719         include <io.h> instead.
10720         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
10721         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
10722         include <direct.h> instead.
10723         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10724         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10725         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
10726         <io.h> instead.
10727         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
10728         correctly if the system does not have hard links.
10729         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
10730         <direct.h> instead.
10731         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
10732         it when looking for function declarations.
10733         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
10734         <direct.h> and <io.h> instead.
10735         * doc/posix-headers/unistd.texi: More details about MSVC problem.
10736
10737 2011-09-11  Bruno Haible  <bruno@clisp.org>
10738
10739         strcase: Support for MSVC.
10740         * modules/strcase (Status, Notice): Remove obsoletion mark.
10741         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
10742         * doc/posix-functions/strncasecmp.texi: Likewise.
10743
10744         strings: Don't assume <strings.h> exists.
10745         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
10746         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
10747         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
10748         * doc/posix-headers/strings.texi: Mention the MSVC problem.
10749
10750 2011-09-11  Bruno Haible  <bruno@clisp.org>
10751
10752         dirent: Don't assume <dirent.h> exists.
10753         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
10754         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
10755         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
10756         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
10757
10758 2011-09-11  Bruno Haible  <bruno@clisp.org>
10759
10760         Fix wint_t on MSVC.
10761         * lib/wchar.in.h (wint_t): On MSVC, override it.
10762         * lib/wctype.in.h (wint_t): Likewise.
10763         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
10764         MSVC.
10765         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10766         * doc/posix-headers/wctype.texi: Likewise.
10767
10768 2011-09-11  Bruno Haible  <bruno@clisp.org>
10769
10770         sys_types: Fix typo.
10771         * lib/sys_types.in.h: Fix typo in comment.
10772         Reported by Paul Eggert.
10773
10774         Support for MSVC compiler: Ensure size_t gets defined.
10775         * modules/strings (Depends-on): Add 'sys_types'.
10776         * modules/sys_uio (Depends-on): Likewise.
10777         * lib/sys_uio.in.h: Update comment.
10778
10779         C++ tests for module 'sys_types'.
10780         * modules/sys_types-c++-tests: New file.
10781         * tests/test-sys_types-c++.cc: New file.
10782
10783         Tests for module 'sys_types'.
10784         * modules/sys_types-tests: New file.
10785         * tests/test-sys_types.c: New file.
10786
10787         New module 'sys_types'.
10788         * lib/sys_types.in.h: New file.
10789         * m4/sys_types_h.m4: New file.
10790         * modules/sys_types: New file.
10791         * doc/posix-headers/sys_types.texi: Mention the new module and the
10792         size_t problem on MSVC 9.
10793
10794 2011-09-11  Bruno Haible  <bruno@clisp.org>
10795
10796         Support for MSVC compiler: Avoid division by a literal 0.
10797         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10798         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10799         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10800         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10801         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10802         * tests/infinity.h: New file.
10803         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10804         on MSVC.
10805         * tests/test-ceilf1.c: Include infinity.h.
10806         (main): Use Infinityf.
10807         * tests/test-ceil1.c: Include infinity.h.
10808         (main): Use Infinityd.
10809         * tests/test-ceill.c: Include infinity.h.
10810         (main): Use Infinityl.
10811         * tests/test-dprintf-posix.c: Include infinity.h.
10812         (test_function): Use Infinityd.
10813         * tests/test-floorf1.c: Include infinity.h.
10814         (main): Use Infinityf.
10815         * tests/test-floor1.c: Include infinity.h.
10816         (main): Use Infinityd.
10817         * tests/test-floorl.c: Include infinity.h.
10818         (main): Use Infinityl.
10819         * tests/test-fprintf-posix.c: Include infinity.h.
10820         (test_function): Use Infinityd.
10821         * tests/test-frexp.c: Include infinity.h.
10822         (main): Use Infinityd.
10823         * tests/test-frexpl.c: Include infinity.h.
10824         (main): Use Infinityl.
10825         * tests/test-isfinite.c: Include infinity.h.
10826         (test_isfinitef): Use Infinityf.
10827         (test_isfinited): Use Infinityd.
10828         (test_isfinitel): Use Infinityl.
10829         * tests/test-isinf.c: Include infinity.h.
10830         (test_isinff): Use Infinityf.
10831         (test_isinfd): Use Infinityd.
10832         (test_isinfl): Use Infinityl.
10833         * tests/test-isnan.c: Include infinity.h.
10834         (test_float): Use Infinityf.
10835         (test_double): Use Infinityd.
10836         (test_long_double): Use Infinityl.
10837         * tests/test-isnanf.h: Include infinity.h.
10838         (main): Use Infinityf.
10839         * tests/test-isnand.h: Include infinity.h.
10840         (main): Use Infinityd.
10841         * tests/test-isnanl.h: Include infinity.h.
10842         (main): Use Infinityl.
10843         * tests/test-ldexpl.c: Include infinity.h.
10844         (main): Use Infinityl.
10845         * tests/test-printf-posix.h: Include infinity.h.
10846         (test_function): Use Infinityd.
10847         * tests/test-roundf1.c: Include infinity.h.
10848         (main): Use Infinityf.
10849         * tests/test-round1.c: Include infinity.h.
10850         (main): Use Infinityd.
10851         * tests/test-roundl.c: Include infinity.h.
10852         (main): Use Infinityl.
10853         * tests/test-signbit.c: Include infinity.h.
10854         (test_signbitf): Use Infinityf.
10855         (test_signbitd): Use Infinityd.
10856         (test_signbitl): Use Infinityl.
10857         * tests/test-snprintf-posix.h: Include infinity.h.
10858         (test_function): Use Infinityd, Infinityl.
10859         * tests/test-sprintf-posix.h: Include infinity.h.
10860         (test_function): Use Infinityd, Infinityl.
10861         * tests/test-truncf1.c: Include infinity.h.
10862         (main): Use Infinityf.
10863         * tests/test-trunc1.c: Include infinity.h.
10864         (main): Use Infinityd.
10865         * tests/test-truncl.c: Include infinity.h.
10866         (main): Use Infinityl.
10867         * tests/test-vasnprintf-posix.c: Include infinity.h.
10868         (test_function): Use Infinityd, Infinityl.
10869         * tests/test-vasprintf-posix.c: Include infinity.h.
10870         (test_function): Use Infinityd, Infinityl.
10871         * modules/ceilf-tests (Files): Add tests/infinity.h.
10872         * modules/ceil-tests (Files): Likewise.
10873         * modules/ceill-tests (Files): Likewise.
10874         * modules/dprintf-posix-tests (Files): Likewise.
10875         * modules/floorf-tests (Files): Likewise.
10876         * modules/floor-tests (Files): Likewise.
10877         * modules/floorl-tests (Files): Likewise.
10878         * modules/fprintf-posix-tests (Files): Likewise.
10879         * modules/frexp-tests (Files): Likewise.
10880         * modules/frexp-nolibm-tests (Files): Likewise.
10881         * modules/frexpl-tests (Files): Likewise.
10882         * modules/frexpl-nolibm-tests (Files): Likewise.
10883         * modules/isfinite-tests (Files): Likewise.
10884         * modules/isinf-tests (Files): Likewise.
10885         * modules/isnan-tests (Files): Likewise.
10886         * modules/isnanf-tests (Files): Likewise.
10887         * modules/isnanf-nolibm-tests (Files): Likewise.
10888         * modules/isnand-tests (Files): Likewise.
10889         * modules/isnand-nolibm-tests (Files): Likewise.
10890         * modules/isnanl-tests (Files): Likewise.
10891         * modules/isnanl-nolibm-tests (Files): Likewise.
10892         * modules/ldexpl-tests (Files): Likewise.
10893         * modules/printf-posix-tests (Files): Likewise.
10894         * modules/roundf-tests (Files): Likewise.
10895         * modules/round-tests (Files): Likewise.
10896         * modules/roundl-tests (Files): Likewise.
10897         * modules/signbit-tests (Files): Likewise.
10898         * modules/snprintf-posix-tests (Files): Likewise.
10899         * modules/sprintf-posix-tests (Files): Likewise.
10900         * modules/truncf-tests (Files): Likewise.
10901         * modules/trunc-tests (Files): Likewise.
10902         * modules/truncl-tests (Files): Likewise.
10903         * modules/vasnprintf-posix-tests (Files): Likewise.
10904         * modules/vasprintf-posix-tests (Files): Likewise.
10905         * modules/vdprintf-posix-tests (Files): Likewise.
10906         * modules/vfprintf-posix-tests (Files): Likewise.
10907         * modules/vprintf-posix-tests (Files): Likewise.
10908         * modules/vsnprintf-posix-tests (Files): Likewise.
10909         * modules/vsprintf-posix-tests (Files): Likewise.
10910         * modules/xprintf-posix-tests (Files): Likewise.
10911
10912 2011-09-11  Bruno Haible  <bruno@clisp.org>
10913
10914         Ensure pid_t gets defined.
10915         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10916         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10917         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10918         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10919         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10920         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10921         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10922         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10923         * tests/test-fcntl-h.c: Check that pid_t is defined.
10924         * tests/test-sched.c: Likewise.
10925         * tests/test-termios.c: Likewise.
10926         * tests/test-time.c: Likewise.
10927         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10928         * doc/posix-headers/signal.texi: Likewise.
10929         * doc/posix-headers/sys_types.texi: Likewise.
10930         * doc/posix-headers/time.texi: Likewise.
10931
10932 2011-09-11  Bruno Haible  <bruno@clisp.org>
10933
10934         acl: Fix compilation on Solaris 10 (older version).
10935         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10936         of ACE_EVERYONE.
10937         * lib/set-mode-acl.c (qset_acl): Likewise.
10938         Reported by Christian Jullien <eligis@orange.fr>.
10939
10940 2011-09-10  Bruno Haible  <bruno@clisp.org>
10941
10942         iconv, unsetenv: Add support for MSVC compiler.
10943         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10944         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10945
10946 2011-09-10  Bruno Haible  <bruno@clisp.org>
10947
10948         *printf: Add support for MSVC compiler.
10949         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10950         handles the exception caused by the %n directive. When cross-compiling,
10951         guess no on native Windows.
10952         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10953         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10954         emulate it through vsnprintf.
10955         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10956         * doc/posix-functions/dprintf.texi: Update documentation regarding
10957         MSVC 9.
10958         * doc/posix-functions/fprintf.texi: Likewise.
10959         * doc/posix-functions/printf.texi: Likewise.
10960         * doc/posix-functions/snprintf.texi: Likewise.
10961         * doc/posix-functions/sprintf.texi: Likewise.
10962         * doc/posix-functions/swprintf.texi: Likewise.
10963         * doc/posix-functions/vdprintf.texi: Likewise.
10964         * doc/posix-functions/vfprintf.texi: Likewise.
10965         * doc/posix-functions/vprintf.texi: Likewise.
10966         * doc/posix-functions/vsnprintf.texi: Likewise.
10967         * doc/posix-functions/vsprintf.texi: Likewise.
10968         * doc/glibc-functions/asprintf.texi: Likewise.
10969         * doc/glibc-functions/obstack_printf.texi: Likewise.
10970         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10971         * doc/glibc-functions/vasprintf.texi: Likewise.
10972
10973 2011-09-10  Bruno Haible  <bruno@clisp.org>
10974
10975         nocrash: Add support for native Windows.
10976         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10977
10978 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10979             Bruno Haible  <bruno@clisp.org>
10980
10981         absolute-header, include-next: Add support for MSVC compiler.
10982         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10983         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10984         directory separator in #line directives.
10985         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10986         recognize also backslash as directory separator in #line directives.
10987
10988 2011-09-08  Jim Meyering  <meyering@redhat.com>
10989
10990         maint.mk: mark the post-release commit log with "maint: " prefix
10991         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10992         one-line commit-log summary.
10993
10994 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10995             Bruno Haible  <bruno@clisp.org>
10996
10997         Doc about crypt functions.
10998         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10999         systems.
11000         * doc/posix-functions/encrypt.texi: Likewise.
11001         * doc/posix-functions/setkey.texi: Likewise.
11002
11003 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11004
11005         * lib/gc.h: Fix copyright header.
11006
11007 2011-09-07  Bruno Haible  <bruno@clisp.org>
11008
11009         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11010         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11011         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11012
11013 2011-09-07  Bruno Haible  <bruno@clisp.org>
11014
11015         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11016         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11017         * lib/freopen.c: Likewise.
11018         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11019         * lib/lstat.c: Likewise.
11020         * lib/stat.c: Likewise.
11021         * lib/open.c: Use different syntax for include of <fcntl.h>.
11022         * lib/openat.c: Include fcntl.h again, explicitly.
11023
11024 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11025
11026         parse-datetime: document the newly accepted format
11027         * doc/parse-datetime.texi (Combined date and time of day items):
11028         New section.
11029
11030 2011-09-06  Bruno Haible  <bruno@clisp.org>
11031
11032         acl: Fix a test failure on newer Solaris 10 with ZFS.
11033         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11034         ENOSYS as no ACL.
11035         Reported by Jim Meyering.
11036
11037 2011-09-06  Bruno Haible  <bruno@clisp.org>
11038
11039         acl: Update for AIX >= 5.3 with NFS.
11040         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11041         ENOSYS as no ACL.
11042
11043         acl: Fix a test failure on AIX >= 5.3 with NFS.
11044         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11045         as no ACL.
11046
11047 2011-09-06  Bruno Haible  <bruno@clisp.org>
11048
11049         acl: Fix a test failure on IRIX 6.5 with NFS.
11050         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11051         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11052         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11053         * lib/copy-acl.c (qcopy_acl): Likewise.
11054
11055 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11056
11057         openat: port to AIX 7.1 with large files
11058         AIX 7.1 does a "#define openat open64at" if large files are in use,
11059         so we can't simply #undef openat.  Use the orig_openat trick (similar
11060         to orig_open in lib/open.c) to work around the problem.  Problem
11061         reported by Kevin Brott for GNU tar, in the thread containing
11062         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11063         * lib/openat.c (__need_system_fcntl_h): Define first.
11064         Include <fcntl.h> and <sys/types.h> before undefining.
11065         (orig_openat) [HAVE_OPENAT]: New inline function.
11066         (openat) [HAVE_OPENAT]: Do not undef.
11067         (rpl_openat): Use orig_openat, not openat.
11068
11069 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11070             Bruno Haible  <bruno@clisp.org>
11071
11072         acl: Avoid errors on NonStop Kernel.
11073         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11074         ENOTSUP errors.
11075
11076 2011-09-05  Bruno Haible  <bruno@clisp.org>
11077
11078         acl: Clean up Solaris code.
11079         * lib/acl-internal.h: Remove no-op #if.
11080         * lib/file-has-acl.c: Likewise.
11081         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11082         * lib/copy-acl.c (qcopy_acl): Likewise.
11083
11084 2011-09-05  Bruno Haible  <bruno@clisp.org>
11085
11086         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11087         binaries built on the original Solaris 10.
11088         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11089         trivial.
11090
11091 2011-09-05  Bruno Haible  <bruno@clisp.org>
11092
11093         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11094         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11095         10.
11096         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11097         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11098         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11099         instead of acl_get, facl_get, acl_set, facl_set.
11100
11101 2011-09-05  Bruno Haible  <bruno@clisp.org>
11102
11103         copy-file: Try unit tests on more file systems.
11104         * tests/test-copy-file-1.sh: New file.
11105         * tests/test-copy-file-2.sh: New file.
11106         * modules/copy-file-tests (Files): Add them.
11107         (Makefile.am): Add them to TESTS.
11108
11109         acl: Try unit tests on more file systems.
11110         * tests/test-file-has-acl-1.sh: New file.
11111         * tests/test-file-has-acl-2.sh: New file.
11112         * tests/test-set-mode-acl-1.sh: New file.
11113         * tests/test-set-mode-acl-2.sh: New file.
11114         * tests/test-copy-acl-1.sh: New file.
11115         * tests/test-copy-acl-2.sh: New file.
11116         * modules/acl-tests (Files): Add them.
11117         (Makefile.am): Add them to TESTS.
11118
11119 2011-09-04  Bruno Haible  <bruno@clisp.org>
11120
11121         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11122         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11123         10.
11124         (OLD_ALLOW, OLD_DENY): New macros.
11125         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11126         ACE_ACCESS_ALLOWED_ACE_TYPE.
11127         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11128         ACE_ACCESS_DENIED_ACE_TYPE.
11129         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11130         (NEW_ACE_EXECUTE): Fix value.
11131         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11132         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11133         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11134         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11135         NEW_ACE_SYNCHRONIZE): New macros.
11136         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11137         instead of acl_fromtext, acl_set, facl_set.
11138         Fixes a coreutils/tests/cp/perm failure.
11139
11140 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11141
11142         openat: test for fstatat (..., 0) bug
11143         Further testing with tar suggests that fstatat (..., 0)
11144         does not work in general, on AIX 7.1; see
11145         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11146         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11147         replacement fstatat (which is what older AIX releases were using
11148         anyway).
11149         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11150         use is now changed to orig_fstatat.  This was probably the right
11151         thing to do anyway.
11152         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11153         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11154         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11155         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11156         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11157         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11158         if the bug is found.
11159
11160         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11161         This tests for another fstatat bug on AIX 7.1:
11162         fstatat (AT_FDCWD, ..., 0) does not work.  See
11163         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11164         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11165         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11166         (rpl_fstatat): Adjust so that it works around either (or both)
11167         bugs if present.
11168         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11169
11170 2011-09-03  Karl Berry  <karl@gnu.org>
11171
11172         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11173         in index entries.
11174
11175 2011-09-02  Bruno Haible  <bruno@clisp.org>
11176
11177         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11178         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11179         values of AR, ARFLAGS, RANLIB.
11180         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11181
11182 2011-09-02  Bruno Haible  <bruno@clisp.org>
11183
11184         Find 'ar' program that fits with --host argument.
11185         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11186
11187 2011-09-02  Bruno Haible  <bruno@clisp.org>
11188
11189         tests: init.sh: Support any non-GNU diff.
11190         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11191         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11192         Solaris 8.
11193
11194 2011-09-02  Bruno Haible  <bruno@clisp.org>
11195
11196         tests: init.sh: work also with any non-GNU diff that supports -u
11197         * tests/init.sh: Relax check for diff -u support.
11198         Rather than checking for GNU diff via --version, simply check
11199         for support for -u itself.  Useful at least on OpenBSD 4.9,
11200         AIX 7.1, IRIX 6.5, and Solaris 10.
11201
11202 2011-09-01  Bruno Haible  <bruno@clisp.org>
11203
11204         strtoimax, strtoumax: Document problem on HP-UX 11.
11205         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11206         * doc/posix-functions/strtoumax.texi: Likewise.
11207
11208 2011-09-01  Bruno Haible  <bruno@clisp.org>
11209
11210         strtoumax: Avoid link error on OSF/1 with DTK cc.
11211         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11212         defined as a function.
11213         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11214         strtoumax is defined, not whether it is declared.
11215
11216 2011-09-01  Bruno Haible  <bruno@clisp.org>
11217
11218         strtoimax: Avoid link error on OSF/1 with DTK cc.
11219         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11220         defined as a function.
11221         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11222         strtoimax is defined, not whether it is declared.
11223
11224 2011-09-01  Bruno Haible  <bruno@clisp.org>
11225
11226         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11227         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11228         as a function.
11229         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11230         whether it is declared.
11231
11232 2011-09-01  Bruno Haible  <bruno@clisp.org>
11233
11234         imaxabs: Avoid link error on OSF/1 with DTK cc.
11235         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
11236         as a function.
11237         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
11238         whether it is declared.
11239
11240 2011-09-01  Bruno Haible  <bruno@clisp.org>
11241
11242         Tests for module 'strtoumax'.
11243         * modules/strtoumax-tests: New file.
11244         * tests/test-strtoumax.c: New file.
11245
11246         Tests for module 'strtoimax'.
11247         * modules/strtoimax-tests: New file.
11248         * tests/test-strtoimax.c: New file.
11249
11250         Tests for module 'imaxdiv'.
11251         * modules/imaxdiv-tests: New file.
11252         * tests/test-imaxdiv.c: New file.
11253
11254         Tests for module 'imaxabs'.
11255         * modules/imaxabs-tests: New file.
11256         * tests/test-imaxabs.c: New file.
11257
11258 2011-09-01  Bruno Haible  <bruno@clisp.org>
11259
11260         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11261         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11262         pthread_create.
11263
11264 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11265
11266         openat: work around AIX 7.1 fstatat issue
11267         This should fix the problem that was not properly fixed
11268         in the previous change, dated 2011-08-30.
11269         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11270         __need_system_stat_h defined.
11271         (orig_fstatat) [HAVE_FSTATAT]: New function.
11272         (rpl_fstatat): Go back to the old way of doing things,
11273         except call orig_fstatat instead of fstatat.
11274         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11275         Remove unnecessary check whether fstatat fills in st_size etc.
11276
11277 2011-09-01  Bruno Haible  <bruno@clisp.org>
11278
11279         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11280         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11281         just include the system's header.
11282
11283 2011-08-31  Jim Meyering  <meyering@redhat.com>
11284
11285         tests: avoid spurious assertion failure in test-float.c on ppc64
11286         * tests/test-float.c (test_long_double): Comment out an assertion,
11287         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11288         with gcc-4.4.4.
11289
11290         maint: indent with spaces, not TABs
11291         I need to get in the habit of running gnulib's "make check".
11292         Both of these would have been caught.
11293         * m4/largefile.m4: Indent with spaces, not TABs.
11294         * lib/parse-datetime.y (iso_8601_time): Likewise.
11295         Spotted by Pádraig Brady.
11296
11297         test-parse-datetime.c: accommodate a relatively strict gcc warning
11298         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11299         to avoid a warning from gcc's -Werror=missing-declarations.
11300         Insert a few spaces-before-funcall-parenthesis.
11301
11302 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11303
11304         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11305         The parser now accepts ISO 8601 date-time strings with "T" as the
11306         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11307         with a space between the date and time strings.  Now it also parses
11308         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11309         variants like "2004-02-29T16:21:42.333-07:00"
11310         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11311         of day representation using the 'T' separator character.
11312         * doc/parse-datetime.texi (General date syntax): replace use of
11313         deprecated --iso-8601 option with --rfc-3339 in example of date
11314         command output formats that can be parsed.
11315         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11316         lib/parse-datetime.y.
11317         (gmt_offset): New function.
11318         (main): Add additional test cases to validate ISO8601 extended
11319         date and time of day parsing.
11320
11321 2011-08-31  Bruno Haible  <bruno@clisp.org>
11322
11323         freopen: Documentation.
11324         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11325         name.
11326         Reported by Claudio Bley <claudio.bley@gmail.com>.
11327
11328 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11329
11330         freopen: Don't crash if the filename argument is NULL.
11331         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11332         NULL.
11333
11334 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11335
11336         openat: work around AIX 7.1 fstatat bug
11337         Problem reported by Kevin Brott for GNU tar, in the thread containing
11338         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11339         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11340         FSTATAT_ST_SIZE_ETC_BROKEN.
11341         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11342         rpl_fstatat.
11343         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11344         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11345         AC_CHECK_FUNCS_ONCE for fstatat.
11346         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11347         fchmodat, mkdirat, openat and unlinkat.
11348
11349 2011-08-30  Bruno Haible  <bruno@clisp.org>
11350
11351         Avoid endless recursions if config.h includes some header files.
11352         * lib/fopen.c (__need_FILE): Define already before including config.h.
11353         * lib/freopen.c (__need_FILE): Likewise.
11354         * lib/open.c (__need_system_fcntl_h): Likewise.
11355         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11356         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11357         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11358
11359 2011-08-25  Karl Berry  <karl@gnu.org>
11360
11361         * config/srclist.txt (ylwrap): new try.
11362         * build-aux/ylwrap: new file.
11363
11364 2011-08-23  Bruno Haible  <bruno@clisp.org>
11365
11366         tmpdir: Use a good default directory on native Windows.
11367         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11368         (P_tmpdir): Default to _P_tmpdir on native Windows.
11369         (path_search): On native Windows, try the value returned by GetTempPath
11370         before trying P_tmpdir.
11371         * modules/tmpdir (Depends-on): Add pathmax.
11372         Suggested by John Darrington <john@darrington.wattle.id.au>.
11373
11374 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11375
11376         doc: fix typo in README-release
11377         * top/README-release: Capitalize first word of a sentence.
11378
11379 2011-08-19  Jim Meyering  <meyering@redhat.com>
11380
11381         fts: do not exhaust memory when processing million-entry directories
11382         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11383         directory would require about 256*N bytes of memory.  Thus, it was
11384         easy to construct a directory too large to be processed by any of
11385         those tools.  With this change, fts' maximum memory utilization is
11386         now limited to around 30MB.
11387         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11388         (fts_read): When we've processed the final entry (i.e., when
11389         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11390         using the parent entry to read any remaining entries.  Dispatch
11391         depending on what fts_build returns:
11392         - NULL+stop, aka failure: stop
11393         - NULL otherwise: move up in the dir hierarchy
11394         - non-NULL: handle this new entry
11395         (fts_build): Declare and use new local, continue_readdir.
11396         Prepare to be called from fts_read, when the entries
11397         from a partially-read directory have just been exhausted.
11398         In that case, we'll skip the opendir and instead use the parent's
11399         fts_dirp and derive dir_fd from that.
11400         Finally, in the readdir loop, if we read max_entries entries,
11401         exit the loop ensuring *not* to call closedir.  This is required
11402         so that fts_dirp can be reused on a subsequent call.
11403         Prompted by Ben England's report of memory exhaustion in find
11404         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11405
11406         maint: fts: move decl of `dp' down into while loop; split a long line
11407         * lib/fts.c (fts_build): No semantic change.
11408
11409         fts: add/use new struct member, fts_dirp
11410         We are about to use this to manage any directory with
11411         too many entries to read all of them into memory at once.
11412         To do that, we'll need to save the DIR* pointer in each
11413         affected FTSENT struct.
11414         * lib/fts_.h: Include <dirent.h>.
11415         (struct FTSENT) [fts_dirp]: New member.
11416         * lib/fts.c (closedir_and_clear): Define.
11417         Use it in place of closedir so that we are sure to
11418         clear the new fts_dirp member when done with it.
11419         (fts_alloc): Initialize the new member.
11420         (fts_lfree): Free, if needed.
11421
11422         maint: fts: give __opendir2 a new parameter and rename
11423         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11424         than surreptitiously using sole caller's "dir_fd".
11425         (fts_opendir): Rename from __opendir2.
11426
11427         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11428         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11429
11430         maint: fts.c: correct off-by-one indentation
11431         * lib/fts.c (fts_build): Correct indentation, change style
11432         of a couple of block comments, and bracing style.
11433
11434         maint: fts.c: move __opendir2 #define "up" out of function body
11435         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11436
11437         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11438         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11439         out for a long time and besides was useful only on BSD systems.
11440
11441 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11442
11443         regex: port to Stratus OpenVOS
11444         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11445         define to empty, rather than attempting nonportable optimizations.
11446         Problem reported by Paul Green in:
11447         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11448         and fix suggested by Eric Blake in:
11449         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11450
11451 2011-08-17  Eric Blake  <eblake@redhat.com>
11452
11453         getcwd: fix test failures on mingw
11454         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11455         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11456         test if long directory cannot be created, and allow mingw errno.
11457
11458         getcwd-lgpl: fix m4 to match relaxed test for BSD
11459         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11460         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11461         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11462         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11463         signature problem.
11464
11465         getcwd: fix compilation on mingw64
11466         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11467         getcwd.
11468         Reported by Marc-André Lureau.
11469
11470         pipe2: silence compiler warning
11471         * lib/pipe2.c (pipe2): Hide label if it is not used.
11472
11473 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11474
11475         relocatable-prog: fix link error
11476         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11477         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11478         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11479         into modules/relocatable-lib without noticing that
11480         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11481         also needs to build relocatable.c.
11482
11483 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11484
11485         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11486         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11487         shell code: it contained a 'break' that was not in a loop.
11488         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11489         via a shell-language loop; this may have been true in old Autoconf
11490         versions, but it's not true in Autoconf 2.68.  I found this bug
11491         when testing coreutils git on Solaris 8, whose shell complains
11492         about the syntax error.
11493
11494 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11495
11496         * lib/base64.c: Fix comment to reference RFC 4648.
11497         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11498         <gvtulder@gmail.com>.
11499
11500 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11501
11502         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11503
11504         po/Makefile.in.in: fix make -q problem
11505         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11506         rule, since there's no file named 'check-macro-version' and its
11507         use as a file breaks make -q.
11508         (all): Don't depend on check-macro-version.
11509         (CHECK_MACRO_VERSION): New macro.
11510         (stamp-po): Use it.
11511
11512         configmake: fix make -q problem
11513         * modules/configmake (configmake.h): Update configmake.h's time stamp
11514         even if the file does not change.  Otherwise, 'make -q' fails.
11515         Problem reported by Simon Josefsson in
11516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11517
11518 2011-08-11  Jim Meyering  <meyering@redhat.com>
11519
11520         git-version-gen: correct the advice in a comment
11521         * build-aux/git-version-gen: Correct comment.
11522         Don't recommend to list .tarball-version in .gitignore.
11523
11524 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11525
11526         base64: fix off-by-one buffer size bug
11527         Problem and (trivial) fix reported by Gijs van Tulder in
11528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11529         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11530         * tests/test-base64.c (main): Catch the bug.
11531
11532 2011-08-10  Eric Blake  <eblake@redhat.com>
11533
11534         closein: correct comments
11535         * lib/closein.c (close_stdin): Improve comments.
11536
11537 2011-08-09  Bruno Haible  <bruno@clisp.org>
11538
11539         More tests for 'fseeko'.
11540         * tests/test-fseeko3.c: New file, from Eric Blake.
11541         * tests/test-fseeko3.sh: New file.
11542         * modules/fseeko-tests (Files): Add them.
11543         (TESTS): Add test-fseeko3.sh.
11544         (check_PROGRAMS): Add test-fseeko3.
11545
11546 2011-08-09  Eric Blake  <eblake@redhat.com>
11547
11548         fseeko: remove unneeded hack
11549         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11550
11551         fseeko: fix bug on glibc
11552         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11553         Reported by John W. Eaton.
11554
11555 2011-08-08  Bruno Haible  <bruno@clisp.org>
11556
11557         unictype/base: Fix interoperability with preinstalled libunistring.
11558         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11559         Reported by Simon Josefsson.
11560
11561 2011-08-08  Bruno Haible  <bruno@clisp.org>
11562
11563         iswblank: Detect declaration correctly.
11564         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
11565         AC_CHECK_DECLS invocation.
11566
11567 2011-08-08  Bruno Haible  <bruno@clisp.org>
11568
11569         tcgetsid: Detect declaration correctly.
11570         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
11571         AC_CHECK_DECLS invocation.
11572         Reported by Simon Josefsson.
11573
11574 2011-08-08  Eric Blake  <eblake@redhat.com>
11575
11576         largefile: fix typo that regressed large file support
11577         * modules/largefile (configure.ac-early): Fix section name.
11578
11579 2011-08-06  Karl Berry  <karl@gnu.org>
11580
11581         * MODULES.html.sh (func_all_files): _Noreturn is no longer
11582         a separate module.
11583
11584 2011-08-05  Simon Josefsson  <simon@josefsson.org>
11585
11586         openat: Fix warnings and commens when building unlinkat.c on Hurd.
11587         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
11588         get prototype for free.
11589
11590 2011-08-04  Bruno Haible  <bruno@clisp.org>
11591
11592         Tests for module 'pathmax'.
11593         * modules/pathmax-tests: New file.
11594         * tests/test-pathmax.c: New file.
11595
11596         canonicalize-lgpl: Support larger filenames on the Hurd.
11597         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
11598         Reported by Paul Eggert.
11599
11600         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
11601         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
11602         * lib/chdir-long.h: Include pathmax.h.
11603         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
11604         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
11605         (PATH_MAX): Remove code that is done by pathmax.h.
11606         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
11607         * lib/tmpfile.c: Add a comment.
11608         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
11609         * modules/chdir-long (Depends-on): Add pathmax.
11610         * modules/getcwd (Depends-on): Add pathmax.
11611         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
11612         is not defined.
11613         * doc/posix-headers/limits.texi: Mention the pathmax module.
11614         * NEWS: Mention the change.
11615
11616 2011-08-02  Bruno Haible  <bruno@clisp.org>
11617
11618         pthread_sigmask: Actually use results of gl_THREADLIB.
11619         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
11620         gl_THREADLIB, not gl_[]THREADLIB.
11621         Reported by Eric Blake.
11622
11623 2011-08-02  Jim Meyering  <meyering@redhat.com>
11624
11625         maint.mk: relax the default _gl_TS_function_match regexp
11626         * top/maint.mk (_gl_TS_function_match): Don't require at least one
11627         space between function name and "(" in an "extern" declaration.
11628         That would fail to match a decl with no space there: extern void foo();
11629
11630 2011-07-31  Iain Nicol  <iain@thenicols.net>
11631
11632         git-version-gen: document that EXTRA_DIST must include .version
11633         * build-aux/git-version-gen: In the how-to-use comment, document
11634         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
11635         will fail when run from an unpacked distribution tarball.
11636
11637 2011-08-01  Bruno Haible  <bruno@clisp.org>
11638
11639         wctype-h: Fix last change.
11640         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
11641         REPLACE_TOWLOWER to 0.
11642         Reported by Sam Steingold <sds@gnu.org>.
11643
11644 2011-07-31  Bruno Haible  <bruno@clisp.org>
11645
11646         frexpl: Update autoconf test.
11647         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
11648         according to changes of 2011-06-20.
11649
11650 2011-07-31  Bruno Haible  <bruno@clisp.org>
11651
11652         sys_utsname: Add support for Minix.
11653         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
11654         <sys/utsname.h>.
11655         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11656         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
11657
11658 2011-07-31  Bruno Haible  <bruno@clisp.org>
11659
11660         strings: Add support for Minix.
11661         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
11662         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
11663         * doc/posix-headers/strings.texi: Document the Minix problem.
11664
11665 2011-07-31  Bruno Haible  <bruno@clisp.org>
11666
11667         wctype-h: Add support for Minix.
11668         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
11669         REPLACE_TOWLOWER.
11670         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
11671         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
11672         REPLACE_ISWCNTRL.
11673
11674 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
11675
11676         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
11677         This is a performance improvement for 64-bit hosts: it causes the
11678         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
11679
11680 2011-07-31  Bruno Haible  <bruno@clisp.org>
11681
11682         stdioext: Add support for Minix.
11683         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
11684         * lib/fpurge.c (fpurge): Likewise.
11685         * lib/freadahead.c (freadahead): Likewise.
11686         * lib/freadable.c (freadable): Likewise.
11687         * lib/freading.c (freading): Likewise.
11688         * lib/freadptr.c (freadptr): Likewise.
11689         * lib/freadseek.c (freadptrinc): Likewise.
11690         * lib/fseeko.c (rpl_fseeko): Likewise.
11691         * lib/fseterr.c (fseterr): Likewise.
11692         * lib/fwritable.c (fwritable): Likewise.
11693         * lib/fwriting.c (fwriting): Likewise.
11694         * lib/fflush.c (clear_ungetc_buffer): Update comment.
11695         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
11696
11697 2011-07-31  Bruno Haible  <bruno@clisp.org>
11698
11699         errno: Port to Minix.
11700         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
11701         ECONNABORTED are defined.
11702         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
11703         GNULIB_defined_ECONNABORTED): New macros.
11704         * lib/strerror-override.h (strerror_override): Test also
11705         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
11706         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
11707         ECONNABORTED.
11708         * doc/posix-headers/errno.texi: Mention the Minix problem.
11709
11710 2011-07-31  Bruno Haible  <bruno@clisp.org>
11711
11712         Work around declaration collisions on Minix.
11713         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
11714         defined, set REPLACE_MBSINIT.
11715         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
11716         defined, set REPLACE_MBRTOWC.
11717         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
11718         set REPLACE_MBRLEN.
11719         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
11720         defined, set REPLACE_MBSRTOWCS.
11721         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
11722         defined, set REPLACE_WCRTOMB.
11723         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
11724         defined, set REPLACE_WCSRTOMBS.
11725
11726 2011-07-31  Bruno Haible  <bruno@clisp.org>
11727
11728         Add support for Minix with ACK compiler.
11729         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
11730         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
11731         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
11732
11733 2011-07-31  Bruno Haible  <bruno@clisp.org>
11734
11735         Documentation about Minix.
11736         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
11737         * doc/glibc-headers/*.texi: Likewise.
11738         * doc/posix-functions/*.texi: Likewise.
11739         * doc/glibc-functions/*.texi: Likewise.
11740
11741 2011-07-31  Bruno Haible  <bruno@clisp.org>
11742
11743         snippet/warn-on-use: Fix indentation.
11744         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
11745
11746 2011-07-25  Jim Meyering  <meyering@redhat.com>
11747
11748         tests: test-update-copyright.sh: remove unnecessary "rm" commands
11749         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
11750         commands.
11751
11752 2011-07-27  Jim Meyering  <meyering@redhat.com>
11753
11754         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
11755         * top/maint.mk (gl_extract_significant_defines_): Now that
11756         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
11757         gnulib/lib/signal.in.h, and now that we recommend to
11758         define-if-undefined those two symbols in application code,
11759         we must filter them out of the "significant" list.
11760         This avoids a "make syntax-check" failure in coreutils.
11761
11762 2011-07-26  Eric Blake  <eblake@redhat.com>
11763
11764         warnings: add comments about previous patch
11765         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11766         * m4/include_next.m4: Likewise.
11767         * m4/warn-on-use.m4: Likewise.
11768         * m4/warnings.m4: Likewise, and simplify use.
11769         Suggested by Stefano Lattarini.
11770
11771         include-next, warnings: support older autoconf
11772         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11773         AS_VAR_PUSHDEF in a way that works with older autoconf.
11774         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11775         Reported by Daniel P. Berrange.
11776
11777 2011-07-25  Bruno Haible  <bruno@clisp.org>
11778
11779         fseek, ftell: Fix doc.
11780         * doc/posix-functions/fseek.texi: Reword statement about
11781         AC_SYS_LARGEFILE.
11782         * doc/posix-functions/ftell.texi: Likewise.
11783
11784 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11785             Bruno Haible  <bruno@clisp.org>
11786
11787         Add dependencies to the 'largefile' module.
11788         * modules/fopen (Depends-on): Add 'largefile'.
11789         * modules/freopen (Depends-on): Likewise.
11790         * modules/fseeko (Depends-on): Likewise.
11791         * modules/ftello (Depends-on): Likewise.
11792         * modules/glob (Depends-on): Likewise.
11793         * modules/lseek (Depends-on): Likewise.
11794         * modules/lstat (Depends-on): Likewise.
11795         * modules/mkostemp (Depends-on): Likewise.
11796         * modules/mkostemps (Depends-on): Likewise.
11797         * modules/mkstemp (Depends-on): Likewise.
11798         * modules/mkstemps (Depends-on): Likewise.
11799         * modules/open (Depends-on): Likewise.
11800         * modules/openat (Depends-on): Likewise.
11801         * modules/pread (Depends-on): Likewise.
11802         * modules/pwrite (Depends-on): Likewise.
11803         * modules/scandir (Depends-on): Likewise.
11804         * modules/stat (Depends-on): Likewise.
11805         * modules/tmpfile (Depends-on): Likewise.
11806         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11807         since the containing module now depends on the largefile module.
11808         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11809         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11810         off_t is fixed by gnulib.
11811         * doc/posix-functions/freopen.texi: Likewise.
11812         * doc/posix-functions/fseeko.texi: Likewise.
11813         * doc/posix-functions/fstatat.texi: Likewise.
11814         * doc/posix-functions/ftello.texi: Likewise.
11815         * doc/posix-functions/glob.texi: Likewise.
11816         * doc/posix-functions/lseek.texi: Likewise.
11817         * doc/posix-functions/lstat.texi: Likewise.
11818         * doc/posix-functions/mkstemp.texi: Likewise.
11819         * doc/posix-functions/open.texi: Likewise.
11820         * doc/posix-functions/openat.texi: Likewise.
11821         * doc/posix-functions/pread.texi: Likewise.
11822         * doc/posix-functions/pwrite.texi: Likewise.
11823         * doc/posix-functions/scandir.texi: Likewise.
11824         * doc/posix-functions/stat.texi: Likewise.
11825         * doc/posix-functions/tmpfile.texi: Likewise.
11826         * doc/glibc-functions/mkostemp.texi: Likewise.
11827         * doc/glibc-functions/mkostemps.texi: Likewise.
11828         * doc/glibc-functions/mkstemps.texi: Likewise.
11829
11830 2011-07-25  Bruno Haible  <bruno@clisp.org>
11831
11832         fcntl: Move AC_LIBOBJ invocation to module description.
11833         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11834         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11835
11836         fcntl: Remove call-in from fchdir.m4.
11837         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11838         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11839
11840         dup3: Remove potential call-in from fchdir.m4.
11841         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11842         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11843
11844         dup2: Move AC_LIBOBJ invocation to module description.
11845         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11846         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11847         Don't invoke AC_LIBOBJ.
11848         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11849
11850         dup2: Remove call-in from fchdir.m4.
11851         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11852         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11853
11854         fclose: Move AC_LIBOBJ invocation to module description.
11855         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11856         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11857         to 1.
11858         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11859
11860         fclose: Remove call-in from close.m4.
11861         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11862         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11863
11864         close: Move AC_LIBOBJ invocation to module description.
11865         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11866         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11867         1.
11868         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11869
11870         close: Remove call-in from fchdir.m4.
11871         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11872         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11873
11874         open: Move AC_LIBOBJ invocation to module description.
11875         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11876         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11877         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11878
11879         open: Remove call-in from fchdir.m4.
11880         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11881         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11882
11883         fchdir: Start to remove gl_REPLACE_* idiom.
11884         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11885         (gl_FUNC_FCHDIR): Invoke it.
11886
11887 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11888
11889         * lib/ftell.c (ftell): Comment out cast.
11890
11891         close: use gl_REPLACE_FCLOSE only if defined
11892         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11893         is defined.  The close module doesn't depend on the fclose module
11894         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11896         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11897
11898 2011-07-24  Jim Meyering  <meyering@redhat.com>
11899
11900         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11901         * tests/test-select.h (test_function): Declare as "static".
11902
11903 2011-07-24  Bruno Haible  <bruno@clisp.org>
11904
11905         doc: Mention the effects of AC_SYS_LARGEFILE.
11906         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11907         on this function.
11908         * doc/posix-functions/aio_error.texi: Likewise.
11909         * doc/posix-functions/aio_fsync.texi: Likewise.
11910         * doc/posix-functions/aio_read.texi: Likewise.
11911         * doc/posix-functions/aio_return.texi: Likewise.
11912         * doc/posix-functions/aio_suspend.texi: Likewise.
11913         * doc/posix-functions/aio_write.texi: Likewise.
11914         * doc/posix-functions/fgetpos.texi: Likewise.
11915         * doc/posix-functions/fopen.texi: Likewise.
11916         * doc/posix-functions/freopen.texi: Likewise.
11917         * doc/posix-functions/fsetpos.texi: Likewise.
11918         * doc/posix-functions/fstatvfs.texi: Likewise.
11919         * doc/posix-functions/ftruncate.texi: Likewise.
11920         * doc/posix-functions/ftw.texi: Likewise.
11921         * doc/posix-functions/getrlimit.texi: Likewise.
11922         * doc/posix-functions/glob.texi: Likewise.
11923         * doc/posix-functions/lio_listio.texi: Likewise.
11924         * doc/posix-functions/lockf.texi: Likewise.
11925         * doc/posix-functions/mkstemp.texi: Likewise.
11926         * doc/posix-functions/mmap.texi: Likewise.
11927         * doc/posix-functions/nftw.texi: Likewise.
11928         * doc/posix-functions/openat.texi: Likewise.
11929         * doc/posix-functions/opendir.texi: Likewise.
11930         * doc/posix-functions/posix_fadvise.texi: Likewise.
11931         * doc/posix-functions/posix_fallocate.texi: Likewise.
11932         * doc/posix-functions/pread.texi: Likewise.
11933         * doc/posix-functions/pwrite.texi: Likewise.
11934         * doc/posix-functions/readdir.texi: Likewise.
11935         * doc/posix-functions/readdir_r.texi: Likewise.
11936         * doc/posix-functions/rewinddir.texi: Likewise.
11937         * doc/posix-functions/scandir.texi: Likewise.
11938         * doc/posix-functions/seekdir.texi: Likewise.
11939         * doc/posix-functions/setrlimit.texi: Likewise.
11940         * doc/posix-functions/statvfs.texi: Likewise.
11941         * doc/posix-functions/telldir.texi: Likewise.
11942         * doc/posix-functions/tmpfile.texi: Likewise.
11943         * doc/posix-functions/truncate.texi: Likewise.
11944         * doc/glibc-functions/fallocate.texi: Likewise.
11945         * doc/glibc-functions/fstatfs.texi: Likewise.
11946         * doc/glibc-functions/fts_children.texi: Likewise.
11947         * doc/glibc-functions/fts_read.texi: Likewise.
11948         * doc/glibc-functions/getdirentries.texi: Likewise.
11949         * doc/glibc-functions/mkostemp.texi: Likewise.
11950         * doc/glibc-functions/mkostemps.texi: Likewise.
11951         * doc/glibc-functions/mkstemps.texi: Likewise.
11952         * doc/glibc-functions/preadv.texi: Likewise.
11953         * doc/glibc-functions/pwritev.texi: Likewise.
11954         * doc/glibc-functions/sendfile.texi: Likewise.
11955         * doc/glibc-functions/statfs.texi: Likewise.
11956
11957 2011-07-24  Bruno Haible  <bruno@clisp.org>
11958
11959         doc: Fix typo.
11960         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11961
11962 2011-07-24  Bruno Haible  <bruno@clisp.org>
11963
11964         doc: Mention fsusage.
11965         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11966
11967 2011-07-24  Bruno Haible  <bruno@clisp.org>
11968
11969         doc: Mention new glibc headers and functions.
11970         * doc/glibc-headers/gshadow.texi: New file.
11971         * doc/glibc-functions/endsgent.texi: New file.
11972         * doc/glibc-functions/fgetsgent.texi: New file.
11973         * doc/glibc-functions/fgetsgent_r.texi: New file.
11974         * doc/glibc-functions/getsgent.texi: New file.
11975         * doc/glibc-functions/getsgent_r.texi: New file.
11976         * doc/glibc-functions/getsgnam.texi: New file.
11977         * doc/glibc-functions/getsgnam_r.texi: New file.
11978         * doc/glibc-functions/putsgent.texi: New file.
11979         * doc/glibc-functions/setsgent.texi: New file.
11980         * doc/glibc-functions/sgetsgent.texi: New file.
11981         * doc/glibc-functions/sgetsgent_r.texi: New file.
11982         * doc/glibc-functions/malloc_info.texi: New file.
11983         * doc/glibc-functions/preadv.texi: New file.
11984         * doc/glibc-functions/pwritev.texi: New file.
11985         * doc/glibc-functions/register_printf_modifier.texi: New file.
11986         * doc/glibc-functions/register_printf_specifier.texi: New file.
11987         * doc/glibc-functions/register_printf_type.texi: New file.
11988         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11989         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11990         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11991         * doc/glibc-functions/pthread_getname_np.texi: New file.
11992         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11993         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11994         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11995         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11996         * doc/glibc-functions/pthread_setname_np.texi: New file.
11997         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11998         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11999         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12000         * doc/glibc-functions/qsort_r.texi: New file.
12001         * doc/glibc-functions/quick_exit.texi: New file.
12002         * doc/glibc-functions/syncfs.texi: New file.
12003         * doc/gnulib.texi: Include them.
12004         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12005         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12006         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12007         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12008         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12009         * doc/glibc-functions/execvpe.texi: Likewise.
12010
12011 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12012
12013         ftell: don't include <unistd.h>
12014         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12015         guaranteed to define off_t, and the ftell module depends on the
12016         stdio module.
12017
12018         ftell: do not assume wraparound signed arithmetic
12019         * lib/ftell.c: Include <limits.h>.
12020         (ftell): Don't assume wraparound signed arithmetic.
12021
12022 2011-07-24  Bruno Haible  <bruno@clisp.org>
12023
12024         close: No longer depend on module 'fclose'.
12025         * modules/close (Depends-on): Remove fclose.
12026         * NEWS: Mention the change.
12027         Suggested by Sam Steingold <sds@gnu.org>.
12028
12029 2011-07-24  Bruno Haible  <bruno@clisp.org>
12030
12031         fsusage: Enable large volume support on AIX >= 5.2.
12032         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12033         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12034         instead of STAT_STATVFS.
12035         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12036
12037         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12038         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12039         f_blocks field only on MacOS X.
12040
12041         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12042         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12043         * modules/fsusage (Depends-on): Add largefile.
12044
12045 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12046
12047         * README: Modernize discussion of signed integers.
12048         Assuming overflow wraparound is no longer safe.
12049         Mention ones' complement and signed magnitude.
12050
12051 2011-07-22  Bruno Haible  <bruno@clisp.org>
12052
12053         select tests, pselect tests: Refactor.
12054         * tests/test-select.h: New file, extracted from tests/test-select.c.
12055         (select_fn): New type.
12056         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12057         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12058         test_pipe): Add my_select argument.
12059         (test_function): Renamed from main. Add my_select argument.
12060         * tests/test-select.c: Move most code to tests/test-select.h. Include
12061         test-select.h.
12062         * modules/select-tests (Files): Add tests/test-select.h.
12063         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12064         (my_select, main): New functions.
12065         * modules/pselect-tests (Files): Add tests/test-select.h,
12066         tests/macros.h, tests/signature.h.
12067         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12068         (configure.ac): Check for <sys/wait.h>.
12069
12070 2011-07-22  Bruno Haible  <bruno@clisp.org>
12071
12072         sys_select tests: Check the signature of FD_*.
12073         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12074         signature tests from here...
12075         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12076         here.
12077         * modules/sys_select-tests (Files): Add tests/signature.h.
12078
12079 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12080
12081         largefile: new module, replacing large-inode
12082         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12083         * MODULES.html.sh: Add largefile, remove large-inode.
12084         * modules/largefile, m4/largefile.m4: New files.
12085         * modules/large-inode, m4/large-inode.m4: Remove.
12086
12087         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12088         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12089         implementations that use only 32 bits to count blocks.
12090         On typical hosts with 1024-byte blocks, this fails with file
12091         systems as small as 4 TiB.  Problem reported by Herb Wartens
12092         <http://debbugs.gnu.org/9140> and this should also fix a similar
12093         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12094
12095         large-inode: New module
12096         * MODULES.html.sh: Add it.
12097         * modules/large-inode, m4/large-inode.m4: New files.
12098
12099         extensions: Enable extensions on MacOS X 10.5 and later.
12100         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12101
12102 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12103
12104         file-has-acl: use acl_extended_file_nofollow if available
12105         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12106         (acl_extended_file): New macro.
12107         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12108         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12109
12110 2011-07-21  Bruno Haible  <bruno@clisp.org>
12111
12112         Declare system functions in a way that works with C++.
12113         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12114         declare fdopendir as extern "C".
12115         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12116         declare frexpl as extern "C".
12117         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12118         declare gai_strerror as extern "C".
12119         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12120         programs, declare gai_strerror as extern "C".
12121         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12122         declare getlogin_r as extern "C".
12123         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12124         as extern "C".
12125         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12126         declare ldexpl as extern "C".
12127         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12128         as extern "C".
12129         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12130         program, declare getmntinfo as extern "C".
12131         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12132         stpncpy as extern "C".
12133         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12134         program, declare __xpg_strerror_r as extern "C".
12135         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12136         strndup as extern "C".
12137         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12138         declare memset and bzero as extern "C".
12139         Reported by Sam Steingold <sds@gnu.org>.
12140
12141 2011-07-12  Jim Meyering  <meyering@redhat.com>
12142
12143         maint.mk: prohibit inclusion of "verify.h" without use
12144         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12145
12146 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12147
12148         timer-time: A new module to check for timer_settime()
12149         * m4/timer_time.m4: Check for the posix function.
12150         * modules/timer-time: Add the new module.
12151         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12152         Mention it.
12153
12154 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12155             Bruno Haible  <bruno@clisp.org>
12156
12157         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12158         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12159         not defined, assume POSIX threads and look for pthread_sigmask in
12160         $LIBS, without changing $CPPFLAGS.
12161
12162 2011-07-19  Bruno Haible  <bruno@clisp.org>
12163
12164         strstr: Update cross-compilation guess.
12165         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12166         CPUs, guess no, in view of glibc
12167         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12168         Suggested by Eric Blake. Reported by Reuben Thomas.
12169
12170 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12171
12172         getopt-gnu: suppress core dumps from detection code
12173         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12174         to suppress core dumps that may well occur on glibc systems.
12175         * modules/getopt-gnu: Depend on nocrash.
12176
12177 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12178
12179         pthread_sigmask: ensure usleep is declared
12180         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12181         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12182
12183 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12184
12185         doc: Document NonStop portability issues.
12186         * doc/posix-functions/sigaction.texi (sigaction):
12187         * doc/posix-headers/signal.texi (signal.h):
12188         Document NonStop.  See Joachim Schmitz in
12189         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12190
12191 2011-07-15  Bruno Haible  <bruno@clisp.org>
12192
12193         ffsl, ffsll: Avoid unportable behaviour.
12194         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12195
12196 2011-07-15  Bruno Haible  <bruno@clisp.org>
12197
12198         ffs: More tests.
12199         * tests/test-ffs.c (NBITS): New macro.
12200         (main): Add more tests.
12201         * tests/test-ffsl.c (NBITS): New macro.
12202         (main): Add more tests.
12203         * tests/test-ffsll.c (NBITS): New macro.
12204         (main): Add more tests.
12205
12206 2011-07-15  Eric Blake  <eblake@redhat.com>
12207
12208         ffsl, ffsll: new modules
12209         * modules/ffsl: New file.
12210         * modules/ffsll: Likewise.
12211         * m4/ffsl.m4: Likewise.
12212         * m4/ffsll.m4: Likewise.
12213         * lib/ffsl.c: Likewise.
12214         * lib/ffsl.h: Likewise.
12215         * lib/ffsll.c: Likewise.
12216         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12217         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12218         * modules/string (Makefile.am): Substitute witnesses.
12219         * lib/strings.in.h (ffsl, ffsll): Declare.
12220         * modules/ffsl-tests: New test file.
12221         * modules/ffsll-tests: Likewise.
12222         * tests/test-ffsl.c: Likewise.
12223         * tests/test-ffsll.c: Likewise.
12224         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12225         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12226         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12227
12228         ffs: fix m4 prerequisite
12229         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12230
12231         ffs: avoid undefined behavior
12232         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
12233         * tests/test-ffs.c (naive, main): Avoid signed shifts.
12234         Reported by Bruno Haible.
12235
12236 2011-07-12  Bruno Haible  <bruno@clisp.org>
12237
12238         pthread_sigmask: Rely on module 'threadlib'.
12239         * modules/pthread_sigmask (Depends-on): Add threadlib.
12240         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
12241         is defined.
12242
12243 2011-07-12  Bruno Haible  <bruno@clisp.org>
12244
12245         regex: Depend on module 'strcase'.
12246         * modules/regex (Depends-on): Add strcase, for strcasecmp().
12247
12248 2011-07-12  Jim Meyering  <meyering@redhat.com>
12249
12250         warn-on-use: fix typo in file name
12251         * modules/snippet/warn-on-use (Files): Correct file name:
12252         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
12253
12254 2011-07-12  Bruno Haible  <bruno@clisp.org>
12255
12256         strings: Document module.
12257         * doc/posix-headers/strings.texi: Mention module 'strings'.
12258
12259 2011-07-12  Bruno Haible  <bruno@clisp.org>
12260
12261         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12262         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12263         (Files, Makefile.am): Update.
12264         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12265         * modules/stdlib (Depends-on): Update.
12266
12267 2011-07-12  Bruno Haible  <bruno@clisp.org>
12268
12269         * NEWS: Mention the changes.
12270
12271         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12272         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12273         (Files, Makefile.am): Update.
12274         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12275         * modules/arpa_inet (Depends-on): Update.
12276         * modules/ctype (Depends-on): Update.
12277         * modules/dirent (Depends-on): Update.
12278         * modules/fcntl-h (Depends-on): Update.
12279         * modules/glob (Depends-on): Update.
12280         * modules/iconv-h (Depends-on): Update.
12281         * modules/inttypes-incomplete (Depends-on): Update.
12282         * modules/langinfo (Depends-on): Update.
12283         * modules/locale (Depends-on): Update.
12284         * modules/math (Depends-on): Update.
12285         * modules/netdb (Depends-on): Update.
12286         * modules/poll-h (Depends-on): Update.
12287         * modules/pty (Depends-on): Update.
12288         * modules/search (Depends-on): Update.
12289         * modules/signal (Depends-on): Update.
12290         * modules/spawn (Depends-on): Update.
12291         * modules/stdio (Depends-on): Update.
12292         * modules/stdlib (Depends-on): Update.
12293         * modules/string (Depends-on): Update.
12294         * modules/strings (Depends-on): Update.
12295         * modules/sys_file (Depends-on): Update.
12296         * modules/sys_ioctl (Depends-on): Update.
12297         * modules/sys_select (Depends-on): Update.
12298         * modules/sys_socket (Depends-on): Update.
12299         * modules/sys_stat (Depends-on): Update.
12300         * modules/sys_time (Depends-on): Update.
12301         * modules/sys_times (Depends-on): Update.
12302         * modules/sys_utsname (Depends-on): Update.
12303         * modules/sys_wait (Depends-on): Update.
12304         * modules/termios (Depends-on): Update.
12305         * modules/time (Depends-on): Update.
12306         * modules/unistd (Depends-on): Update.
12307         * modules/wchar (Depends-on): Update.
12308         * modules/wctype-h (Depends-on): Update.
12309         * MODULES.html.sh (Support for building libraries and executables):
12310         Update.
12311
12312         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12313         * modules/snippet/unused-parameter: Renamed from
12314         modules/unused-parameter.
12315         (Files, Makefile.am): Update.
12316         * build-aux/snippet/unused-parameter.h: Renamed from
12317         build-aux/unused-parameter.h.
12318         * modules/selinux-h (Depends-on): Update.
12319         * modules/unistr/base (Depends-on): Update.
12320         * MODULES.html.sh (Core language properties): Update.
12321
12322         Rename module 'link-warning' to 'snippet/link-warning'.
12323         * modules/snippet/link-warning: Renamed from modules/link-warning.
12324         (Files, Makefile.am): Update.
12325         * build-aux/snippet/link-warning.h: Renamed from
12326         build-aux/link-warning.h.
12327         * MODULES.html.sh (Support for building libraries and executables):
12328         Update.
12329
12330         Rename module 'c++defs' to 'snippet/c++defs'.
12331         * modules/snippet/c++defs: Renamed from modules/c++defs.
12332         (Files, Makefile.am): Update.
12333         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12334         * modules/arpa_inet (Depends-on): Update.
12335         * modules/ctype (Depends-on): Update.
12336         * modules/dirent (Depends-on): Update.
12337         * modules/fcntl-h (Depends-on): Update.
12338         * modules/glob (Depends-on): Update.
12339         * modules/iconv-h (Depends-on): Update.
12340         * modules/langinfo (Depends-on): Update.
12341         * modules/locale (Depends-on): Update.
12342         * modules/math (Depends-on): Update.
12343         * modules/netdb (Depends-on): Update.
12344         * modules/poll-h (Depends-on): Update.
12345         * modules/pty (Depends-on): Update.
12346         * modules/search (Depends-on): Update.
12347         * modules/signal (Depends-on): Update.
12348         * modules/spawn (Depends-on): Update.
12349         * modules/stdio (Depends-on): Update.
12350         * modules/stdlib (Depends-on): Update.
12351         * modules/string (Depends-on): Update.
12352         * modules/strings (Depends-on): Update.
12353         * modules/sys_ioctl (Depends-on): Update.
12354         * modules/sys_select (Depends-on): Update.
12355         * modules/sys_socket (Depends-on): Update.
12356         * modules/sys_stat (Depends-on): Update.
12357         * modules/sys_time (Depends-on): Update.
12358         * modules/sys_wait (Depends-on): Update.
12359         * modules/termios (Depends-on): Update.
12360         * modules/time (Depends-on): Update.
12361         * modules/unistd (Depends-on): Update.
12362         * modules/wchar (Depends-on): Update.
12363         * modules/wctype-h (Depends-on): Update.
12364
12365         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12366         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12367         (Files, Makefile.am): Update.
12368         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12369         * modules/argv-iter (Depends-on): Update.
12370         * modules/arpa_inet (Depends-on): Update.
12371         * modules/dirent (Depends-on): Update.
12372         * modules/fcntl-h (Depends-on): Update.
12373         * modules/fnmatch (Depends-on): Update.
12374         * modules/getopt-posix (Depends-on): Update.
12375         * modules/glob (Depends-on): Update.
12376         * modules/iconv-h (Depends-on): Update.
12377         * modules/inttypes-incomplete (Depends-on): Update.
12378         * modules/locale (Depends-on): Update.
12379         * modules/math (Depends-on): Update.
12380         * modules/netdb (Depends-on): Update.
12381         * modules/search (Depends-on): Update.
12382         * modules/signal (Depends-on): Update.
12383         * modules/spawn (Depends-on): Update.
12384         * modules/stdio (Depends-on): Update.
12385         * modules/stdlib (Depends-on): Update.
12386         * modules/string (Depends-on): Update.
12387         * modules/strings (Depends-on): Update.
12388         * modules/sys_socket (Depends-on): Update.
12389         * modules/sys_stat (Depends-on): Update.
12390         * modules/sys_time (Depends-on): Update.
12391         * modules/sys_times (Depends-on): Update.
12392         * modules/sys_utsname (Depends-on): Update.
12393         * modules/time (Depends-on): Update.
12394         * modules/unistd (Depends-on): Update.
12395         * modules/wchar (Depends-on): Update.
12396         * MODULES.html.sh (Support for building libraries and executables):
12397         Update.
12398
12399 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12400
12401         Improvements on _Noreturn and related modules.
12402
12403         modules/_Exit-tests: test _Noreturn too
12404         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12405         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12406         (main): Use them.
12407
12408         stdnoreturn, stdnoreturn-tests: remove modules
12409         They're not needed here and a bit premature for use elsewhere.  See
12410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12411         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12412         * tests/test-stdnoreturn.c: Remove files.
12413         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12414         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12415         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12416         and using noreturn.
12417         * modules/openat, modules/sigpipe-die, modules/xalloc:
12418         * modules/xmemdup0, modules/xstrtol:
12419         Remove dependency on stdnoreturn.
12420
12421         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12422         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12423         Reparenthesize to avoid GCC warning.
12424         Support Microsoft's syntax.
12425         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12426
12427         _Noreturn-tests: remove module
12428         * modules/_Noreturn-tests: Remove.
12429         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12430         * tests/test-_Noreturn.c: Remove.
12431         * tests/test-stdnoreturn.c: Merge from the old
12432         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12433
12434 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12435
12436         _Noreturn, stdnoreturn, and related modules.
12437
12438         * top/maint.mk: Adjust to new noreturn support.
12439         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12440         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12441
12442         xalloc: use stdnoreturn.h
12443         * lib/xalloc.h: Include <stdnoreturn.h>.
12444         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12445         * modules/xalloc (Depends-on): Add stdnoreturn.
12446
12447         xstrtol: use stdnoreturn.h
12448         * lib/xstrtol.h: Include <stdnoreturn.h>.
12449         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12450         * modules/xstrtol (Depends-on): Add stdnoreturn.
12451
12452         xmemdup0: use stdnoreturn.h
12453         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12454         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12455         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12456
12457         sigpipe-die: use stdnoreturn.h
12458         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12459         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12460         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12461
12462         openat: use stdnoreturn.h
12463         * lib/openat.h: Include <stdnoreturn.h>.
12464         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12465         * modules/openat (Depends-on): Add stdnoreturn.
12466
12467         * lib/openat-die.c (openat_save_fail): Modernize comment.
12468
12469         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12470
12471         * lib/glthread/thread.h: Modernize comment.
12472
12473         obstack: use _Noreturn
12474         * lib/obstack.c (__attribute__): Remove macro.
12475         (print_and_abort): Use _Noreturn.
12476
12477         c-stack: use _Noreturn
12478         * lib/c-stack.c (die, overflow_handler, segv_handler):
12479         Use _Noreturn rather than __attribute__((noreturn)).
12480
12481         argmatch-tests, exclude_tests: use _Noreturn
12482         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12483         Remove.
12484         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12485
12486         stdlib: use _Noreturn
12487         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12488         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12489         * modules/stdlib (Depends-on): Add _Noreturn.
12490         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12491
12492         stdnoreturn-tests: new module
12493         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12494
12495         stdnoreturn: new module
12496         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12497         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12498
12499         _Noreturn-tests: new module
12500         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12501
12502         _Noreturn: new module
12503         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12504         New section, mentioning it.
12505         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12506
12507         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12508
12509 2011-07-11  Eric Blake  <eblake@redhat.com>
12510
12511         ffs: new module
12512         * modules/ffs: New file.
12513         * m4/ffs.m4: Likewise.
12514         * lib/ffs.c: Likewise.
12515         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12516         * modules/strings (Makefile.am): Substitute witness.
12517         (Depends-on): Add c++defs.
12518         * lib/strings.in.h (ffs): Declare.
12519         * modules/ffs-tests: New test file.
12520         * tests/test-ffs.c: Test new module.
12521         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12522         * doc/posix-functions/ffs.texi (ffs): Likewise.
12523
12524         regex: avoid compiler warning
12525         * lib/regex.c (includes): Include <strings.h>, for use of
12526         strcasecmp in regcomp.c.
12527         Reported by Joachim Schmitz.
12528
12529 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12530
12531         stdint: respect system's intmax_t if INTMAX_MAX
12532         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12533         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12534         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12535         long but int64_t is long long, and where we will clash with the
12536         system intmax_t if we override it.  See
12537         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12538         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12539         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12540         similarly for UINTMAX_C.
12541
12542 2011-07-08  Bruno Haible  <bruno@clisp.org>
12543
12544         pthread_sigmask tests: Avoid a compiler warning.
12545         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12546         non-zero.
12547
12548         sigprocmask tests: A better way to avoid a compiler warning.
12549         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12550         (main): Complain if system() returns non-zero.
12551         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12552
12553 2011-07-08  Bruno Haible  <bruno@clisp.org>
12554
12555         pthread_sigmask: Work around IRIX bug.
12556         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12557         bug.
12558         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12559         there may be unblocked pending signals.
12560         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12561
12562 2011-07-08  Bruno Haible  <bruno@clisp.org>
12563
12564         pthread_sigmask: Work around Cygwin bug.
12565         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
12566         bug.
12567         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
12568         the system's pthread_sigmask function.
12569         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
12570
12571 2011-07-08  Bruno Haible  <bruno@clisp.org>
12572
12573         pthread_sigmask: Work around bug in single-threaded implementation.
12574         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
12575         FreeBSD, HP-UX, Solaris bug.
12576         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
12577         * lib/pthread_sigmask.c: Include <stddef.h>.
12578         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
12579         the system's pthread_sigmask function.
12580         * modules/pthread_sigmask (configure.ac): Invoke
12581         gl_PREREQ_PTHREAD_SIGMASK.
12582         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
12583         HP-UX, Solaris.
12584
12585 2011-07-08  Eric Blake  <eblake@redhat.com>
12586
12587         test-sigprocmask: avoid compiler warning
12588         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
12589         * tests/test-sigprocmask.c (main): Use it to silence warning.
12590         Reported by Jim Meyering.
12591
12592         test-snprintf: avoid compiler warning
12593         * tests/test-snprintf.c (main): Avoid shadowed declaration.
12594         * tests/test-vsnprintf.c (main): Likewise.
12595         Reported by Jim Meyering.
12596
12597 2011-07-08  Bruno Haible  <bruno@clisp.org>
12598
12599         Tests for module 'pthread_sigmask'.
12600         * modules/pthread_sigmask-tests: New file.
12601         * tests/test-pthread_sigmask1.c: New file, based on
12602         tests/test-sigprocmask.c.
12603         * tests/test-pthread_sigmask2.c: New file.
12604
12605 2011-07-08  Jim Meyering  <meyering@redhat.com>
12606
12607         test-getopt.h: avoid warning about an unused variable
12608         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
12609
12610 2011-07-07  Jim Meyering  <meyering@redhat.com>
12611
12612         maint: reduce list of files exempt from sc_prohibit_leading_TABs
12613         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
12614         now that it no longer contains leading TABs.
12615         Remove unused "url=FIXME" statement.
12616
12617 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12618
12619         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
12620         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12621         When gl_THREADLIB is not in use, assume that the POSIX sematics
12622         are desired.  This is better for Emacs, which uses POSIX semantics
12623         on GNUish and/or POSIXish platforms, and does not use threads at
12624         all otherwise.
12625
12626         pthread_sigmask: fix typo when testing for libraries
12627         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12628         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
12629
12630 2011-07-08  Eric Blake  <eblake@redhat.com>
12631
12632         fts: introduce FTS_NOATIME
12633         * lib/fts_.h (FTS_NOATIME): New bit flag.
12634         (FTS_OPTIONMASK): Adjust.
12635         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
12636         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
12637
12638 2011-07-08  Bruno Haible  <bruno@clisp.org>
12639
12640         Tests for module 'thread'.
12641         * modules/thread-tests: New file.
12642         * tests/test-thread_self.c: New file.
12643         * tests/test-thread_create.cc: New file.
12644
12645 2011-07-08  Bruno Haible  <bruno@clisp.org>
12646
12647         thread: Avoid gcc warnings when using gl_thread_self().
12648         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
12649         'void *'.
12650         (gl_thread_self_pointer): Update.
12651
12652 2011-07-07  Bruno Haible  <bruno@clisp.org>
12653
12654         signal-c++-tests: Check declaration of pthread_sigmask.
12655         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
12656         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
12657         $(LIB_PTHREAD_SIGMASK).
12658
12659 2011-07-07  Bruno Haible  <bruno@clisp.org>
12660
12661         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
12662         * lib/signal.in.h (pthread_sigmask): Override if
12663         REPLACE_PTHREAD_SIGMASK is 1.
12664         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12665         REPLACE_PTHREAD_SIGMASK.
12666         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
12667         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
12668         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
12669         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12670         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
12671
12672 2011-07-07  Bruno Haible  <bruno@clisp.org>
12673
12674         pthread_sigmask: Ensure declaration in <signal.h>.
12675         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
12676         include <pthread.h>.
12677         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
12678         problem.
12679
12680 2011-07-07  Bruno Haible  <bruno@clisp.org>
12681
12682         pthread_sigmask: Document the module.
12683         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
12684
12685 2011-07-07  Bruno Haible  <bruno@clisp.org>
12686
12687         pthread_sigmask: Follow gnulib conventions.
12688         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
12689         gl_PTHREAD_SIGMASK.
12690         * modules/pthread_sigmask (configure.ac): Update.
12691
12692 2011-07-07  Bruno Haible  <bruno@clisp.org>
12693
12694         pthread_sigmask: Make declaration C++ safe.
12695         * lib/signal.in.h: In two special conditions, just do an #include_next.
12696         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12697         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
12698         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12699         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12700         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
12701         not REPLACE_PTHREAD_MASK.
12702         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
12703         not REPLACE_PTHREAD_MASK.
12704         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12705
12706 2011-07-07  Bruno Haible  <bruno@clisp.org>
12707
12708         pthread_sigmask: Fix return value.
12709         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
12710         * lib/pthread_sigmask.c: New file.
12711         * modules/pthread_sigmask (Files): Add it.
12712         (configure.ac): Invoke AC_LIBOBJ.
12713
12714 2011-07-07  Eric Blake  <eblake@redhat.com>
12715
12716         getopt: more portable argv creation
12717         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
12718         const, use char arrays rather than strings.
12719         Suggested by Paul Eggert.
12720
12721 2011-07-07  Bruno Haible  <bruno@clisp.org>
12722
12723         Tests for module 'sigprocmask'.
12724         * modules/sigprocmask-tests: New file.
12725         * tests/test-sigprocmask.c: New file.
12726
12727 2011-07-07  Bruno Haible  <bruno@clisp.org>
12728
12729         float tests: Tweak.
12730         * tests/test-float.c (main): Tweak skip message.
12731
12732 2011-07-07  Eric Blake  <eblake@redhat.com>
12733
12734         getopt: avoid compiler warning during configure
12735         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
12736         assigning string literals to non-const pointer.
12737
12738         getopt-gnu: avoid crash in glibc getopt
12739         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
12740         * tests/test-getopt.h (test_getopt): Enhance test.
12741         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12742         * doc/posix-functions/getopt.texi (getopt): Document it.
12743         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12744         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12745         Likewise.
12746
12747 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
12748
12749         getopt: handle W; without long options in getopt [BZ #12922]
12750         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
12751         but no long options are defined, just return 'W'.
12752
12753 2011-07-07  Bruno Haible  <bruno@clisp.org>
12754
12755         Avoid literal tabs.
12756         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
12757         variable containing a tab instead of a literal tab.
12758         Reported by Jim Meyering.
12759
12760 2011-07-07  Bruno Haible  <bruno@clisp.org>
12761
12762         Comments.
12763         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
12764
12765 2011-07-06  Bruno Haible  <bruno@clisp.org>
12766
12767         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12768         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12769         <winsock2.h>.
12770         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12771         lib/sys_socket.in.h.
12772         (close, gethostname): Hide declarations from <winsock2.h>.
12773         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12774         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12775         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12776         (select): Don't override if gnulib's <sys/select.h> was already
12777         included.
12778         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12779         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12780         setsockopt, shutdown, select): Tweak indentation.
12781
12782 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12783
12784         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12785         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12786         in an application that does not use the sys_select module.
12787
12788 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12789
12790         poll: do not return 0 on timeout=-1
12791         * lib/poll.c: Loop with yield if no events occured
12792
12793 2011-07-06  Eric Blake  <eblake@redhat.com>
12794
12795         pthread_sigmask: always replace when not using pthread
12796         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12797         replacement when using some threading other than pthread.  Fix
12798         logic bug.
12799
12800 2011-07-06  Bruno Haible  <bruno@clisp.org>
12801
12802         Comments.
12803         * m4/printf.m4: Update comments about mingw.
12804
12805 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12806
12807         sys_select: define sigset_t more portably
12808         * lib/sys_select.in.h: Always include <sys/types.h>, since
12809         we now need sigset_t and mingw defines it there.
12810         Include <signal.h> before split inclusion guard, to avoid
12811         mishaps on Solaris, whose <signal.h> eventually includes us.
12812         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12813         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12814         which come from ...
12815         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12816         gl_CHECK_TYPE_SIGSET_T.
12817         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12818         does the real work.
12819         * modules/sys_select (Depends-on): Add 'signal'.
12820
12821         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12822         Suggested by Bruno Haible.
12823
12824         pselect: Use pthread_sigmask, not sigprocmask.
12825         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12826         multithreaded apps better than sigprocmask does.
12827         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12828         sigprocmask directly.
12829
12830 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12831
12832         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12833         Don't #undef,  since we don't need any underlying pselect.
12834         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12835         (Depends-on): Add select.
12836         (Link): Add $(LIBSOCKET).
12837         These changes suggested by Bruno Haible.
12838
12839         pselect: document better
12840         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12841         * doc/posix-functions/pselect.texi (pselect): Document new module.
12842
12843         pthread_sigmask: new module
12844         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12845         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12846         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12847         This is done only as a macro; I don't know how well that'll
12848         work for C++.  Move <sys/types.h> include before the include_next,
12849         to avoid mishap on Solaris.
12850         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12851         * modules/signal (Makefile.am): Substitute the check's results.
12852         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12853
12854         test-pselect: new module
12855         * modules/pselect-tests, tests/test-pselect.c: New files.
12856         * tests/test-select.c, tests/test-sys_select-c++.cc:
12857         If TEST_PSELECT is defined, test pselect instead of testing select.
12858
12859         * tests/test-sys_select.c (sigset_t): Test for it, too.
12860         Suggested by Bruno Haible.
12861
12862 2011-07-05  Eric Blake  <eblake@redhat.com>
12863
12864         snprintf: guarantee %1$d, for libintl
12865         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12866         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12867         * doc/posix-functions/snprintf.texi (snprintf): Update.
12868         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12869         * tests/test-snprintf.c (main): Enhance test.
12870         * tests/test-vsnprintf.c (main): Likewise.
12871
12872 2011-07-05  Jim Meyering  <meyering@redhat.com>
12873
12874         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12875         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12876         per Bruno's request, to accommodate this idiom (no space after "#")
12877         even when the function is inside an #if block:
12878         char *
12879         gets (char *s)
12880         #undef gets
12881         {
12882           ...
12883         }
12884
12885 2011-07-04  Jim Meyering  <meyering@redhat.com>
12886
12887         maint: indent with spaces, not TABs, and add a rule to check this
12888         * tests/test-userspec.c: Indent with spaces, not TABs.
12889         * tests/test-argp.c: Likewise.
12890         * tests/test-c-stack2.sh: Likewise.
12891         * tests/test-parse-duration.sh: Likewise
12892         * m4/strtod.m4: Likewise.
12893         * m4/alloca.m4: Likewise.
12894         * m4/pselect.m4: Likewise.
12895         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12896
12897 2011-07-03  Jim Meyering  <meyering@redhat.com>
12898
12899         maint.mk: correct omissions in prohibit_argmatch_without_use check
12900         This rule would mistakenly report that argmatch.h is included without
12901         use even when both the argmatch and invalid_arg macro were used.
12902         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12903         of argmatch and invalid_arg.
12904
12905 2011-07-03  Bruno Haible  <bruno@clisp.org>
12906
12907         Comments about EINTR.
12908         * lib/safe-read.h: Explain the purpose of this module.
12909         * lib/safe-write.h: Likewise.
12910         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12911         module.
12912         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12913         module.
12914         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12915
12916 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12917
12918         xnanosleep: Rewrite to use new dtotimespec module.
12919         It has the conversion code that used to be in xnanosleep.
12920         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12921         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12922         (TIME_T_MAX): Remove.
12923         (xnanosleep): Rewrite in terms of dtotimespec.
12924         * modules/xnanosleep (Depends-on): Add dtotimespec.
12925         Remove intprops, stdbool.
12926
12927         timespec-add, timespec-sub: new modules
12928         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12929         * lib/timespec-add.c, lib/timespec-sub.c:
12930         * modules/timespec-add, modules/timespec-sub: New files.
12931
12932         dtotimespec: new module
12933         * lib/timespec.h (dtotimespec): New decl.
12934         * lib/dtotimespec.c, modules/dtotimespec: New files.
12935
12936         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12937
12938         pselect: new module
12939         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12940         (pselect): New decls.
12941         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12942         since the standard pselect decl uses 'restrict'.
12943         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12944         HAVE_PSELECT, REPLACE_PSELECT.
12945         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12946         HAVE_PSELECT, REPLACE_PSELECT.
12947         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12948
12949         sys_select: don't depend on sys_socket
12950         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12951         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12952         This fix works on GNU and GNU-like platforms, but has not been tested
12953         on native Windows.
12954         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12955         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12956         gl_HEADER_SYS_SOCKET.
12957         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12958         gl_PREREQ_SYS_H_WINSOCK2.
12959
12960 2011-06-29  Eric Blake  <eblake@redhat.com>
12961
12962         pipe2: fix C89 compile problem
12963         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12964         Reported by Bruno Haible.
12965
12966         pipe, pipe2: don't corrupt fd on error
12967         * lib/pipe.c (pipe): Leave fd unchanged on error.
12968         * lib/pipe2.c (pipe2): Likewise.
12969         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12970         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12971
12972 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12973
12974         mmap-anon: do not use regular expressions inadvertently
12975         * m4/mmap-anon.m4: Remove trailing period from strings sought
12976         in the output.
12977
12978 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12979
12980         nanosleep: fix integer overflow problem
12981         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12982         arithmetic wraps around on overflow.
12983
12984         nanosleep: simplify carrying
12985         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12986         first call to the underyling nanosleep, not for the last one.
12987         This doesn't fix any bugs, but it simplifies the computation of
12988         the remaining delay.  Found while auditing integer overflow issues.
12989
12990         dup2: remove test for existence of fcntl
12991         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12992         "#if HAVE_FCNTL", in the configure-time test program.
12993         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12994         and therefore speeds up "configure" a bit.  Found while
12995         adding the dup2 module to Emacs.
12996
12997 2011-06-24  Eric Blake  <eblake@redhat.com>
12998
12999         maint.mk: enhance useless header checks
13000         * top/maint.mk (_sc_header_without_use): Check both include
13001         styles.
13002         (sc_prohibit_assert_without_use)
13003         (sc_prohibit_close_stream_without_use)
13004         (sc_prohibit_getopt_without_use)
13005         (sc_prohibit_quotearg_without_use)
13006         (sc_prohibit_quote_without_use)
13007         (sc_prohibit_long_options_without_use)
13008         (sc_prohibit_inttostr_without_use)
13009         (sc_prohibit_ignore_value_without_use)
13010         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13011         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13012         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13013         (sc_prohibit_hash_pjw_without_use)
13014         (sc_prohibit_safe_read_without_use)
13015         (sc_prohibit_argmatch_without_use)
13016         (sc_prohibit_canonicalize_without_use)
13017         (sc_prohibit_root_dev_ino_without_use)
13018         (sc_prohibit_openat_without_use)
13019         (sc_prohibit_c_ctype_without_use)
13020         (sc_prohibit_signal_without_use)
13021         (sc_prohibit_stdio--_without_use)
13022         (sc_prohibit_stdio-safer_without_use)
13023         (sc_prohibit_strings_without_use)
13024         (sc_prohibit_intprops_without_use)
13025         (sc_prohibit_stddef_without_use)
13026         (sc_prohibit_xfreopen_without_use): Update clients.
13027
13028 2011-06-24  Jim Meyering  <meyering@redhat.com>
13029
13030         syntax-check: keep one maint.mk rule in sync with its header
13031         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13032         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13033         I prefer to avoid temporary files here, so use <(...), but that
13034         is not supported by /bin/sh, so...
13035         (SHELL): Define to /bin/bash.
13036
13037 2011-06-24  Eric Blake  <eblake@redhat.com>
13038
13039         maint.mk: update sc_prohibit_intprops_without_use
13040         * top/maint.mk (_intprops_names): Match recent changes.
13041
13042 2011-06-24  Bruno Haible  <bruno@clisp.org>
13043
13044         strerror-override: No-op tweak.
13045         * lib/strerror-override.h (strerror_override): Reorder conditions,
13046         for consistency with lib/strerror-override.c.
13047
13048 2011-06-23  Eric Blake  <eblake@redhat.com>
13049
13050         maint.mk: test further PATH_MAX issues
13051         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13052         (sc_prohibit_path_max_allocation): ...and also test alloca.
13053         Suggested by Jim Meyering.
13054
13055 2011-06-22  Eric Blake  <eblake@redhat.com>
13056
13057         maint.mk: add syntax-check to avoid char[PATH_MAX]
13058         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13059
13060         stat: be robust to PATH_MAX definition
13061         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13062         * modules/stat (Depends-on): Add verify.
13063
13064         link: work around IRIX bug
13065         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13066         * lib/link.c (rpl_link): Work around it.
13067         * tests/test-link.h (test_link): Enhance test.
13068         * doc/posix-functions/link.texi (link): Document the bug.
13069
13070         getopt: silence clang warning
13071         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13072         dereference.
13073         Reported by Gustavo Martin Domato.
13074
13075 2011-06-22  Jim Meyering  <meyering@redhat.com>
13076
13077         bootstrap: do not insert a blank line into each .gitignore file
13078         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13079
13080 2011-06-21  Eric Blake  <eblake@redhat.com>
13081
13082         perror: test for output mismatch
13083         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13084         perror on IRIX.
13085
13086         strerror_r: fix OpenBSD behavior on out-of-range
13087         * lib/strerror_r.c (strerror_r): Always use maximal string.
13088         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13089
13090         strerror_r: fix OpenBSD behavior on 0
13091         * lib/strerror-override.c (strerror_override): Also override 0
13092         when needed.
13093         * lib/strerror-override.h (strerror_override): Likewise.
13094         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13095         earlier.
13096         * lib/strerror_r.c (strerror_r): Likewise.
13097         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13098         behavior...
13099         (gl_FUNC_STRERROR_0): ...into new macro.
13100         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13101         is overridden.
13102         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13103         * modules/strerror-override (Files): Add strerror.m4.
13104         (configure.ac): Also provide override for 0 when needed.
13105         * doc/posix-functions/strerror.texi (strerror): Document this.
13106         * doc/posix-functions/perror.texi (perror): Likewise.
13107
13108         perror: adjust array size
13109         * modules/perror (Depends-on): Add strerror-override.
13110         * lib/perror.c (perror): Use it to avoid magic number.
13111
13112         strerror-override: reduce size
13113         * lib/strerror-override.c (strerror_override): Use fewer lines.
13114
13115 2011-06-20  Bruno Haible  <bruno@clisp.org>
13116
13117         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13118         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13119
13120 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13121
13122         alloca: port to compilers that can optimize like GCC 4.6.0
13123         * lib/alloca.c (find_stack_direction): New signature, taken from
13124         Autoconf git.  This works with GCC 4.6.0.  This code should never
13125         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13126         be used with other compilers that optimize as well as GCC 4.6.0 does.
13127         (alloca): Adjust to new signature.
13128         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13129         New macro, which patches Autoconf in a similar way.
13130
13131         c-stack: stop worrying about stack direction
13132         * lib/c-stack.c (find_stack_direction): Remove.
13133         (segv_handler): Don't worry about stack direction growth, as it's
13134         too much of a pain to configure this correctly, given how compilers
13135         are optimizing-away our stack-growth detection code.  Instead, assume
13136         that any access to just before or just after the stack is OK.
13137         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13138         Don't require AC_FUNC_ALLOCA; no longer needed.
13139
13140 2011-06-20  Eric Blake  <eblake@redhat.com>
13141
13142         test-stat: don't allocate PATH_MAX bytes
13143         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13144         PATH_MAX-sized buffer.
13145         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13146         * modules/stat-tests (Depends-on): Likewise.
13147         * tests/test-fstatat.c (includes): Drop pathmax.h.
13148         * tests/test-stat.c (includes): Likewise.
13149         Reported by Bruno Haible.
13150
13151 2011-06-20  Bruno Haible  <bruno@clisp.org>
13152
13153         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13154         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13155         * lib/float.c: New file.
13156         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13157         REPLACE_FLOAT_LDBL.
13158         * modules/float (Files): Add lib/float.c.
13159         (configure.ac): Invoke AC_LIBOBJ.
13160         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13161
13162 2011-06-20  Bruno Haible  <bruno@clisp.org>
13163
13164         Tests for module 'float'.
13165         * modules/float-tests: New file.
13166         * tests/test-float.c: New file.
13167
13168 2011-06-19  Bruno Haible  <bruno@clisp.org>
13169
13170         isinf: Coding style.
13171         * lib/isinf.c: Use GNU coding style.
13172
13173 2011-06-19  Bruno Haible  <bruno@clisp.org>
13174
13175         linkat test: Avoid test failure on AIX 7.1.
13176         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13177         * tests/test-link.h (test_link): Likewise.
13178
13179 2011-06-19  Bruno Haible  <bruno@clisp.org>
13180
13181         pread test: Avoid test failure on OpenBSD 4.9.
13182         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13183
13184 2011-06-19  Bruno Haible  <bruno@clisp.org>
13185
13186         sprintf-posix: Fix test failure on AIX 7.1.
13187         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13188         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13189         on AIX.
13190         * doc/posix-functions/fprintf.texi: Likewise.
13191         * doc/posix-functions/printf.texi: Likewise.
13192         * doc/posix-functions/snprintf.texi: Likewise.
13193         * doc/posix-functions/sprintf.texi: Likewise.
13194         * doc/posix-functions/vdprintf.texi: Likewise.
13195         * doc/posix-functions/vfprintf.texi: Likewise.
13196         * doc/posix-functions/vprintf.texi: Likewise.
13197         * doc/posix-functions/vsnprintf.texi: Likewise.
13198         * doc/posix-functions/vsprintf.texi: Likewise.
13199
13200 2011-06-19  Bruno Haible  <bruno@clisp.org>
13201
13202         roundl-ieee: Fix test failure on AIX 7.1.
13203         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13204         * doc/posix-functions/roundl.texi: Mention problem with negative
13205         arguments.
13206
13207 2011-06-19  Bruno Haible  <bruno@clisp.org>
13208
13209         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13210         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13211         * doc/posix-functions/round.texi: Mention problem with negative
13212         arguments.
13213         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13214
13215 2011-06-19  Bruno Haible  <bruno@clisp.org>
13216
13217         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13218         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13219         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13220         * doc/posix-functions/roundf.texi: Mention problem with negative
13221         arguments.
13222         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13223
13224 2011-06-19  Bruno Haible  <bruno@clisp.org>
13225
13226         ceilf-ieee: Work around bug on MacOS X 10.5.
13227         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13228
13229         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13230         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13231         IEEE compliant, avoid compiler optimizations.
13232         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13233         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13234         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13235         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13236         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13237         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13238         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13239         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13240         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13241         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13242
13243 2011-06-19  Bruno Haible  <bruno@clisp.org>
13244
13245         ceilf-ieee: Work around bug on AIX 7.1.
13246         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
13247         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
13248
13249 2011-06-19  Bruno Haible  <bruno@clisp.org>
13250
13251         ceil-ieee: Work around bug on AIX 7.1.
13252         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
13253         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
13254
13255 2011-06-18  Bruno Haible  <bruno@clisp.org>
13256
13257         fsync test: Avoid test failure on MacOS X and AIX.
13258         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13259         EINVAL.
13260
13261 2011-06-18  Bruno Haible  <bruno@clisp.org>
13262
13263         openat, fdopendir tests: Fix link errors.
13264         * modules/openat-tests (Depends-on): Add progname.
13265         * modules/fdopendir-tests (Depends-on): Likewise.
13266         * tests/test-fchownat.c: Include progname.h.
13267         (main): Call set_program_name.
13268         * tests/test-fstatat.c: Include progname.h.
13269         (main): Call set_program_name.
13270         * tests/test-mkdirat.c: Include progname.h.
13271         (main): Call set_program_name.
13272         * tests/test-openat.c: Include progname.h.
13273         (main): Call set_program_name.
13274         * tests/test-unlinkat.c: Include progname.h.
13275         (main): Call set_program_name.
13276         * tests/test-fdopendir.c: Include progname.h.
13277         (main): Call set_program_name.
13278
13279 2011-06-18  Bruno Haible  <bruno@clisp.org>
13280
13281         Doc update.
13282         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13283         HP-UX.
13284         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13285
13286 2011-06-18  Bruno Haible  <bruno@clisp.org>
13287
13288         getcwd tests: Avoid compilation error on HP-UX 11.31.
13289         * modules/getcwd-tests (Depends-on): Add pathmax.
13290         * tests/test-getcwd.c: Include pathmax.h.
13291
13292 2011-06-18  Bruno Haible  <bruno@clisp.org>
13293
13294         isfinite, isinf: Fix link error on AIX 6 and 7.
13295         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13296         needed, also test the macro with a 'float' argument.
13297         * m4/isinf.m4 (gl_ISINF): Likewise.
13298
13299 2011-06-18  Bruno Haible  <bruno@clisp.org>
13300
13301         getloadavg: Don't clobber LIBS. Regression from previous commit.
13302         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13303         AC_CHECK_LIB from here...
13304         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13305         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13306         gl_func_getloadavg_done.
13307         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13308
13309 2011-06-18  Bruno Haible  <bruno@clisp.org>
13310
13311         clean-temp: Improve documentation.
13312         * lib/clean-temp.h: Explain better how to use this module.
13313         Reported by John Darrington <john@darrington.wattle.id.au>.
13314
13315 2011-06-17  Bruno Haible  <bruno@clisp.org>
13316
13317         pread, pwrite: Avoid cc warning on AIX.
13318         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13319         (pwrite): Likewise.
13320
13321 2011-06-17  Bruno Haible  <bruno@clisp.org>
13322
13323         spawn-pipe tests: Fix link error.
13324         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13325         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13326
13327 2011-06-17  Bruno Haible  <bruno@clisp.org>
13328
13329         Tests: Remove unnecessary dependency.
13330         * modules/canonicalize-tests (Depends-on): Remove progname.
13331         * modules/chown-tests (Depends-on): Likewise.
13332         * modules/dirname-tests (Depends-on): Likewise.
13333         * modules/fdopendir-tests (Depends-on): Likewise.
13334         * modules/fdutimensat-tests (Depends-on): Likewise.
13335         * modules/hash-tests (Depends-on): Likewise.
13336         * modules/lchown-tests (Depends-on): Likewise.
13337         * modules/linkat-tests (Depends-on): Likewise.
13338         * modules/renameat-tests (Depends-on): Likewise.
13339         * modules/spawn-pipe-tests (Depends-on): Likewise.
13340         * modules/utimensat-tests (Depends-on): Likewise.
13341
13342 2011-06-17  Bruno Haible  <bruno@clisp.org>
13343
13344         spawn-pipe tests: Fix link error.
13345         * tests/test-spawn-pipe-child.c: Undefine fflush.
13346
13347 2011-06-17  Bruno Haible  <bruno@clisp.org>
13348
13349         Fix tests link errors.
13350         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13351         * modules/chown-tests (Makefile.am): Don't link test-chown with
13352         LIBINTL.
13353         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13354         LIBINTL.
13355         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13356         LIBINTL.
13357         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13358         LIBINTL.
13359
13360 2011-06-16  Bruno Haible  <bruno@clisp.org>
13361
13362         crypto/gc-sha1: Fix recent regression.
13363         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13364         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13365
13366         crypto/gc-md5: Fix recent regression.
13367         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13368
13369         crypto/gc-md4: Fix recent regression.
13370         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13371         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13372
13373         crypto/gc-arctwo: Fix recent regression.
13374         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13375         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13376
13377         crypto/gc-rijndael: Fix recent regression.
13378         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13379         (configure.ac): Invoke AC_LIBOBJ here.
13380         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13382
13383         crypto/gc-hmac-sha1: Fix recent regression.
13384         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13385         (configure.ac): Invoke AC_LIBOBJ here.
13386         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13388
13389         crypto/gc-hmac-md5: Fix recent regression.
13390         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13391         (configure.ac): Invoke AC_LIBOBJ here.
13392         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13393         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13394
13395         crypto/gc-des: Fix recent regression.
13396         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13397         (configure.ac): Invoke AC_LIBOBJ here.
13398         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13400
13401         crypto/gc-arcfour: Fix recent regression.
13402         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13403         (configure.ac): Invoke AC_LIBOBJ here.
13404         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13406
13407 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13410         After the 2011-05-21 change, this macro requires
13411         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13412         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13413
13414 2011-06-16  Bruno Haible  <bruno@clisp.org>
13415
13416         fprintftime: Move AC_LIBOBJ invocations to module description.
13417         * m4/fprintftime.m4: Remove file.
13418         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13419         (configure.ac): Remove gl_FPRINTFTIME call.
13420         (Makefile.am): Augment lib_SOURCES.
13421         Reported by Jim Meyering.
13422
13423 2011-06-16  Bruno Haible  <bruno@clisp.org>
13424
13425         tmpfile-safer: Finish 2011-05-23 commit.
13426         * m4/stdio-safer.m4: Really remove file.
13427         Reported by Jim Meyering.
13428
13429 2011-06-16  Bruno Haible  <bruno@clisp.org>
13430
13431         syntax-check: Fix typo.
13432         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13433         printf-posix.m4.
13434         Reported by Jim Meyering.
13435
13436 2011-06-13  Jim Meyering  <meyering@redhat.com>
13437
13438         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13439         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13440
13441 2011-05-23  Bruno Haible  <bruno@clisp.org>
13442
13443         yesno: Move AC_LIBOBJ invocations to module description.
13444         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13445         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13446
13447 2011-05-23  Bruno Haible  <bruno@clisp.org>
13448
13449         xstrtol: Move AC_LIBOBJ invocations to module description.
13450         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13451         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13452
13453 2011-05-23  Bruno Haible  <bruno@clisp.org>
13454
13455         xstrtold: Move AC_LIBOBJ invocations to module description.
13456         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13457         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13458
13459 2011-05-23  Bruno Haible  <bruno@clisp.org>
13460
13461         xstrtod: Move AC_LIBOBJ invocations to module description.
13462         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13463         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13464
13465 2011-05-23  Bruno Haible  <bruno@clisp.org>
13466
13467         xnanosleep: Move AC_LIBOBJ invocations to module description.
13468         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13469         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13470
13471 2011-05-23  Bruno Haible  <bruno@clisp.org>
13472
13473         xgetcwd: Move AC_LIBOBJ invocations to module description.
13474         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13475         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13476
13477 2011-05-23  Bruno Haible  <bruno@clisp.org>
13478
13479         xalloc: Move AC_LIBOBJ invocations to module description.
13480         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13481         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13482
13483 2011-05-23  Bruno Haible  <bruno@clisp.org>
13484
13485         write-any-file: Move AC_LIBOBJ invocations to module description.
13486         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13487         invocation.
13488         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13489
13490 2011-05-23  Bruno Haible  <bruno@clisp.org>
13491
13492         utimens: Move AC_LIBOBJ invocations to module description.
13493         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13494         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13495
13496 2011-05-23  Bruno Haible  <bruno@clisp.org>
13497
13498         utimecmp: Move AC_LIBOBJ invocations to module description.
13499         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13500         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13501
13502 2011-05-23  Bruno Haible  <bruno@clisp.org>
13503
13504         userspec: Move AC_LIBOBJ invocations to module description.
13505         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13506         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13507
13508 2011-05-23  Bruno Haible  <bruno@clisp.org>
13509
13510         unlinkdir: Move AC_LIBOBJ invocations to module description.
13511         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13512         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13513
13514 2011-05-23  Bruno Haible  <bruno@clisp.org>
13515
13516         unistd-safer: Move AC_LIBOBJ invocations to module description.
13517         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13518         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13519
13520 2011-05-23  Bruno Haible  <bruno@clisp.org>
13521
13522         tempname: Move AC_LIBOBJ invocations to module description.
13523         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13524         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13525
13526 2011-05-23  Bruno Haible  <bruno@clisp.org>
13527
13528         strftime: Move AC_LIBOBJ invocations to module description.
13529         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13530         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13531
13532 2011-05-23  Bruno Haible  <bruno@clisp.org>
13533
13534         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13535         * m4/stdlib-safer.m4: Remove file.
13536         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13537         (configure.ac): Remove gl_STDLIB_SAFER call.
13538         (Makefile.am): Augment lib_SOURCES.
13539
13540 2011-05-23  Bruno Haible  <bruno@clisp.org>
13541
13542         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13543         * m4/stdio-safer.m4: Remove file.
13544         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13545         (configure.ac): Remove gl_TMPFILE_SAFER call.
13546         (Makefile.am): Augment lib_SOURCES.
13547
13548 2011-05-23  Bruno Haible  <bruno@clisp.org>
13549
13550         popen-safer: Move AC_LIBOBJ invocations to module description.
13551         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13552         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13553         (configure.ac): Remove gl_POPEN_SAFER call.
13554         (Makefile.am): Augment lib_SOURCES.
13555
13556 2011-05-23  Bruno Haible  <bruno@clisp.org>
13557
13558         freopen-safer: Move AC_LIBOBJ invocations to module description.
13559         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13560         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13561         (configure.ac): Remove gl_FREOPEN_SAFER call.
13562         (Makefile.am): Augment lib_SOURCES.
13563
13564 2011-05-23  Bruno Haible  <bruno@clisp.org>
13565
13566         fopen-safer: Move AC_LIBOBJ invocations to module description.
13567         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
13568         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
13569         (configure.ac): Remove gl_FOPEN_SAFER call.
13570         (Makefile.am): Augment lib_SOURCES.
13571
13572 2011-05-23  Bruno Haible  <bruno@clisp.org>
13573
13574         crypto/sha512: Move AC_LIBOBJ invocations to module description.
13575         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
13576         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
13577
13578 2011-05-23  Bruno Haible  <bruno@clisp.org>
13579
13580         crypto/sha256: Move AC_LIBOBJ invocations to module description.
13581         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
13582         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
13583
13584 2011-05-23  Bruno Haible  <bruno@clisp.org>
13585
13586         crypto/sha1: Move AC_LIBOBJ invocations to module description.
13587         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
13588         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
13589
13590 2011-05-23  Bruno Haible  <bruno@clisp.org>
13591
13592         settime: Move AC_LIBOBJ invocations to module description.
13593         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
13594         * modules/settime (Makefile.am): Augment lib_SOURCES.
13595
13596 2011-05-23  Bruno Haible  <bruno@clisp.org>
13597
13598         savedir: Move AC_LIBOBJ invocations to module description.
13599         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
13600         * modules/savedir (Makefile.am): Augment lib_SOURCES.
13601
13602 2011-05-23  Bruno Haible  <bruno@clisp.org>
13603
13604         save-cwd: Move AC_LIBOBJ invocations to module description.
13605         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
13606         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
13607
13608 2011-05-23  Bruno Haible  <bruno@clisp.org>
13609
13610         same: Move AC_LIBOBJ invocations to module description.
13611         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
13612         * modules/same (Makefile.am): Augment lib_SOURCES.
13613
13614 2011-05-23  Bruno Haible  <bruno@clisp.org>
13615
13616         safe-write: Move AC_LIBOBJ invocations to module description.
13617         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
13618         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
13619         instead of gl_SAFE_WRITE.
13620         (Makefile.am): Augment lib_SOURCES.
13621
13622 2011-05-23  Bruno Haible  <bruno@clisp.org>
13623
13624         safe-read: Move AC_LIBOBJ invocations to module description.
13625         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
13626         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
13627         of gl_SAFE_READ.
13628         (Makefile.am): Augment lib_SOURCES.
13629
13630 2011-05-23  Bruno Haible  <bruno@clisp.org>
13631
13632         safe-alloc: Move AC_LIBOBJ invocations to module description.
13633         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
13634         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
13635
13636 2011-05-23  Bruno Haible  <bruno@clisp.org>
13637
13638         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
13639         * m4/rijndael.m4: Remove file.
13640         * modules/crypto/rijndael (Files): Remove it.
13641         (configure.ac): Remove gl_RIJNDAEL call.
13642         (Makefile.am): Augment lib_SOURCES.
13643
13644 2011-05-23  Bruno Haible  <bruno@clisp.org>
13645
13646         readtokens: Move AC_LIBOBJ invocations to module description.
13647         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
13648         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
13649
13650 2011-05-23  Bruno Haible  <bruno@clisp.org>
13651
13652         read-file: Move AC_LIBOBJ invocations to module description.
13653         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
13654         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
13655         of gl_FUNC_READ_FILE.
13656         (Makefile.am): Augment lib_SOURCES.
13657
13658 2011-05-23  Bruno Haible  <bruno@clisp.org>
13659
13660         quotearg: Move AC_LIBOBJ invocations to module description.
13661         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
13662         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
13663
13664 2011-05-23  Bruno Haible  <bruno@clisp.org>
13665
13666         quote: Move AC_LIBOBJ invocations to module description.
13667         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
13668         * modules/quote (Makefile.am): Augment lib_SOURCES.
13669
13670 2011-05-23  Bruno Haible  <bruno@clisp.org>
13671
13672         posixver: Move AC_LIBOBJ invocations to module description.
13673         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
13674         * modules/posixver (Makefile.am): Augment lib_SOURCES.
13675
13676 2011-05-23  Bruno Haible  <bruno@clisp.org>
13677
13678         posixtm: Move AC_LIBOBJ invocations to module description.
13679         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
13680         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
13681
13682 2011-05-23  Bruno Haible  <bruno@clisp.org>
13683
13684         physmem: Move AC_LIBOBJ invocations to module description.
13685         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
13686         * modules/physmem (Makefile.am): Augment lib_SOURCES.
13687
13688 2011-05-23  Bruno Haible  <bruno@clisp.org>
13689
13690         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
13691         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
13692         invocation.
13693         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
13694
13695 2011-05-23  Bruno Haible  <bruno@clisp.org>
13696
13697         mpsort: Move AC_LIBOBJ invocations to module description.
13698         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
13699         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
13700
13701 2011-05-23  Bruno Haible  <bruno@clisp.org>
13702
13703         modechange: Move AC_LIBOBJ invocations to module description.
13704         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
13705         * modules/modechange (Makefile.am): Augment lib_SOURCES.
13706
13707 2011-05-23  Bruno Haible  <bruno@clisp.org>
13708
13709         mkdir-p: Move AC_LIBOBJ invocations to module description.
13710         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
13711         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
13712
13713 2011-05-23  Bruno Haible  <bruno@clisp.org>
13714
13715         mkancesdirs: Move AC_LIBOBJ invocations to module description.
13716         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
13717         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
13718
13719 2011-05-23  Bruno Haible  <bruno@clisp.org>
13720
13721         mgetgroups: Move AC_LIBOBJ invocations to module description.
13722         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
13723         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
13724
13725 2011-05-23  Bruno Haible  <bruno@clisp.org>
13726
13727         memxor: Move AC_LIBOBJ invocations to module description.
13728         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
13729         * modules/memxor (Makefile.am): Augment lib_SOURCES.
13730
13731 2011-05-23  Bruno Haible  <bruno@clisp.org>
13732
13733         memcoll: Move AC_LIBOBJ invocations to module description.
13734         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
13735         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
13736
13737 2011-05-23  Bruno Haible  <bruno@clisp.org>
13738
13739         memcasecmp: Move AC_LIBOBJ invocations to module description.
13740         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
13741         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
13742
13743 2011-05-23  Bruno Haible  <bruno@clisp.org>
13744
13745         crypto/md5: Move AC_LIBOBJ invocations to module description.
13746         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
13747         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
13748
13749 2011-05-23  Bruno Haible  <bruno@clisp.org>
13750
13751         crypto/md4: Move AC_LIBOBJ invocations to module description.
13752         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
13753         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
13754
13755 2011-05-23  Bruno Haible  <bruno@clisp.org>
13756
13757         crypto/md2: Move AC_LIBOBJ invocations to module description.
13758         * m4/md2.m4: Remove file.
13759         * modules/crypto/md2 (Files): Remove it.
13760         (configure.ac): Remove gl_MD2 call.
13761         (Makefile.am): Augment lib_SOURCES.
13762
13763 2011-05-23  Bruno Haible  <bruno@clisp.org>
13764
13765         long-options: Move AC_LIBOBJ invocations to module description.
13766         * m4/long-options.m4: Remove file.
13767         * modules/long-options (Files): Remove it.
13768         (configure.ac): Remove gl_LONG_OPTIONS call.
13769         (Makefile.am): Augment lib_SOURCES.
13770
13771 2011-05-23  Bruno Haible  <bruno@clisp.org>
13772
13773         i-ring: Move AC_LIBOBJ invocations to module description.
13774         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13775         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13776
13777 2011-05-23  Bruno Haible  <bruno@clisp.org>
13778
13779         idcache: Move AC_LIBOBJ invocations to module description.
13780         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13781         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13782
13783 2011-05-23  Bruno Haible  <bruno@clisp.org>
13784
13785         human: Move AC_LIBOBJ invocations to module description.
13786         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13787         * modules/human (Makefile.am): Augment lib_SOURCES.
13788
13789 2011-05-23  Bruno Haible  <bruno@clisp.org>
13790
13791         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13792         * m4/hmac-sha1.m4: Remove file.
13793         * modules/crypto/hmac-sha1 (Files): Remove it.
13794         (configure.ac): Remove gl_HMAC_SHA1 call.
13795         (Makefile.am): Augment lib_SOURCES.
13796
13797 2011-05-23  Bruno Haible  <bruno@clisp.org>
13798
13799         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13800         * m4/hmac-md5.m4: Remove file.
13801         * modules/crypto/hmac-md5 (Files): Remove it.
13802         (configure.ac): Remove gl_HMAC_MD5 call.
13803         (Makefile.am): Augment lib_SOURCES.
13804
13805 2011-05-23  Bruno Haible  <bruno@clisp.org>
13806
13807         hash: Move AC_LIBOBJ invocations to module description.
13808         * m4/hash.m4: Remove file.
13809         * modules/hash (Files): Remove it.
13810         (configure.ac): Remove gl_HASH call.
13811         (Makefile.am): Augment lib_SOURCES.
13812
13813 2011-05-23  Bruno Haible  <bruno@clisp.org>
13814
13815         hard-locale: Move AC_LIBOBJ invocations to module description.
13816         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13817         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13818
13819 2011-05-23  Bruno Haible  <bruno@clisp.org>
13820
13821         getugroups: Move AC_LIBOBJ invocations to module description.
13822         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13823         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13824
13825 2011-05-23  Bruno Haible  <bruno@clisp.org>
13826
13827         gettime: Move AC_LIBOBJ invocations to module description.
13828         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13829         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13830
13831 2011-05-23  Bruno Haible  <bruno@clisp.org>
13832
13833         getndelim2: Move AC_LIBOBJ invocations to module description.
13834         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13835         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13836
13837 2011-05-23  Bruno Haible  <bruno@clisp.org>
13838
13839         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13840         * m4/gc-pbkdf2-sha1.m4: Remove file.
13841         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13842         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13843         (Makefile.am): Augment lib_SOURCES.
13844
13845 2011-05-23  Bruno Haible  <bruno@clisp.org>
13846
13847         fts: Move AC_LIBOBJ invocations to module description.
13848         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13849         * modules/fts (configure.ac): ... to here.
13850
13851 2011-05-23  Bruno Haible  <bruno@clisp.org>
13852
13853         file-type: Move AC_LIBOBJ invocations to module description.
13854         * m4/file-type.m4: Remove file.
13855         * modules/file-type (Files): Remove it.
13856         (configure.ac): Remove gl_FILE_TYPE call.
13857         (Makefile.am): Augment lib_SOURCES.
13858
13859 2011-05-23  Bruno Haible  <bruno@clisp.org>
13860
13861         filenamecat*: Respect rules for use of AC_LIBOBJ.
13862         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13863         Remove AC_LIBOBJ invocation.
13864         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13865         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13866
13867 2011-05-23  Bruno Haible  <bruno@clisp.org>
13868
13869         filemode: Move AC_LIBOBJ invocations to module description.
13870         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13871         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13872
13873 2011-05-23  Bruno Haible  <bruno@clisp.org>
13874
13875         openat-safer: Move AC_LIBOBJ invocations to module description.
13876         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13877         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13878
13879 2011-05-23  Bruno Haible  <bruno@clisp.org>
13880
13881         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13882         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13883         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13884
13885 2011-05-23  Bruno Haible  <bruno@clisp.org>
13886
13887         exclude: Move AC_LIBOBJ invocations to module description.
13888         * m4/exclude.m4: Remove file.
13889         * modules/exclude (Files): Remove it.
13890         (configure.ac): Remove gl_EXCLUDE call.
13891         (Makefile.am): Augment lib_SOURCES.
13892
13893 2011-05-23  Bruno Haible  <bruno@clisp.org>
13894
13895         dirname*: Respect rules for use of AC_LIBOBJ.
13896         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13897         invocations.
13898         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13899         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13900
13901 2011-05-23  Bruno Haible  <bruno@clisp.org>
13902
13903         dirent-safer: Move AC_LIBOBJ invocations to module description.
13904         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13905         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13906
13907 2011-05-23  Bruno Haible  <bruno@clisp.org>
13908
13909         crypto/des: Move AC_LIBOBJ invocations to module description.
13910         * m4/des.m4: Remove file.
13911         * modules/crypto/des (Files): Remove it.
13912         (configure.ac): Remove gl_DES call.
13913         (Makefile.am): Augment lib_SOURCES.
13914
13915 2011-05-23  Bruno Haible  <bruno@clisp.org>
13916
13917         cycle-check: Move AC_LIBOBJ invocations to module description.
13918         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13919         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13920
13921 2011-05-23  Bruno Haible  <bruno@clisp.org>
13922
13923         c-strtold: Move AC_LIBOBJ invocations to module description.
13924         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13925         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13926
13927 2011-05-23  Bruno Haible  <bruno@clisp.org>
13928
13929         c-strtod: Move AC_LIBOBJ invocations to module description.
13930         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13931         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13932
13933 2011-05-23  Bruno Haible  <bruno@clisp.org>
13934
13935         crc: Move AC_LIBOBJ invocations to module description.
13936         * m4/crc.m4: Remove file.
13937         * modules/crc (Files): Remove it.
13938         (configure.ac): Remove gl_CRC call.
13939         (Makefile.am): Augment lib_SOURCES.
13940
13941 2011-05-23  Bruno Haible  <bruno@clisp.org>
13942
13943         close-stream: Move AC_LIBOBJ invocations to module description.
13944         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13945         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13946
13947 2011-05-23  Bruno Haible  <bruno@clisp.org>
13948
13949         closeout: Move AC_LIBOBJ invocations to module description.
13950         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13951         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13952
13953 2011-05-23  Bruno Haible  <bruno@clisp.org>
13954
13955         closein: Move AC_LIBOBJ invocations to module description.
13956         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13957         * modules/closein (Makefile.am): Augment lib_SOURCES.
13958
13959 2011-05-23  Bruno Haible  <bruno@clisp.org>
13960
13961         cloexec: Move AC_LIBOBJ invocations to module description.
13962         * m4/cloexec.m4: Remove file.
13963         * modules/cloexec (Files): Remove it.
13964         (configure.ac): Remove gl_CLOEXEC call.
13965         (Makefile.am): Augment lib_SOURCES.
13966
13967 2011-05-23  Bruno Haible  <bruno@clisp.org>
13968
13969         check-version: Move AC_LIBOBJ invocations to module description.
13970         * m4/check-version.m4: Remove file.
13971         * modules/check-version (Files): Remove it.
13972         (configure.ac): Remove gl_CHECK_VERSION call.
13973         (Makefile.am): Augment lib_SOURCES.
13974
13975 2011-05-23  Bruno Haible  <bruno@clisp.org>
13976
13977         chdir-safer: Move AC_LIBOBJ invocations to module description.
13978         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13979         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13980
13981 2011-05-23  Bruno Haible  <bruno@clisp.org>
13982
13983         canonicalize: Move AC_LIBOBJ invocations to module description.
13984         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13985         AC_LIBOBJ invocation.
13986         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13987
13988 2011-05-23  Bruno Haible  <bruno@clisp.org>
13989
13990         canon-host: Move AC_LIBOBJ invocations to module description.
13991         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13992         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13993         instead of gl_CANON_HOST.
13994         (Makefile.am): Augment lib_SOURCES.
13995
13996 2011-05-23  Bruno Haible  <bruno@clisp.org>
13997
13998         backupfile: Move AC_LIBOBJ invocations to module description.
13999         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14000         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14001
14002 2011-05-23  Bruno Haible  <bruno@clisp.org>
14003
14004         argmatch: Move AC_LIBOBJ invocations to module description.
14005         * m4/argmatch.m4: Remove file.
14006         * modules/argmatch (Files): Remove it.
14007         (configure.ac): Remove gl_ARGMATCH call.
14008         (Makefile.am): Augment lib_SOURCES.
14009
14010 2011-05-23  Bruno Haible  <bruno@clisp.org>
14011
14012         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14013         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14014         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14015
14016 2011-05-23  Bruno Haible  <bruno@clisp.org>
14017
14018         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14019         * m4/arcfour.m4: Remove file.
14020         * modules/crypto/arcfour (Files): Remove it.
14021         (configure.ac): Remove gl_ARCFOUR call.
14022         (Makefile.am): Augment lib_SOURCES.
14023
14024 2011-05-22  Bruno Haible  <bruno@clisp.org>
14025
14026         write: Move AC_LIBOBJ invocations to module description.
14027         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14028         * modules/write (configure.ac): ... to here.
14029
14030 2011-05-22  Bruno Haible  <bruno@clisp.org>
14031
14032         wmemset: Move AC_LIBOBJ invocations to module description.
14033         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14034         here...
14035         * modules/wmemset (configure.ac): ... to here.
14036
14037 2011-05-22  Bruno Haible  <bruno@clisp.org>
14038
14039         wmemmove: Move AC_LIBOBJ invocations to module description.
14040         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14041         here...
14042         * modules/wmemmove (configure.ac): ... to here.
14043
14044 2011-05-22  Bruno Haible  <bruno@clisp.org>
14045
14046         wmemcpy: Move AC_LIBOBJ invocations to module description.
14047         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14048         here...
14049         * modules/wmemcpy (configure.ac): ... to here.
14050
14051 2011-05-22  Bruno Haible  <bruno@clisp.org>
14052
14053         wmemcmp: Move AC_LIBOBJ invocations to module description.
14054         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14055         here...
14056         * modules/wmemcmp (configure.ac): ... to here.
14057
14058 2011-05-22  Bruno Haible  <bruno@clisp.org>
14059
14060         wmemchr: Move AC_LIBOBJ invocations to module description.
14061         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14062         here...
14063         * modules/wmemchr (configure.ac): ... to here.
14064
14065 2011-05-22  Bruno Haible  <bruno@clisp.org>
14066
14067         wcswidth: Move AC_LIBOBJ invocations to module description.
14068         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14069         here...
14070         * modules/wcswidth (configure.ac): ... to here.
14071
14072 2011-05-22  Bruno Haible  <bruno@clisp.org>
14073
14074         wcwidth: Respect rules for use of AC_LIBOBJ.
14075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14076         invocation from here...
14077         * modules/wcwidth (configure.ac): ... to here.
14078         (Depends-on): Update conditions.
14079
14080 2011-05-22  Bruno Haible  <bruno@clisp.org>
14081
14082         wctype: Move AC_LIBOBJ invocations to module description.
14083         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14084         invocation from here...
14085         * modules/wctype (configure.ac): ... to here.
14086         (Depends-on): Update conditions.
14087
14088 2011-05-22  Bruno Haible  <bruno@clisp.org>
14089
14090         wctrans: Move AC_LIBOBJ invocations to module description.
14091         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14092         invocation from here...
14093         * modules/wctrans (configure.ac): ... to here.
14094
14095 2011-05-22  Bruno Haible  <bruno@clisp.org>
14096
14097         wctomb: Move AC_LIBOBJ invocations to module description.
14098         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14099         invocations from here...
14100         * modules/wctomb (configure.ac): ... to here.
14101
14102 2011-05-22  Bruno Haible  <bruno@clisp.org>
14103
14104         wctob: Move AC_LIBOBJ invocations to module description.
14105         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14106         gl_PREREQ_WCTOB invocations from here...
14107         * modules/wctob (configure.ac): ... to here.
14108         (Depends-on): Update conditions.
14109
14110 2011-05-22  Bruno Haible  <bruno@clisp.org>
14111
14112         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14113         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14114         here...
14115         * modules/wcsxfrm (configure.ac): ... to here.
14116
14117 2011-05-22  Bruno Haible  <bruno@clisp.org>
14118
14119         wcstok: Move AC_LIBOBJ invocations to module description.
14120         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14121         * modules/wcstok (configure.ac): ... to here.
14122
14123 2011-05-22  Bruno Haible  <bruno@clisp.org>
14124
14125         wcsstr: Move AC_LIBOBJ invocations to module description.
14126         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14127         * modules/wcsstr (configure.ac): ... to here.
14128
14129 2011-05-22  Bruno Haible  <bruno@clisp.org>
14130
14131         wcsspn: Move AC_LIBOBJ invocations to module description.
14132         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14133         * modules/wcsspn (configure.ac): ... to here.
14134
14135 2011-05-22  Bruno Haible  <bruno@clisp.org>
14136
14137         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14138         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14139         gl_PREREQ_WCSRTOMBS invocations from here...
14140         * modules/wcsrtombs (configure.ac): ... to here.
14141
14142 2011-05-22  Bruno Haible  <bruno@clisp.org>
14143
14144         wcsrchr: Move AC_LIBOBJ invocations to module description.
14145         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14146         here...
14147         * modules/wcsrchr (configure.ac): ... to here.
14148
14149 2011-05-22  Bruno Haible  <bruno@clisp.org>
14150
14151         wcspbrk: Move AC_LIBOBJ invocations to module description.
14152         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14153         here...
14154         * modules/wcspbrk (configure.ac): ... to here.
14155
14156 2011-05-22  Bruno Haible  <bruno@clisp.org>
14157
14158         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14159         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14160         gl_PREREQ_WCSNRTOMBS invocations from here...
14161         * modules/wcsnrtombs (configure.ac): ... to here.
14162
14163 2011-05-22  Bruno Haible  <bruno@clisp.org>
14164
14165         wcsnlen: Move AC_LIBOBJ invocations to module description.
14166         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14167         here...
14168         * modules/wcsnlen (configure.ac): ... to here.
14169
14170 2011-05-22  Bruno Haible  <bruno@clisp.org>
14171
14172         wcsncpy: Move AC_LIBOBJ invocations to module description.
14173         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14174         here...
14175         * modules/wcsncpy (configure.ac): ... to here.
14176
14177 2011-05-22  Bruno Haible  <bruno@clisp.org>
14178
14179         wcsncmp: Move AC_LIBOBJ invocations to module description.
14180         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14181         here...
14182         * modules/wcsncmp (configure.ac): ... to here.
14183
14184 2011-05-22  Bruno Haible  <bruno@clisp.org>
14185
14186         wcsncat: Move AC_LIBOBJ invocations to module description.
14187         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14188         here...
14189         * modules/wcsncat (configure.ac): ... to here.
14190
14191 2011-05-22  Bruno Haible  <bruno@clisp.org>
14192
14193         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14194         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14195         from here...
14196         * modules/wcsncasecmp (configure.ac): ... to here.
14197
14198 2011-05-22  Bruno Haible  <bruno@clisp.org>
14199
14200         wcslen: Move AC_LIBOBJ invocations to module description.
14201         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14202         * modules/wcslen (configure.ac): ... to here.
14203
14204 2011-05-22  Bruno Haible  <bruno@clisp.org>
14205
14206         wcsdup: Move AC_LIBOBJ invocations to module description.
14207         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14208         * modules/wcsdup (configure.ac): ... to here.
14209
14210 2011-05-22  Bruno Haible  <bruno@clisp.org>
14211
14212         wcscspn: Move AC_LIBOBJ invocations to module description.
14213         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14214         here...
14215         * modules/wcscspn (configure.ac): ... to here.
14216
14217 2011-05-22  Bruno Haible  <bruno@clisp.org>
14218
14219         wcscpy: Move AC_LIBOBJ invocations to module description.
14220         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14221         * modules/wcscpy (configure.ac): ... to here.
14222
14223 2011-05-22  Bruno Haible  <bruno@clisp.org>
14224
14225         wcscoll: Move AC_LIBOBJ invocations to module description.
14226         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14227         here...
14228         * modules/wcscoll (configure.ac): ... to here.
14229
14230 2011-05-22  Bruno Haible  <bruno@clisp.org>
14231
14232         wcscmp: Move AC_LIBOBJ invocations to module description.
14233         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
14234         * modules/wcscmp (configure.ac): ... to here.
14235
14236 2011-05-22  Bruno Haible  <bruno@clisp.org>
14237
14238         wcschr: Move AC_LIBOBJ invocations to module description.
14239         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
14240         * modules/wcschr (configure.ac): ... to here.
14241
14242 2011-05-22  Bruno Haible  <bruno@clisp.org>
14243
14244         wcscat: Move AC_LIBOBJ invocations to module description.
14245         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
14246         * modules/wcscat (configure.ac): ... to here.
14247
14248 2011-05-22  Bruno Haible  <bruno@clisp.org>
14249
14250         wcscasecmp: Move AC_LIBOBJ invocations to module description.
14251         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
14252         here...
14253         * modules/wcscasecmp (configure.ac): ... to here.
14254
14255 2011-05-22  Bruno Haible  <bruno@clisp.org>
14256
14257         wcrtomb: Move AC_LIBOBJ invocations to module description.
14258         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14259         invocations from here...
14260         * modules/wcrtomb (configure.ac): ... to here.
14261
14262 2011-05-22  Bruno Haible  <bruno@clisp.org>
14263
14264         wcpncpy: Move AC_LIBOBJ invocations to module description.
14265         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14266         here...
14267         * modules/wcpncpy (configure.ac): ... to here.
14268
14269 2011-05-22  Bruno Haible  <bruno@clisp.org>
14270
14271         wcpcpy: Move AC_LIBOBJ invocations to module description.
14272         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14273         * modules/wcpcpy (configure.ac): ... to here.
14274
14275 2011-05-22  Bruno Haible  <bruno@clisp.org>
14276
14277         waitpid: Move AC_LIBOBJ invocations to module description.
14278         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14279         invocation from here...
14280         * modules/waitpid (configure.ac): ... to here.
14281
14282 2011-05-22  Bruno Haible  <bruno@clisp.org>
14283
14284         utimensat: Move AC_LIBOBJ invocations to module description.
14285         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14286         here...
14287         * modules/utimensat (configure.ac): ... to here.
14288
14289 2011-05-22  Bruno Haible  <bruno@clisp.org>
14290
14291         usleep: Move AC_LIBOBJ invocations to module description.
14292         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14293         here...
14294         * modules/usleep (configure.ac): ... to here.
14295
14296 2011-05-22  Bruno Haible  <bruno@clisp.org>
14297
14298         unlockpt: Move AC_LIBOBJ invocations to module description.
14299         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14300         gl_PREREQ_UNLOCKPT invocations from here...
14301         * modules/unlockpt (configure.ac): ... to here.
14302
14303 2011-05-22  Bruno Haible  <bruno@clisp.org>
14304
14305         unlink: Respect rules for use of AC_LIBOBJ.
14306         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14307         * modules/unlink (configure.ac): ... to here.
14308
14309 2011-05-22  Bruno Haible  <bruno@clisp.org>
14310
14311         uname: Move AC_LIBOBJ invocations to module description.
14312         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14313         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14314         here...
14315         * modules/uname (configure.ac): ... to here.
14316
14317 2011-05-22  Bruno Haible  <bruno@clisp.org>
14318
14319         ttyname_r: Move AC_LIBOBJ invocations to module description.
14320         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14321         gl_PREREQ_TTYNAME_R invocations from here...
14322         * modules/ttyname_r (configure.ac): ... to here.
14323
14324 2011-05-22  Bruno Haible  <bruno@clisp.org>
14325
14326         tsearch: Move AC_LIBOBJ invocations to module description.
14327         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14328         invocations from here...
14329         * modules/tsearch (configure.ac): ... to here.
14330
14331 2011-05-22  Bruno Haible  <bruno@clisp.org>
14332
14333         towctrans: Move AC_LIBOBJ invocations to module description.
14334         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14335         AC_LIBOBJ invocation from here...
14336         * modules/towctrans (configure.ac): ... to here.
14337
14338 2011-05-22  Bruno Haible  <bruno@clisp.org>
14339
14340         tmpfile: Move AC_LIBOBJ invocations to module description.
14341         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14342         invocations from here...
14343         * modules/tmpfile (configure.ac): ... to here.
14344
14345 2011-05-22  Bruno Haible  <bruno@clisp.org>
14346
14347         times: Move AC_LIBOBJ invocations to module description.
14348         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14349         * modules/times (configure.ac): ... to here.
14350
14351 2011-05-22  Bruno Haible  <bruno@clisp.org>
14352
14353         time_r: Move AC_LIBOBJ invocations to module description.
14354         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14355         invocations from here...
14356         * modules/time_r (configure.ac): ... to here.
14357
14358 2011-05-22  Bruno Haible  <bruno@clisp.org>
14359
14360         timegm: Move AC_LIBOBJ invocations to module description.
14361         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14362         invocations from here...
14363         * modules/timegm (configure.ac): ... to here.
14364
14365 2011-05-22  Bruno Haible  <bruno@clisp.org>
14366
14367         tcgetsid: Move AC_LIBOBJ invocations to module description.
14368         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14369         and gl_PREREQ_TCGETSID invocations from here...
14370         * modules/tcgetsid (configure.ac): ... to here.
14371         (Depends-on): Update conditions.
14372
14373 2011-05-22  Bruno Haible  <bruno@clisp.org>
14374
14375         symlinkat: Move AC_LIBOBJ invocations to module description.
14376         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14377         here...
14378         * modules/symlinkat (configure.ac): ... to here.
14379
14380 2011-05-22  Bruno Haible  <bruno@clisp.org>
14381
14382         symlink: Move AC_LIBOBJ invocations to module description.
14383         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14384         here...
14385         * modules/symlink (configure.ac): ... to here.
14386
14387 2011-05-22  Bruno Haible  <bruno@clisp.org>
14388
14389         strverscmp: Move AC_LIBOBJ invocations to module description.
14390         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14391         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14392         from here...
14393         * modules/strverscmp (configure.ac): ... to here.
14394
14395 2011-05-22  Bruno Haible  <bruno@clisp.org>
14396
14397         strtok_r: Move AC_LIBOBJ invocations to module description.
14398         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14399         and gl_PREREQ_STRTOK_R invocations from here...
14400         * modules/strtok_r (configure.ac): ... to here.
14401         (Depends-on): Update conditions.
14402
14403 2011-05-22  Bruno Haible  <bruno@clisp.org>
14404
14405         strtoumax: Move AC_LIBOBJ invocations to module description.
14406         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14407         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14408         from here...
14409         * modules/strtoumax (configure.ac): ... to here.
14410
14411 2011-05-22  Bruno Haible  <bruno@clisp.org>
14412
14413         strtoimax: Move AC_LIBOBJ invocations to module description.
14414         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14416         from here...
14417         * modules/strtoimax (configure.ac): ... to here.
14418
14419 2011-05-22  Bruno Haible  <bruno@clisp.org>
14420
14421         strtoull: Move AC_LIBOBJ invocations to module description.
14422         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14423         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14424         from here...
14425         * modules/strtoull (configure.ac): ... to here.
14426
14427 2011-05-22  Bruno Haible  <bruno@clisp.org>
14428
14429         strtoll: Move AC_LIBOBJ invocations to module description.
14430         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14431         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14432         here...
14433         * modules/strtoll (configure.ac): ... to here.
14434
14435 2011-05-22  Bruno Haible  <bruno@clisp.org>
14436
14437         strtoul: Move AC_LIBOBJ invocations to module description.
14438         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14439         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14440         * modules/strtoul (configure.ac): ... to here.
14441
14442 2011-05-22  Bruno Haible  <bruno@clisp.org>
14443
14444         strtol: Move AC_LIBOBJ invocations to module description.
14445         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14446         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14447         * modules/strtol (configure.ac): ... to here.
14448
14449 2011-05-22  Bruno Haible  <bruno@clisp.org>
14450
14451         strtod: Move AC_LIBOBJ invocations to module description.
14452         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14453         invocations from here...
14454         * modules/strtod (configure.ac): ... to here.
14455
14456 2011-05-22  Bruno Haible  <bruno@clisp.org>
14457
14458         strstr*: Move AC_LIBOBJ invocations to module description.
14459         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14460         invocations from here...
14461         * modules/strstr-simple (configure.ac): ... to here.
14462         * modules/strstr (configure.ac): ... and here.
14463
14464 2011-05-22  Bruno Haible  <bruno@clisp.org>
14465
14466         strsignal: Move AC_LIBOBJ invocations to module description.
14467         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14468         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14469         * modules/strsignal (configure.ac): ... to here.
14470         (Depends-on): Update conditions.
14471
14472 2011-05-22  Bruno Haible  <bruno@clisp.org>
14473
14474         strsep: Move AC_LIBOBJ invocations to module description.
14475         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14476         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14477         here...
14478         * modules/strsep (configure.ac): ... to here.
14479
14480 2011-05-22  Bruno Haible  <bruno@clisp.org>
14481
14482         strptime: Move AC_LIBOBJ invocations to module description.
14483         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14484         gl_PREREQ_STRPTIME invocations from here...
14485         * modules/strptime (configure.ac): ... to here.
14486
14487 2011-05-22  Bruno Haible  <bruno@clisp.org>
14488
14489         strpbrk: Move AC_LIBOBJ invocations to module description.
14490         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14491         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14492         here...
14493         * modules/strpbrk (configure.ac): ... to here.
14494
14495 2011-05-22  Bruno Haible  <bruno@clisp.org>
14496
14497         strnlen: Move AC_LIBOBJ invocations to module description.
14498         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14499         invocations from here...
14500         * modules/strnlen (configure.ac): ... to here.
14501
14502 2011-05-22  Bruno Haible  <bruno@clisp.org>
14503
14504         strndup: Move AC_LIBOBJ invocations to module description.
14505         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14506         invocations from here...
14507         * modules/strndup (configure.ac): ... to here.
14508         (Depends-on): Update conditions.
14509
14510 2011-05-22  Bruno Haible  <bruno@clisp.org>
14511
14512         strncat: Move AC_LIBOBJ invocations to module description.
14513         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14514         invocations from here...
14515         * modules/strncat (configure.ac): ... to here.
14516
14517 2011-05-22  Bruno Haible  <bruno@clisp.org>
14518
14519         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14520         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14521         invocations from here...
14522         * modules/strdup (configure.ac): ... to here.
14523         * modules/strdup-posix (configure.ac): ... and here.
14524
14525 2011-05-22  Bruno Haible  <bruno@clisp.org>
14526
14527         strcspn: Move AC_LIBOBJ invocations to module description.
14528         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14530         here...
14531         * modules/strcspn (configure.ac): ... to here.
14532
14533 2011-05-22  Bruno Haible  <bruno@clisp.org>
14534
14535         strchrnul: Move AC_LIBOBJ invocations to module description.
14536         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14537         gl_PREREQ_STRCHRNUL invocations from here...
14538         * modules/strchrnul (configure.ac): ... to here.
14539
14540 2011-05-22  Bruno Haible  <bruno@clisp.org>
14541
14542         strcasestr*: Move AC_LIBOBJ invocations to module description.
14543         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14544         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14545         * modules/strcasestr-simple (configure.ac): ... to here.
14546         * modules/strcasestr (configure.ac): ... and here.
14547
14548 2011-05-22  Bruno Haible  <bruno@clisp.org>
14549
14550         strcase: Move AC_LIBOBJ invocations to module description.
14551         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14552         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14553         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14554         gl_PREREQ_STRNCASECMP invocations from here...
14555         * modules/strcase (configure.ac): ... to here.
14556
14557 2011-05-22  Bruno Haible  <bruno@clisp.org>
14558
14559         stpncpy: Move AC_LIBOBJ invocations to module description.
14560         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14561         here...
14562         * modules/stpncpy (configure.ac): ... to here.
14563
14564 2011-05-22  Bruno Haible  <bruno@clisp.org>
14565
14566         stpcpy: Move AC_LIBOBJ invocations to module description.
14567         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
14568         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
14569         here...
14570         * modules/stpcpy (configure.ac): ... to here.
14571
14572 2011-05-21  Bruno Haible  <bruno@clisp.org>
14573
14574         stat: Move AC_LIBOBJ invocations to module description.
14575         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
14576         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
14577         here...
14578         * modules/stat (configure.ac): ... to here.
14579
14580 2011-05-21  Bruno Haible  <bruno@clisp.org>
14581
14582         sleep: Move AC_LIBOBJ invocations to module description.
14583         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
14584         * modules/sleep (configure.ac): ... to here.
14585
14586 2011-05-21  Bruno Haible  <bruno@clisp.org>
14587
14588         signbit: Move AC_LIBOBJ invocations to module description.
14589         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
14590         * modules/signbit (configure.ac): ... to here.
14591
14592 2011-05-21  Bruno Haible  <bruno@clisp.org>
14593
14594         sigprocmask: Move AC_LIBOBJ invocations to module description.
14595         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
14596         gl_PREREQ_SIGPROMASK invocations from here...
14597         * modules/sigprocmask (configure.ac): ... to here.
14598
14599 2011-05-21  Bruno Haible  <bruno@clisp.org>
14600
14601         sigaction: Move AC_LIBOBJ invocations to module description.
14602         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
14603         gl_PREREQ_SIGACTION invocations from here...
14604         * modules/sigaction (configure.ac): ... to here.
14605
14606 2011-05-21  Bruno Haible  <bruno@clisp.org>
14607
14608         sig2str: Move AC_LIBOBJ invocations to module description.
14609         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
14610         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
14611         here...
14612         * modules/sig2str (configure.ac): ... to here.
14613
14614 2011-05-21  Bruno Haible  <bruno@clisp.org>
14615
14616         setlocale: Move AC_LIBOBJ invocations to module description.
14617         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
14618         gl_PREREQ_SETLOCALE invocations from here...
14619         * modules/setlocale (configure.ac): ... to here.
14620
14621 2011-05-21  Bruno Haible  <bruno@clisp.org>
14622
14623         unsetenv: Move AC_LIBOBJ invocations to module description.
14624         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
14625         and gl_PREREQ_UNSETENV invocations from here...
14626         * modules/unsetenv (configure.ac): ... to here.
14627         (Depends-on): Update.
14628
14629 2011-05-21  Bruno Haible  <bruno@clisp.org>
14630
14631         setenv: Move AC_LIBOBJ invocations to module description.
14632         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
14633         here...
14634         * modules/setenv (configure.ac): ... to here.
14635
14636 2011-05-21  Bruno Haible  <bruno@clisp.org>
14637
14638         selinux-h: Move AC_LIBOBJ invocations to module description.
14639         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
14640         AC_LIBOBJ invocation from here...
14641         * modules/selinux-h (configure.ac): ... to here.
14642
14643 2011-05-21  Bruno Haible  <bruno@clisp.org>
14644
14645         select: Respect rules for use of AC_LIBOBJ.
14646         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
14647         here...
14648         * modules/select (configure.ac): ... to here.
14649
14650 2011-05-21  Bruno Haible  <bruno@clisp.org>
14651
14652         scandir: Move AC_LIBOBJ invocations to module description.
14653         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
14654         invocations from here...
14655         * modules/scandir (configure.ac): ... to here.
14656
14657 2011-05-21  Bruno Haible  <bruno@clisp.org>
14658
14659         rpmatch: Move AC_LIBOBJ invocations to module description.
14660         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
14661         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
14662         here...
14663         * modules/rpmatch (configure.ac): ... to here.
14664
14665 2011-05-21  Bruno Haible  <bruno@clisp.org>
14666
14667         rmdir: Respect rules for use of AC_LIBOBJ.
14668         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
14669         * modules/rmdir (configure.ac): ... to here.
14670
14671 2011-05-21  Bruno Haible  <bruno@clisp.org>
14672
14673         renameat: Move AC_LIBOBJ invocations to module description.
14674         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
14675         here...
14676         * modules/renameat (configure.ac): ... to here.
14677
14678 2011-05-21  Bruno Haible  <bruno@clisp.org>
14679
14680         rename: Respect rules for use of AC_LIBOBJ.
14681         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
14682         here...
14683         * modules/rename (configure.ac): ... to here.
14684
14685 2011-05-21  Bruno Haible  <bruno@clisp.org>
14686
14687         remove: Move AC_LIBOBJ invocations to module description.
14688         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
14689         here...
14690         * modules/remove (configure.ac): ... to here.
14691
14692 2011-05-21  Bruno Haible  <bruno@clisp.org>
14693
14694         relocatable-lib: Move AC_LIBOBJ invocations to module description.
14695         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
14696         macro.
14697         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
14698         * modules/relocatable-lib (configure.ac): ... to here.
14699         * modules/relocatable-prog-wrapper (configure.ac): Invoke
14700         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
14701
14702 2011-05-21  Bruno Haible  <bruno@clisp.org>
14703
14704         relocatable-prog: Move AC_LIBOBJ invocations to module description.
14705         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
14706         here...
14707         * modules/relocatable-prog (configure.ac): ... to here.
14708
14709 2011-05-21  Bruno Haible  <bruno@clisp.org>
14710
14711         regex: Move AC_LIBOBJ invocations to module description.
14712         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
14713         invocations from here...
14714         * modules/regex (configure.ac): ... to here.
14715
14716 2011-05-21  Bruno Haible  <bruno@clisp.org>
14717
14718         realloc-*: Move AC_LIBOBJ invocations to module description.
14719         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
14720         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
14721         AC_LIBOBJ invocations from here...
14722         * modules/realloc-gnu (configure.ac): ... to here.
14723         * modules/realloc-posix (configure.ac): ... and here.
14724
14725 2011-05-21  Bruno Haible  <bruno@clisp.org>
14726
14727         readutmp: Move AC_LIBOBJ invocations to module description.
14728         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
14729         * modules/readutmp (configure.ac): ... to here.
14730
14731 2011-05-21  Bruno Haible  <bruno@clisp.org>
14732
14733         readlinkat: Move AC_LIBOBJ invocations to module description.
14734         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
14735         here...
14736         * modules/readlinkat (configure.ac): ... to here.
14737
14738 2011-05-21  Bruno Haible  <bruno@clisp.org>
14739
14740         readlink: Move AC_LIBOBJ invocations to module description.
14741         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
14742         gl_PREREQ_READLINK invocations from here...
14743         * modules/readlink (configure.ac): ... to here.
14744
14745 2011-05-21  Bruno Haible  <bruno@clisp.org>
14746
14747         readline: Move AC_LIBOBJ invocations to module description.
14748         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
14749         gl_PREREQ_READLINE invocations from here...
14750         * modules/readline (configure.ac): ... to here.
14751
14752 2011-05-21  Bruno Haible  <bruno@clisp.org>
14753
14754         read: Move AC_LIBOBJ invocations to module description.
14755         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
14756         * modules/read (configure.ac): ... to here.
14757
14758 2011-05-21  Bruno Haible  <bruno@clisp.org>
14759
14760         rawmemchr: Move AC_LIBOBJ invocations to module description.
14761         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
14762         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
14763         from here...
14764         * modules/rawmemchr (configure.ac): ... to here.
14765
14766 2011-05-21  Bruno Haible  <bruno@clisp.org>
14767
14768         random_r: Move AC_LIBOBJ invocations to module description.
14769         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14770         gl_PREREQ_RANDOM_R invocations from here...
14771         * modules/random_r (configure.ac): ... to here.
14772
14773 2011-05-21  Bruno Haible  <bruno@clisp.org>
14774
14775         pwrite: Move AC_LIBOBJ invocations to module description.
14776         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14777         * modules/pwrite (configure.ac): ... to here.
14778
14779 2011-05-21  Bruno Haible  <bruno@clisp.org>
14780
14781         putenv: Move AC_LIBOBJ invocations to module description.
14782         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14783         * modules/putenv (configure.ac): ... to here.
14784
14785 2011-05-21  Bruno Haible  <bruno@clisp.org>
14786
14787         login_tty: Move AC_LIBOBJ invocations to module description.
14788         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14789         * modules/login_tty (configure.ac): ... to here.
14790
14791 2011-05-21  Bruno Haible  <bruno@clisp.org>
14792
14793         openpty: Move AC_LIBOBJ invocations to module description.
14794         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14795         * modules/openpty (configure.ac): ... to here.
14796
14797 2011-05-21  Bruno Haible  <bruno@clisp.org>
14798
14799         forkpty: Move AC_LIBOBJ invocations to module description.
14800         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14801         * modules/forkpty (configure.ac): ... to here.
14802
14803 2011-05-21  Bruno Haible  <bruno@clisp.org>
14804
14805         ptsname: Move AC_LIBOBJ invocations to module description.
14806         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14807         invocations from here...
14808         * modules/ptsname (configure.ac): ... to here.
14809
14810 2011-05-21  Bruno Haible  <bruno@clisp.org>
14811
14812         pread: Move AC_LIBOBJ invocations to module description.
14813         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14814         * modules/pread (configure.ac): ... to here.
14815
14816 2011-05-21  Bruno Haible  <bruno@clisp.org>
14817
14818         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14819         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14820         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14821         * modules/posix_spawn (configure.ac): ... to here.
14822         * modules/posix_spawnp (configure.ac): ... and here.
14823
14824 2011-05-21  Bruno Haible  <bruno@clisp.org>
14825
14826         popen: Move AC_LIBOBJ invocations to module description.
14827         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14828         invocations from here...
14829         * modules/popen (configure.ac): ... to here.
14830
14831 2011-05-21  Bruno Haible  <bruno@clisp.org>
14832
14833         poll: Move AC_LIBOBJ invocations to module description.
14834         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14835         invocations from here...
14836         * modules/poll (configure.ac): ... to here.
14837
14838 2011-05-21  Bruno Haible  <bruno@clisp.org>
14839
14840         pipe-posix: Move AC_LIBOBJ invocations to module description.
14841         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14842         * modules/pipe-posix (configure.ac): ... to here.
14843
14844 2011-05-21  Bruno Haible  <bruno@clisp.org>
14845
14846         openat: Respect rules for use of AC_LIBOBJ.
14847         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14848         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14849         * modules/openat (configure.ac): ... to here.
14850
14851 2011-05-21  Bruno Haible  <bruno@clisp.org>
14852
14853         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14854         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14855         invocation from here...
14856         * modules/obstack-printf (configure.ac): ... to here.
14857         * modules/obstack-printf-posix (configure.ac): ... and here.
14858
14859 2011-05-21  Bruno Haible  <bruno@clisp.org>
14860
14861         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14862         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14863         from here...
14864         * modules/nl_langinfo (configure.ac): ... to here.
14865
14866 2011-05-21  Bruno Haible  <bruno@clisp.org>
14867
14868         nanosleep: Move AC_LIBOBJ invocations to module description.
14869         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14870         gl_PREREQ_NANOSLEEP invocations from here...
14871         * modules/nanosleep (configure.ac): ... to here.
14872
14873 2011-05-21  Bruno Haible  <bruno@clisp.org>
14874
14875         mountlist: Move AC_LIBOBJ invocations to module description.
14876         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14877         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14878         * modules/mountlist (configure.ac): ... to here.
14879
14880 2011-05-21  Bruno Haible  <bruno@clisp.org>
14881
14882         mktime: Respect rules for use of AC_LIBOBJ.
14883         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14884         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14885         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14886         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14887         * modules/mktime (configure.ac): ... to here.
14888         * modules/mktime-internal (configure.ac): ... and here.
14889         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14890
14891 2011-05-21  Bruno Haible  <bruno@clisp.org>
14892
14893         mkstemps: Move AC_LIBOBJ invocations to module description.
14894         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14895         here...
14896         * modules/mkstemps (configure.ac): ... to here.
14897
14898 2011-05-21  Bruno Haible  <bruno@clisp.org>
14899
14900         mkstemp: Move AC_LIBOBJ invocations to module description.
14901         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14902         gl_PREREQ_MKSTEMP invocations from here...
14903         * modules/mkstemp (configure.ac): ... to here.
14904
14905 2011-05-21  Bruno Haible  <bruno@clisp.org>
14906
14907         mkostemps: Move AC_LIBOBJ invocations to module description.
14908         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14909         here...
14910         * modules/mkostemps (configure.ac): ... to here.
14911
14912 2011-05-21  Bruno Haible  <bruno@clisp.org>
14913
14914         mkostemp: Move AC_LIBOBJ invocations to module description.
14915         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14916         gl_PREREQ_MKOSTEMP invocations from here...
14917         * modules/mkostemp (configure.ac): ... to here.
14918
14919 2011-05-21  Bruno Haible  <bruno@clisp.org>
14920
14921         mknod: Move AC_LIBOBJ invocations to module description.
14922         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14923         * modules/mknod (configure.ac): ... to here.
14924
14925 2011-05-21  Bruno Haible  <bruno@clisp.org>
14926
14927         mkfifoat: Move AC_LIBOBJ invocations to module description.
14928         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14929         here...
14930         * modules/mkfifoat (configure.ac): ... to here.
14931
14932 2011-05-21  Bruno Haible  <bruno@clisp.org>
14933
14934         mkfifo: Respect rules for use of AC_LIBOBJ.
14935         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14936         here...
14937         * modules/mkfifo (configure.ac): ... to here.
14938
14939 2011-05-21  Bruno Haible  <bruno@clisp.org>
14940
14941         mkdtemp: Move AC_LIBOBJ invocations to module description.
14942         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14943         invocations from here...
14944         * modules/mkdtemp (configure.ac): ... to here.
14945
14946 2011-05-21  Bruno Haible  <bruno@clisp.org>
14947
14948         mkdir: Move AC_LIBOBJ invocations to module description.
14949         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14950         * modules/mkdir (configure.ac): ... to here.
14951
14952 2011-05-21  Bruno Haible  <bruno@clisp.org>
14953
14954         memset: Move AC_LIBOBJ invocations to module description.
14955         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14956         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14957         here...
14958         * modules/memset (configure.ac): ... to here.
14959
14960 2011-05-21  Bruno Haible  <bruno@clisp.org>
14961
14962         memrchr: Move AC_LIBOBJ invocations to module description.
14963         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14964         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14965         here...
14966         * modules/memrchr (configure.ac): ... to here.
14967
14968 2011-05-21  Bruno Haible  <bruno@clisp.org>
14969
14970         mempcpy: Move AC_LIBOBJ invocations to module description.
14971         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14972         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14973         here...
14974         * modules/mempcpy (configure.ac): ... to here.
14975
14976 2011-05-21  Bruno Haible  <bruno@clisp.org>
14977
14978         memmove: Move AC_LIBOBJ invocations to module description.
14979         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14980         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14981         here...
14982         * modules/memmove (configure.ac): ... to here.
14983
14984 2011-05-21  Bruno Haible  <bruno@clisp.org>
14985
14986         memmem*: Move AC_LIBOBJ invocations to module description.
14987         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14988         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14989         here...
14990         (gl_FUNC_MEMMEM): ... and here...
14991         * modules/memmem-simple (configure.ac): ... to here.
14992         * modules/memmem (configure.ac): ... and here.
14993
14994 2011-05-21  Bruno Haible  <bruno@clisp.org>
14995
14996         memcpy: Move AC_LIBOBJ invocations to module description.
14997         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14998         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14999         here...
15000         * modules/memcpy (configure.ac): ... to here.
15001
15002 2011-05-21  Bruno Haible  <bruno@clisp.org>
15003
15004         memcmp: Simplify autoconf macro.
15005         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15006         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15007         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15008
15009 2011-05-21  Bruno Haible  <bruno@clisp.org>
15010
15011         memcmp: Move AC_LIBOBJ invocations to module description.
15012         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15013         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15014         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15015         * modules/memcmp (configure.ac): ... to here.
15016         (Depends-on): Update conditions.
15017
15018 2011-05-21  Bruno Haible  <bruno@clisp.org>
15019
15020         memchr: Respect rules for use of AC_LIBOBJ.
15021         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15022         invocations from here...
15023         * modules/memchr (configure.ac): ... to here.
15024
15025 2011-05-21  Bruno Haible  <bruno@clisp.org>
15026
15027         mbtowc: Move AC_LIBOBJ invocations to module description.
15028         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15029         invocations from here...
15030         * modules/mbtowc (configure.ac): ... to here.
15031
15032 2011-05-21  Bruno Haible  <bruno@clisp.org>
15033
15034         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15035         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15036         gl_PREREQ_MBSRTOWCS invocations from here...
15037         * modules/mbsrtowcs (configure.ac): ... to here.
15038
15039 2011-05-21  Bruno Haible  <bruno@clisp.org>
15040
15041         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15042         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15043         gl_PREREQ_MBSNRTOWCS invocations from here...
15044         * modules/mbsnrtowcs (configure.ac): ... to here.
15045
15046 2011-05-21  Bruno Haible  <bruno@clisp.org>
15047
15048         mbsinit: Move AC_LIBOBJ invocations to module description.
15049         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15050         invocations from here...
15051         * modules/mbsinit (configure.ac): ... to here.
15052
15053 2011-05-21  Bruno Haible  <bruno@clisp.org>
15054
15055         mbrlen: Move AC_LIBOBJ invocations to module description.
15056         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15057         invocations from here...
15058         * modules/mbrlen (configure.ac): ... to here.
15059
15060 2011-05-21  Bruno Haible  <bruno@clisp.org>
15061
15062         mbrtowc: Respect rules for use of AC_LIBOBJ.
15063         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15064         invocations from here...
15065         * modules/mbrtowc (configure.ac): ... to here.
15066
15067 2011-05-21  Bruno Haible  <bruno@clisp.org>
15068
15069         malloc-*: Move AC_LIBOBJ invocations to module description.
15070         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15071         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15072         AC_LIBOBJ invocations from here...
15073         * modules/malloc-gnu (configure.ac): ... to here.
15074         * modules/malloc-posix (configure.ac): ... and here.
15075
15076 2011-05-21  Bruno Haible  <bruno@clisp.org>
15077
15078         lstat, openat: Respect rules for use of AC_LIBOBJ.
15079         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15080         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15081         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15082         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15083         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15084         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15085         here.
15086         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15087
15088 2011-05-21  Bruno Haible  <bruno@clisp.org>
15089
15090         lseek: Move AC_LIBOBJ invocations to module description.
15091         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15092         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15093         * modules/lseek (configure.ac): ... to here.
15094
15095 2011-05-21  Bruno Haible  <bruno@clisp.org>
15096
15097         linkat: Move AC_LIBOBJ invocations to module description.
15098         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15099         here...
15100         * modules/linkat (configure.ac): ... to here.
15101
15102 2011-05-21  Bruno Haible  <bruno@clisp.org>
15103
15104         link: Respect rules for use of AC_LIBOBJ.
15105         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15106         * modules/link (configure.ac): ... to here.
15107
15108 2011-05-21  Bruno Haible  <bruno@clisp.org>
15109
15110         lchown: Move AC_LIBOBJ invocations to module description.
15111         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15112         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15113         * modules/lchown (configure.ac): ... to here.
15114
15115 2011-05-21  Bruno Haible  <bruno@clisp.org>
15116
15117         iswctype: Move AC_LIBOBJ invocations to module description.
15118         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15119         here...
15120         * modules/iswctype (configure.ac): ... to here.
15121
15122 2011-05-21  Bruno Haible  <bruno@clisp.org>
15123
15124         iswblank: Move AC_LIBOBJ invocations to module description.
15125         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15126         here...
15127         * modules/iswblank (configure.ac): ... to here.
15128
15129 2011-05-21  Bruno Haible  <bruno@clisp.org>
15130
15131         atanl: Move AC_LIBOBJ invocations to module description.
15132         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15133         * modules/atanl (configure.ac): ... to here.
15134
15135 2011-05-21  Bruno Haible  <bruno@clisp.org>
15136
15137         acosl: Move AC_LIBOBJ invocations to module description.
15138         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15139         * modules/acosl (configure.ac): ... to here.
15140
15141 2011-05-21  Bruno Haible  <bruno@clisp.org>
15142
15143         asinl: Respect rules for use of AC_LIBOBJ.
15144         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15145         * modules/asinl (configure.ac): ... to here.
15146
15147 2011-05-21  Bruno Haible  <bruno@clisp.org>
15148
15149         tanl: Move AC_LIBOBJ invocations to module description.
15150         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15151         * modules/tanl (configure.ac): ... to here.
15152
15153 2011-05-21  Bruno Haible  <bruno@clisp.org>
15154
15155         cosl: Move AC_LIBOBJ invocations to module description.
15156         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15157         * modules/cosl (configure.ac): ... to here.
15158
15159 2011-05-21  Bruno Haible  <bruno@clisp.org>
15160
15161         sinl: Move AC_LIBOBJ invocations to module description.
15162         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15163         * modules/sinl (configure.ac): ... to here.
15164
15165 2011-05-21  Bruno Haible  <bruno@clisp.org>
15166
15167         logl: Move AC_LIBOBJ invocations to module description.
15168         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15169         * modules/logl (configure.ac): ... to here.
15170
15171 2011-05-21  Bruno Haible  <bruno@clisp.org>
15172
15173         expl: Move AC_LIBOBJ invocations to module description.
15174         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15175         * modules/expl (configure.ac): ... to here.
15176
15177 2011-05-21  Bruno Haible  <bruno@clisp.org>
15178
15179         roundl: Move AC_LIBOBJ invocations to module description.
15180         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15181         * modules/roundl (configure.ac): ... to here.
15182
15183 2011-05-21  Bruno Haible  <bruno@clisp.org>
15184
15185         round: Move AC_LIBOBJ invocations to module description.
15186         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15187         * modules/round (configure.ac): ... to here.
15188
15189 2011-05-21  Bruno Haible  <bruno@clisp.org>
15190
15191         roundf: Move AC_LIBOBJ invocations to module description.
15192         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15193         * modules/roundf (configure.ac): ... to here.
15194
15195 2011-05-21  Bruno Haible  <bruno@clisp.org>
15196
15197         truncl: Move AC_LIBOBJ invocations to module description.
15198         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15199         * modules/truncl (configure.ac): ... to here.
15200
15201 2011-05-21  Bruno Haible  <bruno@clisp.org>
15202
15203         trunc: Move AC_LIBOBJ invocations to module description.
15204         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15205         * modules/trunc (configure.ac): ... to here.
15206
15207 2011-05-21  Bruno Haible  <bruno@clisp.org>
15208
15209         truncf: Move AC_LIBOBJ invocations to module description.
15210         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15211         * modules/truncf (configure.ac): ... to here.
15212
15213 2011-05-21  Bruno Haible  <bruno@clisp.org>
15214
15215         ceill: Move AC_LIBOBJ invocations to module description.
15216         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15217         * modules/ceill (configure.ac): ... to here.
15218
15219 2011-05-21  Bruno Haible  <bruno@clisp.org>
15220
15221         ceil: Move AC_LIBOBJ invocations to module description.
15222         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15223         * modules/ceil (configure.ac): ... to here.
15224
15225 2011-05-21  Bruno Haible  <bruno@clisp.org>
15226
15227         ceilf: Move AC_LIBOBJ invocations to module description.
15228         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15229         * modules/ceilf (configure.ac): ... to here.
15230
15231 2011-05-21  Bruno Haible  <bruno@clisp.org>
15232
15233         floorl: Respect rules for use of AC_LIBOBJ.
15234         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
15235         * modules/floorl (configure.ac): ... to here.
15236
15237 2011-05-21  Bruno Haible  <bruno@clisp.org>
15238
15239         floor: Respect rules for use of AC_LIBOBJ.
15240         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
15241         * modules/floor (configure.ac): ... to here.
15242
15243 2011-05-21  Bruno Haible  <bruno@clisp.org>
15244
15245         floorf: Move AC_LIBOBJ invocations to module description.
15246         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
15247         * modules/floorf (configure.ac): ... to here.
15248
15249 2011-05-20  Bruno Haible  <bruno@clisp.org>
15250
15251         sqrtl: Respect rules for use of AC_LIBOBJ.
15252         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
15253         * modules/sqrtl (configure.ac): ... to here.
15254
15255 2011-05-20  Bruno Haible  <bruno@clisp.org>
15256
15257         ldexpl: Respect rules for use of AC_LIBOBJ.
15258         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15259         * modules/ldexpl (configure.ac): ... to here.
15260
15261 2011-05-20  Bruno Haible  <bruno@clisp.org>
15262
15263         frexpl*: Respect rules for use of AC_LIBOBJ.
15264         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15265         invocation from here...
15266         * modules/frexpl (configure.ac): ... to here.
15267         * modules/frexpl-nolibm (configure.ac): ... and here.
15268
15269 2011-05-20  Bruno Haible  <bruno@clisp.org>
15270
15271         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15272         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15273         invocation from here...
15274         * modules/frexp (configure.ac): ... to here.
15275         * modules/frexp-nolibm (configure.ac): ... and here.
15276
15277 2011-05-20  Bruno Haible  <bruno@clisp.org>
15278
15279         isnan: Respect rules for use of AC_LIBOBJ.
15280         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15281         invocations here.
15282         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15283         REPLACE_ISNAN.
15284         * modules/isnand (configure.ac): Likewise.
15285         * modules/isnanl (configure.ac): Likewise.
15286
15287 2011-05-20  Bruno Haible  <bruno@clisp.org>
15288
15289         isnanl*: Respect rules for use of AC_LIBOBJ.
15290         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15291         invocation from here...
15292         * modules/isnanl (configure.ac): ... to here.
15293         * modules/isnanl-nolibm (configure.ac): ... and here.
15294
15295 2011-05-20  Bruno Haible  <bruno@clisp.org>
15296
15297         isnand*: Move AC_LIBOBJ invocations to module description.
15298         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15299         invocation from here...
15300         * modules/isnand (configure.ac): ... to here.
15301         * modules/isnand-nolibm (configure.ac): ... and here.
15302
15303 2011-05-20  Bruno Haible  <bruno@clisp.org>
15304
15305         isnanf*: Move AC_LIBOBJ invocations to module description.
15306         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15307         invocation from here...
15308         * modules/isnanf (configure.ac): ... to here.
15309         * modules/isnanf-nolibm (configure.ac): ... and here.
15310
15311 2011-05-20  Bruno Haible  <bruno@clisp.org>
15312
15313         isnan*: Separate the AC_LIBOBJ invocations.
15314         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15315         AC_LIBOBJ invocation.
15316         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15317         here.
15318         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15319         AC_LIBOBJ invocation.
15320         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15321         here.
15322         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15323         AC_LIBOBJ invocation.
15324         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15325         here.
15326         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15327
15328 2011-05-08  Bruno Haible  <bruno@clisp.org>
15329
15330         isinf: Move AC_LIBOBJ invocations to module description.
15331         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15332         * modules/isinf (configure.ac): ... to here.
15333
15334 2011-05-08  Bruno Haible  <bruno@clisp.org>
15335
15336         isfinite: Move AC_LIBOBJ invocations to module description.
15337         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15338         * modules/isfinite (configure.ac): ... to here.
15339
15340 2011-05-08  Bruno Haible  <bruno@clisp.org>
15341
15342         isblank: Move AC_LIBOBJ invocations to module description.
15343         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15344         here...
15345         * modules/isblank (configure.ac): ... to here.
15346
15347 2011-05-08  Bruno Haible  <bruno@clisp.org>
15348
15349         isapipe: Move AC_LIBOBJ invocations to module description.
15350         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15351         gl_PREREQ_ISAPIPE invocations from here...
15352         * modules/isapipe (configure.ac): ... to here.
15353         (Depends-on): Update condition.
15354
15355 2011-05-08  Bruno Haible  <bruno@clisp.org>
15356
15357         ioctl: Move AC_LIBOBJ invocations to module description.
15358         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15359         invocations from here...
15360         * modules/ioctl (configure.ac): ... to here.
15361         (Depends-on): Update condition.
15362
15363 2011-05-08  Bruno Haible  <bruno@clisp.org>
15364
15365         imaxdiv: Move AC_LIBOBJ invocations to module description.
15366         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15367         invocations from here...
15368         * modules/imaxdiv (configure.ac): ... to here.
15369
15370 2011-05-08  Bruno Haible  <bruno@clisp.org>
15371
15372         imaxabs: Move AC_LIBOBJ invocations to module description.
15373         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15374         invocations from here...
15375         * modules/imaxabs (configure.ac): ... to here.
15376
15377 2011-05-08  Bruno Haible  <bruno@clisp.org>
15378
15379         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15381         AC_LIBOBJ invocations from here...
15382         * modules/getaddrinfo (configure.ac): ... to here.
15383         (Depends-on): Add conditions.
15384
15385 2011-05-08  Bruno Haible  <bruno@clisp.org>
15386
15387         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15388         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15389         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15390         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15391         (gl_PREREQ_INET_PTON): ... from here.
15392         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15393         gl_PREREQ_INET_PTON here.
15394         (Depends-on): Update condition.
15395
15396 2011-05-08  Bruno Haible  <bruno@clisp.org>
15397
15398         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15399         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15400         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15401         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15402         (gl_PREREQ_INET_NTOP): ... from here.
15403         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15404         gl_PREREQ_INET_NTOP here.
15405         (Depends-on): Update condition.
15406
15407 2011-05-08  Bruno Haible  <bruno@clisp.org>
15408
15409         iconv_open: Move AC_LIBOBJ invocations to module description.
15410         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15411         AC_LIBOBJ invocations from here...
15412         * modules/iconv_open (configure.ac): ... to here.
15413
15414 2011-05-08  Bruno Haible  <bruno@clisp.org>
15415
15416         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15417         If module 'iconv_open' is among the main modules and module
15418         'iconv_open-utf' is among the tests dependencies, then
15419         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15420         return the special iconv_t values. Therefore iconv() and iconv_close()
15421         must support these special iconv_t values, already in lib, not only in
15422         tests.
15423         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15424         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15425         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15426         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15427         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15428         (Depends-on): Add the dependencies of iconv_open-utf.
15429         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15430         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15431         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15432
15433 2011-05-08  Bruno Haible  <bruno@clisp.org>
15434
15435         group-member: Move AC_LIBOBJ invocations to module description.
15436         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15437         gl_PREREQ_GROUP_MEMBER invocations from here...
15438         * modules/group-member (configure.ac): ... to here.
15439
15440 2011-05-08  Bruno Haible  <bruno@clisp.org>
15441
15442         grantpt: Move AC_LIBOBJ invocations to module description.
15443         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15444         invocations from here...
15445         * modules/grantpt (configure.ac): ... to here.
15446
15447 2011-05-08  Bruno Haible  <bruno@clisp.org>
15448
15449         glob: Move AC_LIBOBJ invocations to module description.
15450         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15451         from here...
15452         * modules/glob (configure.ac): ... to here.
15453
15454 2011-05-08  Bruno Haible  <bruno@clisp.org>
15455
15456         getusershell: Move AC_LIBOBJ invocations to module description.
15457         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15458         Move AC_LIBOBJ invocation from here...
15459         * modules/getusershell (configure.ac): ... to here.
15460         (Depends-on): Update condition.
15461
15462 2011-05-08  Bruno Haible  <bruno@clisp.org>
15463
15464         gettimeofday: Move AC_LIBOBJ invocations to module description.
15465         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15466         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15467         gl_PREREQ_GETTIMEOFDAY invocations from here...
15468         * modules/gettimeofday (configure.ac): ... to here.
15469
15470 2011-05-08  Bruno Haible  <bruno@clisp.org>
15471
15472         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15473         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15474         just gl_FUNC_TZSET.
15475         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15476         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15477         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15478         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15479
15480 2011-05-08  Bruno Haible  <bruno@clisp.org>
15481
15482         getsubopt: Move AC_LIBOBJ invocations to module description.
15483         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15484         gl_PREREQ_GETSUBOPT invocations from here...
15485         * modules/getsubopt (configure.ac): ... to here.
15486
15487 2011-05-08  Bruno Haible  <bruno@clisp.org>
15488
15489         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15490         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15491         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15492         * modules/getpass-gnu (configure.ac): ... to here.
15493
15494 2011-05-08  Bruno Haible  <bruno@clisp.org>
15495
15496         getpass: Move AC_LIBOBJ invocations to module description.
15497         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15498         gl_PREREQ_GETPASS invocations from here...
15499         * modules/getpass (configure.ac): ... to here.
15500
15501 2011-05-08  Bruno Haible  <bruno@clisp.org>
15502
15503         getpagesize: Move AC_LIBOBJ invocations to module description.
15504         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15505         from here...
15506         * modules/getpagesize (configure.ac): ... to here.
15507
15508 2011-05-08  Bruno Haible  <bruno@clisp.org>
15509
15510         getopt: Move AC_LIBOBJ invocations to module description.
15511         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15512         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15513         invocations from here...
15514         * modules/getopt-gnu (configure.ac): ... to here.
15515         * modules/getopt-posix (configure.ac): ... and here.
15516         (Depends-on): Update condition.
15517
15518 2011-05-08  Bruno Haible  <bruno@clisp.org>
15519
15520         getopt, argp: Respect rules for use of AC_LIBOBJ.
15521         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15522         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15523         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15524         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15525
15526 2011-05-08  Bruno Haible  <bruno@clisp.org>
15527
15528         getlogin_r: Move AC_LIBOBJ invocations to module description.
15529         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15530         gl_PREREQ_GETLOGIN_R invocations from here...
15531         * modules/getlogin_r (configure.ac): ... to here.
15532
15533 2011-05-08  Bruno Haible  <bruno@clisp.org>
15534
15535         getlogin: Move AC_LIBOBJ invocations to module description.
15536         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15537         here...
15538         * modules/getlogin (configure.ac): ... to here.
15539
15540 2011-05-08  Bruno Haible  <bruno@clisp.org>
15541
15542         getloadavg: Move AC_LIBOBJ invocations to module description.
15543         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15544         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15545         * modules/getloadavg (configure.ac): ... to here.
15546
15547 2011-05-08  Bruno Haible  <bruno@clisp.org>
15548
15549         gethrxtime: Move AC_LIBOBJ invocations to module description.
15550         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15551         LIB_GETHRXTIME from here...
15552         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15553         invocations from here...
15554         * modules/gethrxtime (configure.ac): ... to here.
15555
15556 2011-05-08  Bruno Haible  <bruno@clisp.org>
15557
15558         gethostname: Move AC_LIBOBJ invocations to module description.
15559         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15560         gl_PREREQ_GETHOSTNAME invocations from here...
15561         * modules/gethostname (configure.ac): ... to here.
15562
15563 2011-05-08  Bruno Haible  <bruno@clisp.org>
15564
15565         getgroups: Move AC_LIBOBJ invocations to module description.
15566         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
15567         here...
15568         * modules/getgroups (configure.ac): ... to here.
15569
15570 2011-05-08  Bruno Haible  <bruno@clisp.org>
15571
15572         getdtablesize: Move AC_LIBOBJ invocations to module description.
15573         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
15574         invocation from here...
15575         * modules/getdtablesize (configure.ac): ... to here.
15576
15577 2011-05-08  Bruno Haible  <bruno@clisp.org>
15578
15579         getdomainname: Move AC_LIBOBJ invocations to module description.
15580         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
15581         gl_PREREQ_GETDOMAINNAME invocations from here...
15582         * modules/getdomainname (configure.ac): ... to here.
15583
15584 2011-05-08  Bruno Haible  <bruno@clisp.org>
15585
15586         getline: Move AC_LIBOBJ invocations to module description.
15587         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
15588         invocations from here...
15589         * modules/getline (configure.ac): ... to here.
15590
15591 2011-05-08  Bruno Haible  <bruno@clisp.org>
15592
15593         getline: Simplify.
15594         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
15595         It's already handled through the module dependency.
15596
15597 2011-05-08  Bruno Haible  <bruno@clisp.org>
15598
15599         getdelim: Move AC_LIBOBJ invocations to module description.
15600         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
15601         and gl_PREREQ_GETDELIM invocations from here...
15602         * modules/getdelim (configure.ac): ... to here.
15603         (Depends-on): Fix condition.
15604
15605 2011-05-08  Bruno Haible  <bruno@clisp.org>
15606
15607         getcwd: Move AC_LIBOBJ invocations to module description.
15608         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
15609         invocations from here...
15610         * modules/getcwd (configure.ac): ... to here.
15611
15612 2011-05-08  Bruno Haible  <bruno@clisp.org>
15613
15614         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
15615         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
15616         here...
15617         * modules/getcwd-lgpl (configure.ac): ... to here.
15618
15619 2011-05-07  Bruno Haible  <bruno@clisp.org>
15620
15621         crypto/gc: Move AC_LIBOBJ invocations to module description.
15622         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
15623         * modules/crypto/gc (configure.ac): ... to here.
15624
15625 2011-05-07  Bruno Haible  <bruno@clisp.org>
15626
15627         fwriting: Move AC_LIBOBJ invocations to module description.
15628         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
15629         here...
15630         * modules/fwriting (configure.ac): ... to here.
15631
15632 2011-05-07  Bruno Haible  <bruno@clisp.org>
15633
15634         fwritable: Move AC_LIBOBJ invocations to module description.
15635         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
15636         here...
15637         * modules/fwritable (configure.ac): ... to here.
15638
15639 2011-05-07  Bruno Haible  <bruno@clisp.org>
15640
15641         futimens: Move AC_LIBOBJ invocations to module description.
15642         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
15643         here...
15644         * modules/futimens (configure.ac): ... to here.
15645
15646 2011-05-07  Bruno Haible  <bruno@clisp.org>
15647
15648         ftruncate: Move AC_LIBOBJ invocations to module description.
15649         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
15650         gl_PREREQ_FTRUNCATE invocations from here...
15651         * modules/ftruncate (configure.ac): ... to here.
15652
15653 2011-05-07  Bruno Haible  <bruno@clisp.org>
15654
15655         fsync: Move AC_LIBOBJ invocations to module description.
15656         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
15657         invocations from here...
15658         * modules/fsync (configure.ac): ... to here.
15659
15660 2011-05-07  Bruno Haible  <bruno@clisp.org>
15661
15662         fsusage: Move AC_LIBOBJ invocations to module description.
15663         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
15664         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
15665         * modules/fsusage (configure.ac): ... to here.
15666
15667 2011-05-07  Bruno Haible  <bruno@clisp.org>
15668
15669         freopen: Move AC_LIBOBJ invocations to module description.
15670         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
15671         invocations from here...
15672         * modules/freopen (configure.ac): ... to here.
15673
15674 2011-05-07  Bruno Haible  <bruno@clisp.org>
15675
15676         free: Move AC_LIBOBJ invocations to module description.
15677         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
15678         invocations from here...
15679         * modules/free (configure.ac): ... to here.
15680
15681 2011-05-07  Bruno Haible  <bruno@clisp.org>
15682
15683         freadable: Move AC_LIBOBJ invocations to module description.
15684         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
15685         here...
15686         * modules/freadable (configure.ac): ... to here.
15687
15688 2011-05-07  Bruno Haible  <bruno@clisp.org>
15689
15690         fpurge: Move AC_LIBOBJ invocations to module description.
15691         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
15692         invocations from here...
15693         * modules/fpurge (configure.ac): ... to here.
15694
15695 2011-05-07  Bruno Haible  <bruno@clisp.org>
15696
15697         fpending: Move AC_LIBOBJ invocations to module description.
15698         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
15699         gl_FUNC_FPENDING.
15700         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
15701         invocations from here...
15702         * modules/fpending (configure.ac): ... to here.
15703
15704 2011-05-07  Bruno Haible  <bruno@clisp.org>
15705
15706         fopen: Move AC_LIBOBJ invocations to module description.
15707         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
15708         invocations from here...
15709         * modules/fopen (configure.ac): ... to here.
15710
15711 2011-05-07  Bruno Haible  <bruno@clisp.org>
15712
15713         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
15714         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
15715         gl_FUNC_FNMATCH_POSIX.
15716         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
15717         invocations from here...
15718         * modules/fnmatch (configure.ac): ... to here.
15719         * modules/fnmatch-gnu (configure.ac): ... and here.
15720
15721 2011-05-07  Bruno Haible  <bruno@clisp.org>
15722
15723         flock: Move AC_LIBOBJ invocations to module description.
15724         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
15725         invocations from here...
15726         * modules/flock (configure.ac): ... to here.
15727
15728 2011-05-07  Bruno Haible  <bruno@clisp.org>
15729
15730         fileblocks: Move AC_LIBOBJ invocations to module description.
15731         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
15732         gl_PREREQ_FILEBLOCKS invocations from here...
15733         * modules/fileblocks (configure.ac): ... to here.
15734
15735 2011-05-06  Bruno Haible  <bruno@clisp.org>
15736
15737         fflush: Move AC_LIBOBJ invocations to module description.
15738         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
15739         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
15740         invocations from here...
15741         * modules/fflush (configure.ac): ... to here.
15742
15743 2011-05-06  Bruno Haible  <bruno@clisp.org>
15744
15745         fdopendir: Move AC_LIBOBJ invocations to module description.
15746         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
15747         here...
15748         * modules/fdopendir (configure.ac): ... to here.
15749         (Depends-on): Improve conditions.
15750
15751 2011-05-06  Bruno Haible  <bruno@clisp.org>
15752
15753         _Exit: Move AC_LIBOBJ invocations to module description.
15754         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
15755         invocations from here...
15756         * modules/_Exit (configure.ac): ... to here.
15757
15758 2011-05-21  Bruno Haible  <bruno@clisp.org>
15759
15760         euidaccess: Respect rules for use of AC_LIBOBJ.
15761         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15762         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
15763         from here...
15764         * modules/euidaccess (configure.ac): ... to here.
15765
15766 2011-05-06  Bruno Haible  <bruno@clisp.org>
15767
15768         error: Move AC_LIBOBJ invocations to module description.
15769         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15770         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15771         invocations from here...
15772         * modules/error (configure.ac): ... to here.
15773
15774 2011-05-06  Bruno Haible  <bruno@clisp.org>
15775
15776         duplocale: Move AC_LIBOBJ invocations to module description.
15777         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15778         gl_PREREQ_DUPLOCALE invocations from here...
15779         * modules/duplocale (configure.ac): ... to here.
15780
15781 2011-05-05  Bruno Haible  <bruno@clisp.org>
15782
15783         dirfd: Move AC_LIBOBJ invocations to module description.
15784         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15785         gl_FUNC_DIRFD.
15786         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15787         here...
15788         * modules/dirfd (configure.ac): ... to here.
15789         (Depends-on): Fix condition.
15790
15791 2011-05-05  Bruno Haible  <bruno@clisp.org>
15792
15793         chown: Respect rules for use of AC_LIBOBJ.
15794         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15795         * modules/chown (configure.ac): ... to here.
15796
15797 2011-05-05  Bruno Haible  <bruno@clisp.org>
15798
15799         chdir-long: Move AC_LIBOBJ invocations to module description.
15800         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15801         gl_PREREQ_CHDIR_LONG invocations from here...
15802         * modules/chdir-long (configure.ac): ... to here.
15803
15804 2011-05-05  Bruno Haible  <bruno@clisp.org>
15805
15806         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15807         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15808         from here...
15809         * modules/canonicalize-lgpl (configure.ac): ... to here.
15810
15811 2011-05-05  Bruno Haible  <bruno@clisp.org>
15812
15813         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15814         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15815         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15816         REPLACE_CALLOC.
15817         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15818         * modules/calloc-gnu (configure.ac): Likewise.
15819
15820 2011-05-05  Bruno Haible  <bruno@clisp.org>
15821
15822         btowc: Move AC_LIBOBJ invocations to module description.
15823         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15824         invocations from here...
15825         * modules/btowc (configure.ac): ... to here.
15826
15827 2011-05-21  Bruno Haible  <bruno@clisp.org>
15828
15829         atexit: Move AC_LIBOBJ invocations to module description.
15830         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15831         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15832         here...
15833         * modules/atexit (configure.ac): ... to here.
15834
15835 2011-05-05  Bruno Haible  <bruno@clisp.org>
15836
15837         atoll: Move AC_LIBOBJ invocations to module description.
15838         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15839         invocations from here...
15840         * modules/atoll (configure.ac): ... to here.
15841
15842 2011-05-05  Bruno Haible  <bruno@clisp.org>
15843
15844         argz: Move AC_LIBOBJ invocations to module description.
15845         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15846         * modules/argz (configure.ac): ... to here.
15847
15848 2011-05-05  Bruno Haible  <bruno@clisp.org>
15849
15850         alphasort: Move AC_LIBOBJ invocations to module description.
15851         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15852         gl_PREREQ_ALPHASORT invocations from here...
15853         * modules/alphasort (configure.ac): ... to here.
15854
15855 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15856
15857         verify: new macro verify_expr; verify_true deprecated
15858         * NEWS: Mention this.
15859         * doc/verify.texi (Compile-time Assertions): Document this.
15860         * lib/verify.h (verify_true): Deprecate.
15861         (verify_expr): New macro.
15862         * tests/test-verify.c (function): Test verify_expr.
15863
15864 2011-06-14  Jim Meyering  <meyering@redhat.com>
15865
15866         init.sh: give more portable redirection-related advice in a comment
15867         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15868         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15869         for lots of discussion.  Stefano Lattarini suggested the solution
15870         of putting "9>&2" after the command.  Reported by Bruno Haible.
15871
15872 2011-06-13  Bruno Haible  <bruno@clisp.org>
15873
15874         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15875         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15876         'none'.
15877
15878 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         ftoastr: use strtof only if HAVE_STRTOF
15881         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15883         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15884         * modules/ftoastr (configure.ac): Check for strtof.
15885
15886 2011-06-13  Bruno Haible  <bruno@clisp.org>
15887
15888         gnulib-tool: Addendum to 2011-06-08 commit.
15889         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15890         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15891
15892 2011-06-13  Bruno Haible  <bruno@clisp.org>
15893
15894         fseeko: Provide a non-inline replacement of fseek().
15895         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15896         * modules/fseeko (Depends-on): Add fseek.
15897         * modules/fseek (License): Change to LGPLv2+.
15898
15899 2011-06-13  Bruno Haible  <bruno@clisp.org>
15900
15901         ftello: Provide a non-inline replacement of ftell().
15902         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15903         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15904         not have ftello() (such as on mingw).
15905         * modules/ftello (Depends-on): Add ftell.
15906         * modules/ftell (License): Change to LGPLv2+.
15907
15908 2011-05-07  Bruno Haible  <bruno@clisp.org>
15909
15910         ftell: Move AC_LIBOBJ invocations to module description.
15911         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15912         * modules/ftell (configure.ac): ... to here.
15913
15914 2011-05-07  Bruno Haible  <bruno@clisp.org>
15915
15916         ftello: Respect rules for use of AC_LIBOBJ.
15917         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15918         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15919         here...
15920         * modules/ftello (configure.ac): ... to here.
15921
15922 2011-05-07  Bruno Haible  <bruno@clisp.org>
15923
15924         fseeko: Simplify.
15925         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15926         (gl_FUNC_FSEEKO): Inline it here.
15927
15928 2011-05-07  Bruno Haible  <bruno@clisp.org>
15929
15930         fseek: Move AC_LIBOBJ invocations to module description.
15931         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15932         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15933         * modules/fseek (configure.ac): ... to here.
15934
15935 2011-05-07  Bruno Haible  <bruno@clisp.org>
15936
15937         fseek: Respect rules for use of AC_LIBOBJ.
15938         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15939         here...
15940         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15941
15942 2011-05-07  Bruno Haible  <bruno@clisp.org>
15943
15944         fseeko: Respect rules for use of AC_LIBOBJ.
15945         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15946         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15947         here...
15948         * modules/fseeko (configure.ac): ... to here.
15949
15950 2011-06-13  Bruno Haible  <bruno@clisp.org>
15951
15952         gnulib-tool: Allow comments in the 'Depends-on' section.
15953         * doc/gnulib.texi (Module description): Mention comment syntax in the
15954         Depends-on section.
15955         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15956
15957 2011-06-13  Bruno Haible  <bruno@clisp.org>
15958
15959         file-set.h: guard __attibute__ use, now that it's not always defined
15960         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15961         versions that support it.  This fixes a coreutils build failure with
15962         the vendor cc on HP-UX 11.31.
15963
15964 2011-06-12  Bruno Haible  <bruno@clisp.org>
15965
15966         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15967         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15968         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15969         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15970         (acl, aclsort): New declarations.
15971         (aclv_nontrivial): New declaration.
15972         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15973         (file_has_acl): Read also the second kind of HP-UX ACLs.
15974         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15975         kind of HP-UX ACLs if the first kind fails.
15976         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15977         second kind of HP-UX ACLs.
15978         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15979         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15980         agree.
15981         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15982         hpuxjfs.
15983         Handle hpuxjfs.
15984         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15985         hpuxjfs.
15986         Handle hpuxjfs.
15987         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15988         (func_test_same_acls): Use both lsacl and getacl.
15989         Handle hpuxjfs.
15990         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15991         (func_test_same_acls): Use both lsacl and getacl.
15992         Handle hpuxjfs.
15993
15994 2011-06-12  Bruno Haible  <bruno@clisp.org>
15995
15996         acl: Complete the 2010-08-10 fix.
15997         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15998         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15999         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16000         explicitly.
16001         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16002         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16003
16004 2011-06-12  Bruno Haible  <bruno@clisp.org>
16005
16006         spawn-pipe tests: Comments.
16007         * tests/test-spawn-pipe-child.c (main): Update comment.
16008         Reported by James Youngman <jay@gnu.org>.
16009
16010 2011-06-11  James Youngman  <jay@gnu.org>
16011
16012         New module 'stat-size'.
16013         * modules/stat-size: New module.  Provides macros for accessing
16014         file size information in instances of struct stat.  Depends on the
16015         fileblocks module because it calls st_blocks.
16016         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16017         * doc/gnulib.texi: Include stat-size.texi.
16018         * doc/stat-size.texi: Documentation for this module.
16019         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16020         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16021         AC_STRUCT_ST_BLOCKS.
16022
16023 2011-06-09  Bruno Haible  <bruno@clisp.org>
16024
16025         thread: Support pthreads-win32.
16026         * lib/glthread/thread.h (gl_thread_self): Define differently on
16027         pthreads-win32.
16028         (gl_null_thread): New declaration.
16029         (gl_thread_self_pointer): New macro.
16030         * lib/glthread/thread.c (gl_null_thread): New constant.
16031         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16032         gl_thread_self.
16033         * tests/test-tls.c: Likewise.
16034         Suggested by Paul Eggert. Reported by Eric Blake.
16035
16036 2011-06-09  Bruno Haible  <bruno@clisp.org>
16037
16038         thread: Fix confusion between NULL and 0.
16039         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16040         Reported by Paul Eggert.
16041
16042 2011-06-09  Bruno Haible  <bruno@clisp.org>
16043
16044         spawn-pipe tests: Avoid test failure on HP-UX 11.
16045         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16046         is closed.
16047
16048 2011-06-09  Bruno Haible  <bruno@clisp.org>
16049
16050         acl tests: Fix compilation error on HP-UX 11.
16051         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16052
16053 2011-06-09  Bruno Haible  <bruno@clisp.org>
16054
16055         rmdir: Avoid test failure on HP-UX 10.20.
16056         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16057         EEXIST.
16058
16059 2011-06-08  Eric Blake  <eblake@redhat.com>
16060
16061         perror: fix test on mingw
16062         * modules/perror-tests (Depends-on): Add dup2.
16063
16064         strerror_r-posix: fix on MacOS
16065         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16067         logic bug.
16068         * lib/strerror_r.c (strerror_r): Fix the bug.
16069         * lib/strerror.c (strerror): Likewise.
16070         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16071         problem.
16072         * doc/posix-functions/strerror.texi (strerror): Likewise.
16073         * doc/posix-functions/perror.texi (perror): Likewise.
16074         * tests/test-strerror.c (main): Enhance test.
16075         * tests/test-strerror_r.c (main): Likewise.
16076
16077 2011-06-08  Bruno Haible  <bruno@clisp.org>
16078
16079         gnulib-tool: Better isolation between different gnulib-tool invocations.
16080         * gnulib-tool: New option --witness-c-macro.
16081         (witness_c_macro): New variable.
16082         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16083         AM_CPPFLAGS define it as a C macro.
16084         (func_emit_tests_Makefile_am): Likewise.
16085         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16086         read it from there.
16087         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16088         m4_define, not AC_DEFUN.
16089         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16090         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16091         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16092         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16093         s|...|...|, to substitute the values of the GNULIB_* module indicator
16094         variables.
16095         * modules/dirent (Makefile.am): Likewise.
16096         * modules/fcntl-h (Makefile.am): Likewise.
16097         * modules/iconv-h (Makefile.am): Likewise.
16098         * modules/langinfo (Makefile.am): Likewise.
16099         * modules/locale (Makefile.am): Likewise.
16100         * modules/math (Makefile.am): Likewise.
16101         * modules/netdb (Makefile.am): Likewise.
16102         * modules/poll-h (Makefile.am): Likewise.
16103         * modules/pty (Makefile.am): Likewise.
16104         * modules/search (Makefile.am): Likewise.
16105         * modules/signal (Makefile.am): Likewise.
16106         * modules/spawn (Makefile.am): Likewise.
16107         * modules/stdio (Makefile.am): Likewise.
16108         * modules/stdlib (Makefile.am): Likewise.
16109         * modules/string (Makefile.am): Likewise.
16110         * modules/sys_ioctl (Makefile.am): Likewise.
16111         * modules/sys_select (Makefile.am): Likewise.
16112         * modules/sys_socket (Makefile.am): Likewise.
16113         * modules/sys_stat (Makefile.am): Likewise.
16114         * modules/sys_times (Makefile.am): Likewise.
16115         * modules/sys_utsname (Makefile.am): Likewise.
16116         * modules/sys_wait (Makefile.am): Likewise.
16117         * modules/termios (Makefile.am): Likewise.
16118         * modules/time (Makefile.am): Likewise.
16119         * modules/unistd (Makefile.am): Likewise.
16120         * modules/wchar (Makefile.am): Likewise.
16121
16122 2011-06-08  Eric Blake  <eblake@redhat.com>
16123
16124         strerror: simplify replacement
16125         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16126         * modules/strerror (configure.ac): No prereqs needed here...
16127         * modules/strerror-override (configure.ac): ...but this needs it.
16128         (Files): Add file for needed prereq macro.
16129
16130 2011-06-08  Bruno Haible  <bruno@clisp.org>
16131
16132         strerror_r-posix: Tweaks.
16133         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16134         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16135         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16136         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16137         (gl_FUNC_STRERROR_R): ... to here.
16138         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16139
16140 2011-06-07  Eric Blake  <eblake@redhat.com>
16141
16142         perror: document fixed bugs
16143         * doc/posix-functions/perror.texi (perror): Document recent
16144         patches.
16145
16146 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16147
16148         stat-time: get_stat_birthtime failure is better-defined
16149         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16150         return a timestamp whose tv_sec and tv_nsec values are both -1.
16151         Previously, the spec said only that the tv_nsec value was negative.
16152         This upward-compatible change simplifies GNU tar a bit.
16153
16154 2011-06-07  Eric Blake  <eblake@redhat.com>
16155
16156         strerror_r-posix: work around cygwin 1.7.9
16157         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16158         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16159         bug without replacing strerror_r.
16160         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16161         strerror_r is buggy, but without requiring strerror_r compilation.
16162         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16163
16164         test-perror: relax test to ignore cygwin bug
16165         * tests/test-perror2.c (main): Relax test on requiring detection
16166         of stream errors, and use unbuffered stream.
16167         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16168         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16169         * doc/posix-functions/fputc.texi (fputc): Likewise.
16170         * doc/posix-functions/fputs.texi (fputs): Likewise.
16171         * doc/posix-functions/fputws.texi (fputws): Likewise.
16172         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16173         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16174         * doc/posix-functions/getopt.texi (getopt): Likewise.
16175         * doc/posix-functions/perror.texi (perror): Likewise.
16176         * doc/posix-functions/printf.texi (printf): Likewise.
16177         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16178         * doc/posix-functions/psignal.texi (psignal): Likewise.
16179         * doc/posix-functions/putc.texi (putc): Likewise.
16180         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16181         Likewise.
16182         * doc/posix-functions/putchar.texi (putchar): Likewise.
16183         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16184         Likewise.
16185         * doc/posix-functions/puts.texi (puts): Likewise.
16186         * doc/posix-functions/putwc.texi (putwc): Likewise.
16187         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16188         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16189         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16190         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16191         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16192         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16193         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16194         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16195
16196 2011-05-22  Bruno Haible  <bruno@clisp.org>
16197
16198         strerror: Move AC_LIBOBJ invocations to module description.
16199         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16200         gl_PREREQ_STRERROR invocations from here...
16201         * modules/strerror (configure.ac): ... to here.
16202
16203 2011-05-21  Bruno Haible  <bruno@clisp.org>
16204
16205         perror: Use common idiom.
16206         * modules/perror (configure.ac): Reorder statements.
16207
16208 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16209
16210         tests: fix usage message in 'mktempd_'
16211         * tests/init.sh (mktempd_): In the usage message, use literal
16212         'mktempd_', not '$ME' (which is even undefined), as the name of
16213         the subroutine.
16214
16215 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16216
16217         tests init: new function 'fatal_', for hard errors
16218         Before this patch, the only way offered by tests/init.sh to
16219         properly signal a hard error was the `framework_failure_'
16220         function.  But the error message issued by that function,
16221         as its name would suggest, refers to a set-up failure in the
16222         testsuite, while hard errors can obviously also be due to
16223         other reasons.  The best way to fix this inconsistency is to
16224         introduce a new function with a more general error message.
16225         * tests/init.sh (fatal_): New function.
16226
16227 2011-06-06  Eric Blake  <eblake@redhat.com>
16228
16229         canonicalize-lgpl: use common idiom
16230         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16231         over newer POSIX -Rf.
16232         Reported by Bruno Haible.
16233
16234         canonicalize-lgpl: work around AIX realpath bug
16235         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
16236         * doc/posix-functions/realpath.texi (realpath): Document it.
16237         Reported by Bruno Haible.
16238
16239         strerror: work around FreeBSD bug
16240         * lib/strerror.c (strerror): Special case 0.
16241         Reported by Bruno Haible.
16242
16243         strerror-override: avoid bloating errno module
16244         * modules/errno (Files, configure.ac): Move replacement strings...
16245         * modules/strerror-override: ...to new module.
16246         * modules/strerror (Depends-on): Add strerror-override.
16247         * modules/strerror_r-posix (Depends-on): Likewise.
16248         * MODULES.html.sh: Document new module.
16249         Reported by Bruno Haible.
16250
16251 2011-06-06  Bruno Haible  <bruno@clisp.org>
16252
16253         spawn-pipe tests: Rename program.
16254         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
16255         * tests/test-spawn-pipe-child.c: Update comment.
16256         * tests/test-spawn-pipe.sh: Update.
16257         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16258
16259         spawn-pipe tests: Link the child program only against libc.
16260         * tests/test-spawn-pipe-child.c: New file, extracted from
16261         tests/test-spawn-pipe.c.
16262         (main): Expect only one argument.
16263         (is_open): New function, copied from tests/test-pipe.c.
16264         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16265         (child_main): Remove function.
16266         (test_pipe): Pass only one argument to the child program.
16267         (main): Remove child process code. Expect the child program's name as
16268         first argument.
16269         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16270         argument.
16271         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16272         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16273         test-spawn-pipe-child against no libraries.
16274
16275 2011-06-06  Bruno Haible  <bruno@clisp.org>
16276
16277         careadlinkat: Avoid mismatch between ssize_t and int.
16278         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16279         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16280
16281 2011-06-06  Jim Meyering  <meyering@redhat.com>
16282
16283         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16284         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16285         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16286
16287 2011-06-05  Bruno Haible  <bruno@clisp.org>
16288
16289         ansi-c++-opt: Interoperability with libtool.
16290         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16291         set the variable to "no", not to ":".
16292         * NEWS: Mention the change.
16293
16294 2011-06-05  Bruno Haible  <bruno@clisp.org>
16295
16296         acl: Fix test failure on AIX 7.
16297         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16298         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16299
16300 2011-06-05  Bruno Haible  <bruno@clisp.org>
16301
16302         pipe-filter-ii: Fix test failure on AIX and IRIX.
16303         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16304         with EAGAIN, retry with a smaller buffer size.
16305
16306 2011-06-05  Bruno Haible  <bruno@clisp.org>
16307
16308         localename: Fix link dependencies.
16309         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16310         * modules/localename-tests (Makefile.am): Link test-localename with
16311         $(LIBTHREAD).
16312
16313 2011-06-05  Bruno Haible  <bruno@clisp.org>
16314
16315         error: Avoid gcc warning.
16316         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16317
16318 2011-06-05  Bruno Haible  <bruno@clisp.org>
16319
16320         unsetenv: Avoid gcc warning.
16321         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16322
16323 2011-06-05  Bruno Haible  <bruno@clisp.org>
16324
16325         setenv: Avoid gcc warning.
16326         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16327
16328 2011-06-05  Bruno Haible  <bruno@clisp.org>
16329
16330         sys_select: Ensure memset is declared also on AIX 7.
16331         * lib/sys_select.in.h: Include <string.h> also on AIX.
16332         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16333         self-contained also on AIX 7.1.
16334
16335 2011-06-04  Jim Meyering  <meyering@redhat.com>
16336
16337         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16338         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16339         function name, "error".
16340         (_gl_translatable_diag_func_re): New configurable variable.
16341
16342 2011-06-04  Bruno Haible  <bruno@clisp.org>
16343
16344         getopt: Avoid gcc warning.
16345         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16346
16347 2011-06-04  Bruno Haible  <bruno@clisp.org>
16348
16349         strerror_r: Fix comments.
16350         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16351         commit.
16352
16353 2011-06-04  Bruno Haible  <bruno@clisp.org>
16354
16355         perror: Fix compilation error.
16356         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16357         Undefine fprintf, not sprintf.
16358         * modules/perror (Depends-on): Remove intprops, verify.
16359
16360 2011-06-04  Bruno Haible  <bruno@clisp.org>
16361
16362         setlocale: Enable replacement on Cygwin 1.5.
16363         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16364         Cygwin 1.5.x.
16365         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16366         LC_CTYPE category also exists on Cygwin 1.5.x.
16367
16368 2011-06-04  Bruno Haible  <bruno@clisp.org>
16369
16370         strerror-override: Don't disable symbol renamings.
16371         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16372         * lib/strerror-override.c: Include config.h.
16373         (strerror_override): Don't undefine.
16374
16375 2011-06-03  Bruno Haible  <bruno@clisp.org>
16376
16377         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16378         * lib/localename.h: Update copyright header.
16379         * lib/localename.c: Likewise.
16380         * lib/relocatable.h: Likewise.
16381         * lib/relocatable.c: Likewise.
16382
16383 2011-06-02  Bruno Haible  <bruno@clisp.org>
16384
16385         doc: Fix a module name.
16386         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16387
16388 2011-06-02  Bruno Haible  <bruno@clisp.org>
16389
16390         pipe2: Remove dependency on 'nonblocking' module.
16391         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16392         O_NONBLOCK is defined by gnulib.
16393         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16394         is zero.
16395         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16396         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16397         defined by gnulib.
16398         (get_nonblocking_flag): New function.
16399         (main): Test O_NONBLOCK flag only if it is nonzero.
16400         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16401
16402 2011-06-03  Jim Meyering  <meyering@redhat.com>
16403
16404         maint: three new prohibit-header-without-use rules
16405         Prohibit use of cloexec.h, posixver.h, same.h without use.
16406         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16407         (sc_prohibit_posixver_without_use): Likewise.
16408         (sc_prohibit_same_without_use): Likewise.
16409
16410 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16411
16412         allocator: 'die' routine is now given requested size
16413         * lib/allocator.h (struct allocator.die): New size arg.
16414         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16415         If the actual problem is an ssize_t limitation, not a size_t or
16416         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16417
16418 2011-06-01  Eric Blake  <eblake@redhat.com>
16419
16420         strerror: drop strerror_r dependency
16421         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16422         * lib/strerror-override.c (strerror_override): ...to new file.
16423         * lib/strerror-override.h: Add prototype.
16424         * lib/strerror-impl.h: Delete.
16425         * lib/strerror.c (strerror): New implementation.
16426         * modules/errno (Files): Add new files.
16427         (configure.ac): Compile new file as appropriate.
16428         * modules/strerror (Files): Drop unused file.
16429         (Depends-on): Drop strerror_r-posix.
16430         * MODULES.html.sh: Document strerror_r-posix.
16431         Requested by Sam Steingold.
16432
16433         perror: call strerror_r directly
16434         * modules/perror (Files): Drop strerror-impl.h.
16435         * lib/perror.c (perror): Use our own stack buffer, rather than
16436         calling a wrapper that uses static storage.
16437         * doc/posix-functions/perror.texi (perror): Document a limitation
16438         of our replacement.
16439
16440         strerror_r: fix includes for FreeBSD
16441         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16442         since we use abort on some platforms.
16443         Reported by Matthias Bolte.
16444
16445 2011-05-31  Bruno Haible  <bruno@clisp.org>
16446
16447         Fix link errors in tests: openat-die uses gettext-h.
16448         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16449         against $(LIBINTL).
16450         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16451         against $(LIBINTL).
16452         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16453         $(LIBINTL).
16454         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16455         against $(LIBINTL).
16456         * modules/linkat-tests (Makefile.am): Link test-linkat against
16457         $(LIBINTL).
16458         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16459         $(LIBINTL).
16460         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16461         against $(LIBINTL).
16462         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16463         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16464         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16465         $(LIBINTL).
16466         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16467         $(LIBINTL).
16468         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16469         $(LIBINTL).
16470         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16471
16472 2011-05-31  Bruno Haible  <bruno@clisp.org>
16473
16474         Fix link errors in tests: wait-process uses gettext-h.
16475         * modules/nonblocking-pipe-tests (Makefile.am): Set
16476         test_nonblocking_pipe_main_LDADD.
16477         * modules/nonblocking-socket-tests (Makefile.am): Link
16478         test-nonblocking-socket-main against $(LIBINTL).
16479         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16480
16481 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16482
16483         assert-h: work around 'verify' incompatibility
16484         * lib/verify.h: Use @...@ directives, not ifdef.
16485         * modules/assert-h (assert.h): Implement the directives.
16486         (assert.h): Substitute the symbol-prefix more consistently.
16487
16488 2011-05-29  Jim Meyering  <meyering@redhat.com>
16489
16490         trim: remove three superfluous assignments
16491         * lib/trim.c (trim2): Remove three superfluous assignments
16492         and correct brace positioning.
16493
16494 2011-05-29  Bruno Haible  <bruno@clisp.org>
16495
16496         wctype-h: Avoid namespace pollution on Solaris 2.6.
16497         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16498         identifiers.
16499         * doc/posix-headers/wctype.texi: Mention the problem.
16500         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16501
16502 2011-05-28  Jim Meyering  <meyering@redhat.com>
16503
16504         parse-datetime.y: accommodate -Wstrict-overflow
16505         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16506         placate -Wstrict-overflow.
16507
16508         trim: avoid a warning from -O2 -Wstrict-overflow
16509         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16510
16511 2011-05-29  Bruno Haible  <bruno@clisp.org>
16512
16513         gnulib-tool: Fix bug in yesterday's commit.
16514         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16515         twice.
16516
16517 2011-05-29  Bruno Haible  <bruno@clisp.org>
16518
16519         Allow multiple gnulib generated include files to be combined.
16520         * gnulib-tool (func_compute_include_guard_prefix): New function.
16521         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16522         ${gl_include_guard_prefix} references.
16523         (func_import, func_create_testdir): Invoke
16524         func_compute_include_guard_prefix.
16525         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16526         * lib/ctype.in.h: Likewise.
16527         * lib/dirent.in.h: Likewise.
16528         * lib/errno.in.h: Likewise.
16529         * lib/fcntl.in.h: Likewise.
16530         * lib/float.in.h: Likewise.
16531         * lib/getopt.in.h: Likewise.
16532         * lib/iconv.in.h: Likewise.
16533         * lib/langinfo.in.h: Likewise.
16534         * lib/locale.in.h: Likewise.
16535         * lib/math.in.h: Likewise.
16536         * lib/netdb.in.h: Likewise.
16537         * lib/netinet_in.in.h: Likewise.
16538         * lib/poll.in.h: Likewise.
16539         * lib/pthread.in.h: Likewise.
16540         * lib/pty.in.h: Likewise.
16541         * lib/sched.in.h: Likewise.
16542         * lib/se-selinux.in.h: Likewise.
16543         * lib/search.in.h: Likewise.
16544         * lib/signal.in.h: Likewise.
16545         * lib/spawn.in.h: Likewise.
16546         * lib/stdarg.in.h: Likewise.
16547         * lib/stddef.in.h: Likewise.
16548         * lib/stdint.in.h: Likewise.
16549         * lib/stdio.in.h: Likewise.
16550         * lib/stdlib.in.h: Likewise.
16551         * lib/string.in.h: Likewise.
16552         * lib/strings.in.h: Likewise.
16553         * lib/sys_file.in.h: Likewise.
16554         * lib/sys_ioctl.in.h: Likewise.
16555         * lib/sys_select.in.h: Likewise.
16556         * lib/sys_socket.in.h: Likewise.
16557         * lib/sys_stat.in.h: Likewise.
16558         * lib/sys_time.in.h: Likewise.
16559         * lib/sys_times.in.h: Likewise.
16560         * lib/sys_uio.in.h: Likewise.
16561         * lib/sys_utsname.in.h: Likewise.
16562         * lib/sys_wait.in.h: Likewise.
16563         * lib/sysexits.in.h: Likewise.
16564         * lib/termios.in.h: Likewise.
16565         * lib/time.in.h: Likewise.
16566         * lib/unistd.in.h: Likewise.
16567         * lib/wchar.in.h: Likewise.
16568         * lib/wctype.in.h: Likewise.
16569         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
16570         * modules/ctype (Makefile.am): Likewise.
16571         * modules/dirent (Makefile.am): Likewise.
16572         * modules/errno (Makefile.am): Likewise.
16573         * modules/fcntl-h (Makefile.am): Likewise.
16574         * modules/float (Makefile.am): Likewise.
16575         * modules/getopt-posix (Makefile.am): Likewise.
16576         * modules/iconv-h (Makefile.am): Likewise.
16577         * modules/langinfo (Makefile.am): Likewise.
16578         * modules/locale (Makefile.am): Likewise.
16579         * modules/math (Makefile.am): Likewise.
16580         * modules/netdb (Makefile.am): Likewise.
16581         * modules/netinet_in (Makefile.am): Likewise.
16582         * modules/poll-h (Makefile.am): Likewise.
16583         * modules/pthread (Makefile.am): Likewise.
16584         * modules/pty (Makefile.am): Likewise.
16585         * modules/sched (Makefile.am): Likewise.
16586         * modules/search (Makefile.am): Likewise.
16587         * modules/selinux-h (Makefile.am): Likewise.
16588         * modules/signal (Makefile.am): Likewise.
16589         * modules/spawn (Makefile.am): Likewise.
16590         * modules/stdarg (Makefile.am): Likewise.
16591         * modules/stddef (Makefile.am): Likewise.
16592         * modules/stdint (Makefile.am): Likewise.
16593         * modules/stdio (Makefile.am): Likewise.
16594         * modules/stdlib (Makefile.am): Likewise.
16595         * modules/string (Makefile.am): Likewise.
16596         * modules/strings (Makefile.am): Likewise.
16597         * modules/sys_file (Makefile.am): Likewise.
16598         * modules/sys_ioctl (Makefile.am): Likewise.
16599         * modules/sys_select (Makefile.am): Likewise.
16600         * modules/sys_socket (Makefile.am): Likewise.
16601         * modules/sys_stat (Makefile.am): Likewise.
16602         * modules/sys_time (Makefile.am): Likewise.
16603         * modules/sys_times (Makefile.am): Likewise.
16604         * modules/sys_uio (Makefile.am): Likewise.
16605         * modules/sys_utsname (Makefile.am): Likewise.
16606         * modules/sys_wait (Makefile.am): Likewise.
16607         * modules/sysexits (Makefile.am): Likewise.
16608         * modules/termios (Makefile.am): Likewise.
16609         * modules/time (Makefile.am): Likewise.
16610         * modules/unistd (Makefile.am): Likewise.
16611         * modules/wchar (Makefile.am): Likewise.
16612         * modules/wctype-h (Makefile.am): Likewise.
16613         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
16614
16615 2011-05-29  Bruno Haible  <bruno@clisp.org>
16616
16617         assert-h: Allow multiple gnulib generated replacements to coexist.
16618         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
16619
16620 2011-05-29  Bruno Haible  <bruno@clisp.org>
16621
16622         argp: Allow coexistence with strerror_r-posix module.
16623         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
16624         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
16625         by gnulib's <string.h> replacement), assume it has the POSIX signature,
16626         not the glibc signature.
16627
16628 2011-05-28  Bruno Haible  <bruno@clisp.org>
16629
16630         gnulib-tool: Alternative structure of testdirs, similar to --import.
16631         * gnulib-tool: New option --single-configure.
16632         (func_usage): Document it.
16633         (single_configure): New variable.
16634         (func_modules_transitive_closure_separately,
16635         func_modules_transitive_closure_separately,
16636         func_determine_use_libtests, func_modules_add_dummy_separately,
16637         func_modules_to_filelist_separately): New functions, extracted from
16638         func_import.
16639         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
16640         (func_import): Use the new functions.
16641         (func_create_testdir): Set final_modules. Handle $single_configure =
16642         true case.
16643
16644 2011-05-28  Bruno Haible  <bruno@clisp.org>
16645
16646         getloadavg: Remove an unreliable safety check.
16647         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
16648         getloadavg.c is in place.
16649         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
16650         Reported by Sam Steingold <sds@gnu.org>.
16651
16652 2011-05-28  Bruno Haible  <bruno@clisp.org>
16653
16654         doc: Cleanup yet another file produced by texinfo.tex.
16655         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
16656
16657 2011-05-28  Bruno Haible  <bruno@clisp.org>
16658
16659         Finish the conditional dependencies mechanism.
16660         * gnulib-tool: New option --no-conditional-dependencies.
16661         (func_usage): Document it. Don't mark --conditional-dependencies as
16662         experimental.
16663         (cond_dependencies): The possible values can now be true, false, empty.
16664         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
16665         (func_import): Store setting in gnulib-cache.m4 and read it from there.
16666         * doc/gnulib-tool.texi (Conditional dependencies): New section.
16667
16668 2011-05-28  Bruno Haible  <bruno@clisp.org>
16669
16670         doc: Use a recent texinfo.tex.
16671         * doc/Makefile (tex_opts): New variable.
16672         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
16673
16674 2011-05-28  Jim Meyering  <meyering@redhat.com>
16675
16676         intprops.h: adjust comment to match code change
16677         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
16678         only once, it *may* have side effects.  Also fix an unrelated typo.
16679         (_GL_INT_SIGNED): Likewise.
16680
16681 2011-05-26  Simon Josefsson  <simon@josefsson.org>
16682
16683         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
16684
16685 2011-05-26  Bruno Haible  <bruno@clisp.org>
16686
16687         mbsrchr: Avoid collision with system function on Interix.
16688         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
16689         Reported by Markus Duft <mduft@gentoo.org>.
16690
16691 2011-05-15  James Youngman  <jay@gnu.org>
16692
16693         getopt: for ambiguous options, enumerate the possibilities.
16694         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
16695         the ambiguous options when an ambiguous prefix is given. This was
16696         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
16697         glibc change was
16698         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
16699
16700 2011-05-25  Eric Blake  <eblake@redhat.com>
16701
16702         getcwd: work around mingw bug
16703         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
16704         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16705         Reported by Matthias Bolte.
16706
16707 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
16708
16709         test-intprops: disable -Wtype-limits diagnostics
16710         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
16711         diagnostics.  Otherwise, the integer overflow macros generate many
16712         diagnostics.  Reported by Jim Meyering in
16713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16714
16715         intprops: shorten, to pacify gcc -Woverlength-strings
16716         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
16717         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
16718         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
16719         likely to run afoul of C compiler limits for string constant lengths.
16720         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16721
16722 2011-05-24  Eric Blake  <eblake@redhat.com>
16723
16724         docs: document recently fixed glibc printf bug
16725         * doc/posix-functions/fprintf.texi (fprintf): Document it.
16726         * doc/posix-functions/printf.texi (printf): Likewise.
16727         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16728         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16729
16730         closein-tests: convert to init.sh
16731         * modules/closein-tests (Files): Add init.sh
16732         * tests/test-closein.sh Use it.
16733
16734         yesno-tests: convert to init.sh
16735         * modules/yesno-tests (Files): Add init.sh.
16736         * tests/test-yesno.sh: Use it.
16737
16738         atexit-tests: ensure reliable exit status
16739         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
16740         Reported by Bruno Haible.
16741
16742 2011-05-24  Bruno Haible  <bruno@clisp.org>
16743
16744         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
16745         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
16746         gl_PREREQ_STRERROR_R invocations from here...
16747         * modules/strerror_r-posix (configure.ac): ... to here.
16748
16749 2011-05-24  Eric Blake  <eblake@redhat.com>
16750
16751         strerror_r: fix missing header
16752         * lib/strerror_r.c: Avoid compiler warning about snprintf.
16753
16754         strerror_r: fix AIX test failures
16755         * lib/strerror_r.c (strerror_r): Convert silent truncation to
16756         ERANGE failure.
16757
16758         strerror_r: fix Solaris test failures
16759         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
16760         failures.
16761         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16762
16763         strerror_r: enforce POSIX recommendations
16764         * lib/strerror_r.c (safe_copy): New helper method.
16765         (strerror_r): Guarantee a non-empty string.
16766         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16767         recent POSIX rulings and to match our strerror guarantees.
16768         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16769
16770 2011-05-24  Jim Meyering  <meyering@redhat.com>
16771
16772         test-perror2.c: avoid warning about unused variable
16773         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16774
16775 2011-05-24  Eric Blake  <eblake@redhat.com>
16776
16777         perror: avoid spurious test failure on HP-UX
16778         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16779
16780         tests: fix logic bug in init.sh
16781         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16782         shell.
16783
16784 2011-05-24  Jim Meyering  <meyering@redhat.com>
16785
16786         utimensat: do not reference an out-of-scope buffer
16787         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16788         declared in an inner scope, yet "times" would be dereferenced outside
16789         the scope in which "ts" was valid.
16790         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16791         of ts[2] "out/up", so that the use of aliased "times" (via
16792         "times = ts;") does not end up referencing an out-of-scope "ts"
16793
16794         opendir-safer.c: don't clobber errno; don't close negative FD
16795         * lib/opendir-safer.c (opendir_safer):
16796         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16797         file descriptor, and more importantly, don't clobber the
16798         offending errno value with EINVAL.  Before, upon failure
16799         of dup_safer, we would pass the negative file descriptor to
16800         fdopendir, which would clobber errno.
16801
16802 2011-05-23  Bruno Haible  <bruno@clisp.org>
16803
16804         idcache: Fix module description.
16805         * modules/idcache (Include): Set to "idcache.h".
16806
16807 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16808
16809         gnulib-tool: fix portability problem with MacOS sed
16810         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16811         before the "}".  Problem reported by Leo in
16812         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16813         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16814         sed_extract_condition1, sed_extract_condition2.
16815
16816 2011-05-23  Bruno Haible  <bruno@clisp.org>
16817
16818         hash: Simplify autoconf macro.
16819         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16820
16821 2011-05-23  Bruno Haible  <bruno@clisp.org>
16822
16823         getugroups: Fix module description.
16824         * modules/getugroups (Include): Set to "getugroups.h".
16825
16826 2011-05-23  Bruno Haible  <bruno@clisp.org>
16827
16828         linkat: Simplify autoconf macro.
16829         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16830
16831 2011-05-23  Bruno Haible  <bruno@clisp.org>
16832             Eric Blake  <eblake@redhat.com>
16833
16834         linkat, renameat: Update dependencies.
16835         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16836         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16837         symlinkat.
16838
16839 2011-05-23  Jim Meyering  <meyering@redhat.com>
16840
16841         maint.mk: more tight_scope improvements
16842         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16843         (_gl_TS_headers): Define only in if-0'd block.
16844         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16845         sometimes we must *not* use it.  Adjust uses accordingly.
16846         (sc_tight_scope): Use much simpler grep-based test to determine
16847         whether we skip this rule.
16848
16849         maint.mk: generalize/improve the tight-scope rule
16850         * top/maint.mk: Emit a warning when the test is skipped.
16851         (_gl_TS_dir): Add $(srcdir)/ prefix.
16852         (_gl_TS_function_match): Simplify, rather than trying
16853         to enumerate common types.  Otherwise, it would fail to match an
16854         "extern unsigned char const *" declaration in idutils.
16855         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16856         a way to support use of that type of macro.
16857         (_gl_TS_var_match): Simplify regexp.
16858         (_gl_TS_obj_files): New configurable variable.
16859         (_gl_TS_headers): Likewise.
16860
16861 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16862
16863         verify: fix bug when gnulib <assert.h> is also included
16864         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16865         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16866         Perhaps there's a better way, but this fixes the immediate problem.
16867         Problem reported by Bruno Haible in
16868         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16869
16870 2011-05-22  Bruno Haible  <bruno@clisp.org>
16871
16872         xgetcwd: Simplify autoconf macro.
16873         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16874
16875 2011-05-22  Bruno Haible  <bruno@clisp.org>
16876
16877         New module 'mktime-internal'.
16878         * modules/mktime-internal: New file.
16879         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16880         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16881         mktime_internal as a C macro if libc has __mktime_internal.
16882         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16883         conditions.
16884         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16885
16886 2011-05-22  Bruno Haible  <bruno@clisp.org>
16887
16888         timegm: Correct mktime replacement statements.
16889         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16890         defining mktime as a C macro. This completes a 2009-07-28 commit.
16891
16892 2011-05-22  Bruno Haible  <bruno@clisp.org>
16893
16894         timegm: Simplify autoconf macro.
16895         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16896
16897 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16898
16899         clock-time: change to LGPLv2+.
16900         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16901         BSD-like but we have no mark for that; this is good enough for now.
16902
16903 2011-05-21  Bruno Haible  <bruno@clisp.org>
16904
16905         strerror_r: Fix comments.
16906         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16907
16908 2011-05-21  Bruno Haible  <bruno@clisp.org>
16909
16910         relocatable-prog-wrapper: Fix possible link error.
16911         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16912         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16913         (gl_FUNC_SETENV): ... to here.
16914         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16915         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16916
16917 2011-05-21  Bruno Haible  <bruno@clisp.org>
16918
16919         relocatable-prog-wrapper: Assume strerror() exists.
16920         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16921         m4/strerror.m4.
16922         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16923         * lib/relocwrapper.c: Remove mention of strerror module.
16924         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16925         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16926         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16927         C macro.
16928
16929 2011-05-21  Bruno Haible  <bruno@clisp.org>
16930
16931         select: Simplify replacement idiom.
16932         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16933         Win32 platforms.
16934         * lib/sys_select.in.h (select): Simplify accordingly.
16935         * modules/select (Depends-on): Likewise.
16936
16937 2011-05-21  Bruno Haible  <bruno@clisp.org>
16938
16939         mkdir-p: Simplify autoconf macro.
16940         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16941         gl_FUNC_LCHOWN.
16942
16943 2011-05-21  Eric Blake  <eblake@redhat.com>
16944
16945         strerror_r: avoid clobbering strerror on cygwin
16946         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16947         fall back instead to sys_errlist.
16948         * modules/strerror (configure.ac): Add witness.
16949         * tests/test-strerror_r.c (main): Enhance test.
16950         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16951         * tests/test-perror2.c (main): Free memory before exit.
16952
16953 2011-05-21  Bruno Haible  <bruno@clisp.org>
16954
16955         mkdtemp: Use gnulib naming conventions.
16956         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16957         * modules/mkdtemp (configure.ac): Update.
16958
16959 2011-05-20  Eric Blake  <eblake@redhat.com>
16960
16961         strerror_r: avoid corrupting errno on Solaris
16962         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16963         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16964
16965         strerror_r: avoid compiler warning
16966         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16967
16968         strerror_r: simplify AIX code
16969         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16970
16971         test-perror: avoid spurious failure on FreeBSD
16972         * modules/perror-tests (Depends-on): Add strerror, now that
16973         strerror_r no longer pulls it in.
16974
16975 2011-05-20  Bruno Haible  <bruno@clisp.org>
16976
16977         strerror_r-posix: Remove unused dependencies.
16978         * modules/strerror_r-posix (Depends-on): Remove strerror.
16979         Reported by Eric Blake.
16980
16981 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16982
16983         intprops: remove assumption about A|B representation
16984         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16985         is a valid integer if both A and B are.  Although this is true for
16986         all known practical hosts, the C standard doesn't guarantee it,
16987         and the code need not assume it.  Also, this change may work around
16988         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16989         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16990
16991 2011-05-20  Eric Blake  <eblake@redhat.com>
16992
16993         perror: work around FreeBSD bug
16994         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16995         is broken.  Move AC_LIBOBJ...
16996         * modules/perror (configure.ac): Here.
16997         * doc/posix-functions/perror.texi (perror): Document this.
16998         * tests/test-perror2.c (main): Enhance test.
16999
17000         test-perror: check for strerror interactions
17001         * tests/macros.h (STREQ): Add macro.
17002         * modules/perror-tests (Files): Add second test.
17003         * tests/test-perror2.c (main): New file.
17004         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17005
17006         test-perror: rewrite to use init script
17007         * modules/perror-tests (Files): Add init.sh.
17008         * tests/test-perror.sh: Use temporary directory.
17009
17010 2011-05-20  Jim Meyering  <meyering@redhat.com>
17011
17012         maint: replace misused "a" with "an"
17013         * doc/intprops.texi: "a integer"
17014         * doc/regex.texi: "a explanation"
17015         * lib/alignof.h: "a object"
17016         * lib/argmatch.h: "a explanation"
17017         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17018         * lib/stdint.in.h: "a integer"
17019         * lib/userspec.c: "a owner"
17020         * doc/gnulib.texi: Fix "a idea", and reword.
17021
17022 2011-05-19  Jim Meyering  <meyering@redhat.com>
17023
17024         maint: correct misuse of "a" and "an"
17025         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17026         * lib/argp-help.c: "an docum...": s/an/a/
17027         * lib/argp-parse.c: "An vector": s/An/A/
17028         * lib/execute.c: "an native": s/an/a/
17029         * lib/spawn-pipe.c: Likewise.
17030         * lib/gc.h: "an Gc_rc": s/an/a/
17031         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17032         * lib/fts.c: "an stat.st_dev": s/an/a/
17033
17034 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17035
17036         intprops-tests: work around HP-UX 11.23 cc bug with constants
17037         * tests/test-intprops.c (VERIFY): New macro.
17038         (main): Use it, instead of verify, to work around the compiler bug; see
17039         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17040
17041         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17042         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17043         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17044         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17045         (_GL_REMAINDER_OVERFLOW): Use it.
17046
17047         intprops-tests: revert unsigned part of previous change
17048         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17049         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17050         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17051         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17052
17053 2011-05-19  Bruno Haible  <bruno@clisp.org>
17054
17055         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17056         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17057         strerror_r() returned without filling the buffer.
17058         Reported by Eric Blake.
17059
17060 2011-05-19  Eric Blake  <eblake@redhat.com>
17061
17062         strerror_r: guarantee unchanged errno
17063         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17064         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17065         failure.
17066         * tests/test-strerror_r.c (main): Enhance test.
17067
17068 2011-05-19  Bruno Haible  <bruno@clisp.org>
17069
17070         strerror_r: Reorder #if blocks.
17071         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17072         for consistency with the previous commit.
17073
17074 2011-05-19  Bruno Haible  <bruno@clisp.org>
17075
17076         perror: Avoid clobbering the strerror buffer when possible.
17077         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17078         * lib/strerror.c: Include it.
17079         * modules/strerror (Files): Add lib/strerror-impl.h.
17080         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17081         (my_strerror): New function, defined through lib/strerror-impl.h.
17082         (perror): Use it instead of strerror.
17083         * modules/perror (Files): Add lib/strerror-impl.h.
17084         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17085
17086 2011-05-19  Eric Blake  <eblake@redhat.com>
17087
17088         strerror_r: fix on newer cygwin
17089         * lib/strerror_r.c (strerror_r): Cygwin now has
17090         __xpg_strerror_r, use it.
17091
17092 2011-05-19  Bruno Haible  <bruno@clisp.org>
17093
17094         strerror_r: Avoid clobbering the strerror buffer when possible.
17095         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17096         (sys_nerr, sys_errlist): New declarations.
17097         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17098         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17099         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17100
17101 2011-05-19  Bruno Haible  <bruno@clisp.org>
17102
17103         strerror_r: Fix test failure on mingw.
17104         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17105         EXTEND_STRERROR_R.
17106         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17107         macros from errno.in.h instead.
17108
17109 2011-05-19  Eric Blake  <eblake@redhat.com>
17110
17111         strerror: relax test for Solaris
17112         * tests/test-strerror.c (main): Permit Solaris behavior.
17113         * tests/test-strerror_r.c (main): Likewise.
17114
17115         strerror: enforce POSIX ruling on strerror(0)
17116         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17117         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17118         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17119         * doc/posix-functions/strerror.texi (strerror): Document it.
17120         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17121         * tests/test-strerror.c (main): Strengthen test.
17122         * tests/test-strerror_r.c (main): Likewise.
17123
17124 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17125
17126         intprop-tests: port to older and more-pedantic compilers
17127         * modules/intprops-tests (Files): Add tests/macros.h.
17128         * tests/test-intprops.c: Include macros.h.
17129         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17130         it's no longer documented to expand to an integer constant expression.
17131         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17132         argument is floating point, as it's no longer documented to expand
17133         to an integer constant expression in that case.
17134         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17135         compiler bugs reported by Bruno Haible.  See
17136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17137         (U0, U1): New constants, to work around the same bugs.  Also,
17138         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17139
17140         intprops: work around C compiler bugs
17141         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17142         bug in Sun C 5.11 2010/08/13 and other compilers; see
17143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17144
17145         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17146         * doc/intprops.texi (Integer Type Determination): Fix
17147         documentation for TYPE_IS_INTEGER: it returns an constant
17148         expression, not an integer constant expression.  Fix doc for
17149         TYPE_SIGNED: it returns an integer constant expression only if its
17150         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17151         hardly worth documented that way....)
17152
17153 2011-05-18  Bruno Haible  <bruno@clisp.org>
17154
17155         strerror_r: Avoid clobbering the strerror buffer when possible.
17156         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17157         Handle gnulib defined errno values here. When strerror() returns NULL
17158         or an empty string, return EINVAL.
17159         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17160         gnulib defined errno values here.
17161         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17162
17163 2011-05-18  Eric Blake  <eblake@redhat.com>
17164
17165         fnmatch: avoid compiler warning
17166         * lib/fnmatch_loop.c (FCT): Use correct type.
17167         Reported by Matthias Bolte.
17168
17169 2011-05-13  Jim Meyering  <meyering@redhat.com>
17170
17171         maint.mk: three new prohibit_<HDR>_without_use rules
17172         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17173         (sc_prohibit_stdio-safer_without_use): Likewise.
17174         (sc_prohibit_xfreopen_without_use): Likewise.
17175
17176 2011-05-17  Jim Meyering  <meyering@redhat.com>
17177
17178         announce-gen: fail if the NEWS delta is empty
17179         If there's nothing noteworthy in NEWS, then either you forgot
17180         or you shouldn't be releasing.
17181         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17182
17183 2011-05-17  Pádraig Brady <P@draigBrady.com>
17184
17185         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17186         reserved symbols starting with double underscore from the check.
17187
17188 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17189
17190         intprops: add doc
17191         * doc/intprops.texi: New file, documenting intprops.
17192         * doc/gnulib.texi (Particular Modules): Include it.
17193
17194         verify: add doc to gnulib manual and fix example
17195         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17196         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17197         (Compile-time Assertions): Fix example so it can't overflow.
17198
17199 2011-05-17  Jim Meyering  <meyering@redhat.com>
17200
17201         warnings.m4: don't usurp save_CPPFLAGS variable name
17202         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17203
17204         doc: fix typo
17205         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17206
17207 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17208             Bruno Haible  <bruno@clisp.org>
17209
17210         doc: Tweak recent change.
17211         * README (Portability guidelines): Tweak new text.
17212         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17213         Interix 6.1.
17214
17215 2011-05-16  Eric Blake  <eblake@redhat.com>
17216
17217         inttypes: avoid autoconf warning
17218         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17219         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17220
17221 2011-05-16  Sam Steingold <sds@gnu.org>
17222         and Eric Blake  <eblake@redhat.com>
17223
17224         vc-list-files: accept multiple directory operands
17225         * build-aux/vc-list-files: Iterate over all remaining operands.
17226
17227 2011-05-16  Bruno Haible  <bruno@clisp.org>
17228
17229         Fix confusion regarding deprecated modules.
17230         * modules/calloc (Status, Notice): Mark module as deprecated, not
17231         obsolete.
17232         * modules/fnmatch-posix (Status, Notice): Likewise.
17233         * modules/getdate (Status, Notice): Likewise.
17234         * modules/getopt (Status, Notice): Likewise.
17235         * modules/malloc (Status, Notice): Likewise.
17236         * modules/pipe (Status, Notice): Likewise.
17237         * modules/realloc (Status, Notice): Likewise.
17238         * modules/rename-dest-slash (Status, Notice): Likewise.
17239         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
17240         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
17241         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
17242         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
17243         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
17244
17245 2011-05-16  Bruno Haible  <bruno@clisp.org>
17246
17247         doc: List the target platforms.
17248         * doc/gnulib-intro.texi (Target Platforms): New section.
17249         * doc/gnulib.texi (Introduction): Update menu.
17250         * README (Portability guidelines): Refer to the new section. Update
17251         statement about oldest supported environment. Remove rationale why
17252         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
17253         unportable C89 function.
17254         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
17255         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17256
17257 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17258
17259         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17260
17261 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17262
17263         intprops-tests: new module
17264         * modules/intprops-tests, tests/test-intprops.c: New files.
17265
17266         intprops: add safe, portable integer overflow checking
17267         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17268         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17269         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17270         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17271         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17272         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17273         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17274         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17275         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17276         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17277         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17278
17279 2011-05-12  James Youngman  <jay@gnu.org>
17280
17281         Add a test for glibc's Bugzilla bug #12378.
17282         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17283         doesn't allow the literal matching of a lone "[" (which is
17284         required by POSIX).
17285         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17286
17287 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17288
17289         Sync glibc change fixing Bugzilla bug #12378.
17290         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17291         beginning and fall back to matching as normal character if the
17292         string ends before the matching ']' is found.  This is what POSIX
17293         requires.
17294
17295 2011-05-13  Eric Blake  <eblake@redhat.com>
17296
17297         getcwd-lgpl: relax test for FreeBSD
17298         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17299         issue.
17300         * tests/test-getcwd-lgpl.c (main): Relax test.
17301         Reported by Matthias Bolte.
17302
17303 2011-05-11  Eric Blake  <eblake@redhat.com>
17304
17305         test-fflush: silence compiler warning
17306         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17307
17308 2011-05-11  Bruno Haible  <bruno@clisp.org>
17309
17310         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17311         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17312         * modules/canonicalize (Depends-on): Add 'nocrash'.
17313         * modules/canonicalize-lgpl (Depends-on): Likewise.
17314         * doc/posix-functions/realpath.texi: Update platforms list.
17315         Reported by Ryan Schmidt <ryandesign@macports.org>.
17316
17317 2011-05-11  Bruno Haible  <bruno@clisp.org>
17318
17319         group-member: Declare function in <unistd.h>.
17320         * lib/unistd.in.h (group_member): New declaration.
17321         * lib/group-member.h: Remove file.
17322         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17323         * tests/test-unistd-c++.cc: Check signature of group_member.
17324         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17325         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17326         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17327         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17328         HAVE_GROUP_MEMBER.
17329         * modules/group-member (Files): Remove lib/group-member.h.
17330         (Depends-on): Add unistd. Specify conditions.
17331         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17332         (Include): Change to <unistd.h>.
17333         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17334         HAVE_GROUP_MEMBER.
17335         * NEWS: Mention the change.
17336         * lib/euidaccess.c: Don't include group-member.h.
17337
17338 2011-05-11  Bruno Haible  <bruno@clisp.org>
17339
17340         group-member: Document module.
17341         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17342         module.
17343
17344 2011-05-11  Bruno Haible  <bruno@clisp.org>
17345
17346         fclose: Fix mistake earlier today.
17347         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17348
17349 2011-05-11  Eric Blake  <eblake@redhat.com>
17350
17351         fclose: preserve fflush errors
17352         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17353         Reported by Jim Meyering.
17354
17355         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17356         * build-aux/bootstrap (check_versions): When no specific version
17357         is required, merely check that the app produces an exit status
17358         that indicates its existence.
17359
17360         maint.mk: drop redundant check
17361         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17362         the same but better.
17363
17364 2011-05-11  Bruno Haible  <bruno@clisp.org>
17365
17366         fclose: Fix possible link error.
17367         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17368         unregister_shadow_fd. Improve comments.
17369         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17370         Eric Blake.
17371
17372 2011-05-11  Jim Meyering  <meyering@redhat.com>
17373
17374         maint.mk: improve "can not" detection and generalize rule name
17375         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17376         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17377         Use the same technique as in sc_prohibit_doubled_word, so that
17378         we recognize "can not" also when the words are separated by a newline.
17379         Suggested by Eric Blake.
17380         (perl_filename_lineno_text_): Define.  Factored out of...
17381         (prohibit_doubled_word_): ...here.  Use the new definition.
17382         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17383         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17384         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17385
17386 2011-05-10  Eric Blake  <eblake@redhat.com>
17387
17388         fclose: avoid double close race when possible
17389         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17390         all but WINDOWS_SOCKETS.
17391
17392 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17393
17394         openat: correct new comment
17395         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17396
17397 2011-05-10  Jim Meyering  <meyering@redhat.com>
17398
17399         openat: add comments
17400         * lib/openat-proc.c (openat_proc_name): Add comments,
17401         mostly from Eric Blake.
17402
17403 2011-05-09  Eric Blake  <eblake@redhat.com>
17404
17405         openat: reduce syscalls in first probe of /proc
17406         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17407         be a directory.  Simplify the probe for .. bugs.
17408         * modules/openat (Depends-on): Drop same-inode.
17409         Reported by Bastien ROUCARIES.
17410
17411 2011-05-09  Jim Meyering  <meyering@redhat.com>
17412
17413         maint.mk: change semantics/name of tight_scope variables
17414         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17415         Rename variables to align with semantics that make them more useful.
17416
17417         maint.mk: tweak new rule's name not to impinge
17418         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17419         (sc_tight_scope): Use new rule name rather than $@-0.
17420
17421         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17422         * top/maint.mk (sc_tight_scope): New rule.
17423         (sc_tight_scope-0): New rule, ifdef'd out.
17424         (_gl_TS_dir): Default.
17425         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17426         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17427
17428 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17429
17430         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17431         Haible <bruno@clisp.org>.
17432
17433 2011-05-08  Bruno Haible  <bruno@clisp.org>
17434
17435         Comments.
17436         * m4/isnanf.m4: Add comment.
17437         * m4/isnanl.m4: Likewise.
17438
17439 2011-05-08  Bruno Haible  <bruno@clisp.org>
17440
17441         glob: Remove obsolete macro.
17442         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17443
17444 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17445
17446         intprops: Sun C 5.11 supports __typeof__
17447         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17448         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17449         which is new.
17450         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17451
17452         intprops: switch to usual gnulib indenting and naming
17453         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17454         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17455
17456         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17457
17458 2011-05-08  Jim Meyering  <meyering@redhat.com>
17459
17460         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17461         * top/maint.mk (release-prep): Use make's --no-print-directory
17462         option when generating the announcement.  This eliminates the
17463         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17464         generated announcement template.
17465
17466 2011-05-08  Bruno Haible  <bruno@clisp.org>
17467
17468         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17469         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17470         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17471
17472 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17473
17474         ignore-value, verify: Omit include files from lib_SOURCES.
17475         * modules/ignore-value, modules/verify (Makefile.am):
17476         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17477         that leads Automake to duplicate use of am__objects_... variables
17478         in Makefile.in.  See
17479         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17480
17481 2011-05-07  Bruno Haible  <bruno@clisp.org>
17482
17483         fclose: Simplify autoconf macro.
17484         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17485         defined.
17486
17487 2011-05-07  Bruno Haible  <bruno@clisp.org>
17488
17489         canonicalize-lgpl: Fix autoconf macro ordering bug.
17490         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17491         gl_STDLIB_H_DEFAULTS.
17492
17493 2011-05-06  Eric Blake  <eblake@redhat.com>
17494
17495         maintainer-makefile: make sc_po_check easier to tune
17496         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17497         to probe for strings, such as an alternate location for gnulib.
17498
17499         fclose: guarantee behavior on seekable stdin
17500         * modules/fclose (Depends-on): Add fflush.
17501         * doc/posix-functions/fclose.texi (fclose): Document this.
17502         * tests/test-fclose.c (main): Make test for this unconditional.
17503
17504 2011-05-06  Bruno Haible  <bruno@clisp.org>
17505
17506         fflush, fpurge: Relicense under LGPLv2+.
17507         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17508         * modules/fpurge (License): Likewise.
17509         With permission from Eric Blake and Jim Meyering.
17510         Suggested by Eric Blake.
17511
17512 2011-05-06  Karl Berry  <karl@gnu.org>
17513
17514         * MODULES.html.sh (func_all_modules): remove exit.
17515
17516 2011-05-06  Jim Meyering  <meyering@redhat.com>
17517
17518         maint.mk: use info-gnu@ as the default only for a stable release
17519         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17520         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17521         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17522         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17523
17524 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17525
17526         assert-h: new module, which supports C1X-style static_assert
17527         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17528         * lib/verify.h: Revamp so that this can be copied into assert.h,
17529         while retaining the ability to use it standalone as before.
17530         Rename private identifiers so as not to encroach on the
17531         standard C namespace, since this is now used by assert.h.
17532         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17533         the old verify_true.
17534         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17535         the old verify_true.  Use _GL_VERIFY_TYPE.
17536         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17537         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17538         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17539         defined when this file is copied into the replacement assert.h.
17540         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17541         and _Static_assert is not built in.
17542         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17543         defined, and use the new macros mentioned above.
17544         * doc/posix-headers/assert.texi: Document this.
17545
17546 2011-05-05  Bruno Haible  <bruno@clisp.org>
17547
17548         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17549         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17550         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17551         gl_REPLACE_FCLOSE here.
17552         * modules/fflush (Depends-on): Remove fclose.
17553         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17554         combination with module 'fclose'.
17555
17556 2011-05-05  Bruno Haible  <bruno@clisp.org>
17557
17558         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17559         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17560         gl_FUNC_FFLUSH.
17561         (gl_FUNC_FFLUSH): Use it.
17562         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17563         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
17564         gl_REPLACE_FSEEKO here.
17565
17566 2011-05-05  Bruno Haible  <bruno@clisp.org>
17567
17568         tzset: Relicense under LGPL.
17569         * modules/tzset (License): Change to LGPL.
17570         No agreement needed; it's a no-op.
17571
17572         strtoimax, strtoumax: Relicense under LGPL.
17573         * modules/strtoimax (License): Change to LGPL.
17574         * modules/strtoumax (License): Likewise.
17575         With permission from Jim Meyering, Paul Eggert:
17576         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
17577         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
17578
17579         getgroups: Relicense under LGPL.
17580         * modules/getgroups (License): Change to LGPL.
17581         With permission from Jim Meyering, Paul Eggert, Eric Blake:
17582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17584         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17585
17586         nanosleep: Relicense under LGPL.
17587         * modules/nanosleep (License): Change to LGPL.
17588         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
17589         Haible:
17590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17593         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17594
17595         futimens: Relicense under LGPL.
17596         * modules/futimens (License): Change to LGPL.
17597         With permission from Eric Blake:
17598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17599
17600         fflush: Relicense under LGPL.
17601         * modules/fflush (License): Change to LGPL.
17602         With permission from Eric Blake, Bruno Haible, Jim Meyering:
17603         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
17606
17607         tmpfile: Relicense under LGPL.
17608         * modules/tmpfile (License): Change to LGPL.
17609         With permission from Ben Pfaff:
17610         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17611
17612         isfinite: Relicense under LGPL.
17613         * modules/isfinite (License): Change to LGPL.
17614         With permission from Ben Pfaff, Bruno Haible:
17615         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
17617
17618         acosl..tanl: Relicense under LGPL.
17619         * modules/acosl (License): Change to LGPL.
17620         * modules/asinl (License): Likewise.
17621         * modules/atanl (License): Likewise.
17622         * modules/cosl (License): Likewise.
17623         * modules/expl (License): Likewise.
17624         * modules/logl (License): Likewise.
17625         * modules/sinl (License): Likewise.
17626         * modules/sqrtl (License): Likewise.
17627         * modules/tanl (License): Likewise.
17628         Source code originally from glibc and Paolo Bonzini. Agreements:
17629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
17630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
17631
17632 2011-05-05  Bruno Haible  <bruno@clisp.org>
17633
17634         signal: Define sighandler_t.
17635         * lib/signal.in.h (sighandler_t): New type.
17636         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
17637         whether sighandler_t is defined.
17638         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
17639         * modules/signal (Depends-on): Add extensions.
17640         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
17641         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
17642         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
17643
17644 2011-05-05  Eric Blake  <eblake@redhat.com>
17645
17646         maint: remove useless REPLACE_*_H macros
17647         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
17648         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17649         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17650         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
17651         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17652         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17653         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
17654         * m4/btowc.m4: Update callers.
17655         * m4/dirfd.m4: Likewise.
17656         * m4/duplocale.m4: Likewise.
17657         * m4/fchdir.m4: Likewise.
17658         * m4/fdopendir.m4: Likewise.
17659         * m4/inet_ntop.m4: Likewise.
17660         * m4/inet_pton.m4: Likewise.
17661         * m4/ioctl.m4: Likewise.
17662         * m4/mbrlen.m4: Likewise.
17663         * m4/mbrtowc.m4: Likewise.
17664         * m4/mbsinit.m4: Likewise.
17665         * m4/mbsnrtowcs.m4: Likewise.
17666         * m4/mbsrtowcs.m4: Likewise.
17667         * m4/poll.m4: Likewise.
17668         * m4/setlocale.m4: Likewise.
17669         * m4/wcrtomb.m4: Likewise.
17670         * m4/wcsnrtombs.m4: Likewise.
17671         * m4/wcsrtombs.m4: Likewise.
17672         * m4/wctob.m4: Likewise.
17673         * m4/wcwidth.m4: Likewise.
17674         * modules/posix_spawn: Likewise.
17675         * modules/posix_spawn_file_actions_addclose: Likewise.
17676         * modules/posix_spawn_file_actions_adddup2: Likewise.
17677         * modules/posix_spawn_file_actions_addopen: Likewise.
17678         * modules/posix_spawn_file_actions_destroy: Likewise.
17679         * modules/posix_spawn_file_actions_init: Likewise.
17680         * modules/posix_spawnattr_destroy: Likewise.
17681         * modules/posix_spawnattr_getflags: Likewise.
17682         * modules/posix_spawnattr_getpgroup: Likewise.
17683         * modules/posix_spawnattr_getschedparam: Likewise.
17684         * modules/posix_spawnattr_getschedpolicy: Likewise.
17685         * modules/posix_spawnattr_getsigdefault: Likewise.
17686         * modules/posix_spawnattr_getsigmask: Likewise.
17687         * modules/posix_spawnattr_init: Likewise.
17688         * modules/posix_spawnattr_setflags: Likewise.
17689         * modules/posix_spawnattr_setpgroup: Likewise.
17690         * modules/posix_spawnattr_setschedparam: Likewise.
17691         * modules/posix_spawnattr_setschedpolicy: Likewise.
17692         * modules/posix_spawnattr_setsigdefault: Likewise.
17693         * modules/posix_spawnattr_setsigmask: Likewise.
17694         * modules/posix_spawnp: Likewise.
17695
17696 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
17697
17698         Add option to do-release-commit-and-tag to specify branch.
17699         * build-aux/do-release-commit-and-tag: Add --branch.
17700
17701 2011-05-03  Bruno Haible  <bruno@clisp.org>
17702
17703         Avoid unnecessary compilation units, through conditional dependencies.
17704         * modules/accept (Depends-on): Add conditions to the dependencies.
17705         * modules/acosl (Depends-on): Likewise.
17706         * modules/argz (Depends-on): Likewise.
17707         * modules/asinl (Depends-on): Likewise.
17708         * modules/atanl (Depends-on): Likewise.
17709         * modules/atoll (Depends-on): Likewise.
17710         * modules/bind (Depends-on): Likewise.
17711         * modules/btowc (Depends-on): Likewise.
17712         * modules/canonicalize-lgpl (Depends-on): Likewise.
17713         * modules/ceil (Depends-on): Likewise.
17714         * modules/ceilf (Depends-on): Likewise.
17715         * modules/ceill (Depends-on): Likewise.
17716         * modules/chdir-long (Depends-on): Likewise.
17717         * modules/chown (Depends-on): Likewise.
17718         * modules/close (Depends-on): Likewise.
17719         * modules/connect (Depends-on): Likewise.
17720         * modules/cosl (Depends-on): Likewise.
17721         * modules/dirfd (Depends-on): Likewise.
17722         * modules/dprintf (Depends-on): Likewise.
17723         * modules/dprintf-posix (Depends-on): Likewise.
17724         * modules/error (Depends-on): Likewise.
17725         * modules/euidaccess (Depends-on): Likewise.
17726         * modules/expl (Depends-on): Likewise.
17727         * modules/faccessat (Depends-on): Likewise.
17728         * modules/fchdir (Depends-on): Likewise.
17729         * modules/fclose (Depends-on): Likewise.
17730         * modules/fcntl (Depends-on): Likewise.
17731         * modules/fdopendir (Depends-on): Likewise.
17732         * modules/fflush (Depends-on): Likewise.
17733         * modules/floor (Depends-on): Likewise.
17734         * modules/floorf (Depends-on): Likewise.
17735         * modules/floorl (Depends-on): Likewise.
17736         * modules/fnmatch (Depends-on): Likewise.
17737         * modules/fopen (Depends-on): Likewise.
17738         * modules/fprintf-posix (Depends-on): Likewise.
17739         * modules/frexp (Depends-on): Likewise.
17740         * modules/frexp-nolibm (Depends-on): Likewise.
17741         * modules/frexpl (Depends-on): Likewise.
17742         * modules/frexpl-nolibm (Depends-on): Likewise.
17743         * modules/fseek (Depends-on): Likewise.
17744         * modules/fsusage (Depends-on): Likewise.
17745         * modules/ftell (Depends-on): Likewise.
17746         * modules/ftello (Depends-on): Likewise.
17747         * modules/futimens (Depends-on): Likewise.
17748         * modules/getcwd (Depends-on): Likewise.
17749         * modules/getcwd-lgpl (Depends-on): Likewise.
17750         * modules/getdelim (Depends-on): Likewise.
17751         * modules/getdomainname (Depends-on): Likewise.
17752         * modules/getgroups (Depends-on): Likewise.
17753         * modules/gethostname (Depends-on): Likewise.
17754         * modules/getline (Depends-on): Likewise.
17755         * modules/getlogin_r (Depends-on): Likewise.
17756         * modules/getopt-posix (Depends-on): Likewise.
17757         * modules/getpeername (Depends-on): Likewise.
17758         * modules/getsockname (Depends-on): Likewise.
17759         * modules/getsockopt (Depends-on): Likewise.
17760         * modules/getsubopt (Depends-on): Likewise.
17761         * modules/getusershell (Depends-on): Likewise.
17762         * modules/glob (Depends-on): Likewise.
17763         * modules/grantpt (Depends-on): Likewise.
17764         * modules/iconv_open (Depends-on): Likewise.
17765         * modules/iconv_open-utf (Depends-on): Likewise.
17766         * modules/inet_ntop (Depends-on): Likewise.
17767         * modules/inet_pton (Depends-on): Likewise.
17768         * modules/ioctl (Depends-on): Likewise.
17769         * modules/isapipe (Depends-on): Likewise.
17770         * modules/isfinite (Depends-on): Likewise.
17771         * modules/isinf (Depends-on): Likewise.
17772         * modules/lchown (Depends-on): Likewise.
17773         * modules/ldexpl (Depends-on): Likewise.
17774         * modules/link (Depends-on): Likewise.
17775         * modules/linkat (Depends-on): Likewise.
17776         * modules/listen (Depends-on): Likewise.
17777         * modules/logl (Depends-on): Likewise.
17778         * modules/lstat (Depends-on): Likewise.
17779         * modules/mbrlen (Depends-on): Likewise.
17780         * modules/mbrtowc (Depends-on): Likewise.
17781         * modules/mbsinit (Depends-on): Likewise.
17782         * modules/mbsnrtowcs (Depends-on): Likewise.
17783         * modules/mbsrtowcs (Depends-on): Likewise.
17784         * modules/mbtowc (Depends-on): Likewise.
17785         * modules/memcmp (Depends-on): Likewise.
17786         * modules/mkdir (Depends-on): Likewise.
17787         * modules/mkdtemp (Depends-on): Likewise.
17788         * modules/mkfifo (Depends-on): Likewise.
17789         * modules/mkfifoat (Depends-on): Likewise.
17790         * modules/mknod (Depends-on): Likewise.
17791         * modules/mkostemp (Depends-on): Likewise.
17792         * modules/mkostemps (Depends-on): Likewise.
17793         * modules/mkstemp (Depends-on): Likewise.
17794         * modules/mkstemps (Depends-on): Likewise.
17795         * modules/mktime (Depends-on): Likewise.
17796         * modules/nanosleep (Depends-on): Likewise.
17797         * modules/open (Depends-on): Likewise.
17798         * modules/openat (Depends-on): Likewise.
17799         * modules/perror (Depends-on): Likewise.
17800         * modules/poll (Depends-on): Likewise.
17801         * modules/popen (Depends-on): Likewise.
17802         * modules/posix_spawn (Depends-on): Likewise.
17803         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17804         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17805         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17806         * modules/posix_spawnp (Depends-on): Likewise.
17807         * modules/pread (Depends-on): Likewise.
17808         * modules/printf-posix (Depends-on): Likewise.
17809         * modules/ptsname (Depends-on): Likewise.
17810         * modules/putenv (Depends-on): Likewise.
17811         * modules/pwrite (Depends-on): Likewise.
17812         * modules/readline (Depends-on): Likewise.
17813         * modules/readlink (Depends-on): Likewise.
17814         * modules/readlinkat (Depends-on): Likewise.
17815         * modules/recv (Depends-on): Likewise.
17816         * modules/recvfrom (Depends-on): Likewise.
17817         * modules/regex (Depends-on): Likewise.
17818         * modules/remove (Depends-on): Likewise.
17819         * modules/rename (Depends-on): Likewise.
17820         * modules/renameat (Depends-on): Likewise.
17821         * modules/rmdir (Depends-on): Likewise.
17822         * modules/round (Depends-on): Likewise.
17823         * modules/roundf (Depends-on): Likewise.
17824         * modules/roundl (Depends-on): Likewise.
17825         * modules/rpmatch (Depends-on): Likewise.
17826         * modules/select (Depends-on): Likewise.
17827         * modules/send (Depends-on): Likewise.
17828         * modules/sendto (Depends-on): Likewise.
17829         * modules/setenv (Depends-on): Likewise.
17830         * modules/setlocale (Depends-on): Likewise.
17831         * modules/setsockopt (Depends-on): Likewise.
17832         * modules/shutdown (Depends-on): Likewise.
17833         * modules/sigaction (Depends-on): Likewise.
17834         * modules/signbit (Depends-on): Likewise.
17835         * modules/sigprocmask (Depends-on): Likewise.
17836         * modules/sinl (Depends-on): Likewise.
17837         * modules/sleep (Depends-on): Likewise.
17838         * modules/snprintf (Depends-on): Likewise.
17839         * modules/snprintf-posix (Depends-on): Likewise.
17840         * modules/socket (Depends-on): Likewise.
17841         * modules/sprintf-posix (Depends-on): Likewise.
17842         * modules/sqrtl (Depends-on): Likewise.
17843         * modules/stat (Depends-on): Likewise.
17844         * modules/strchrnul (Depends-on): Likewise.
17845         * modules/strdup-posix (Depends-on): Likewise.
17846         * modules/strerror (Depends-on): Likewise.
17847         * modules/strerror_r-posix (Depends-on): Likewise.
17848         * modules/strndup (Depends-on): Likewise.
17849         * modules/strnlen (Depends-on): Likewise.
17850         * modules/strptime (Depends-on): Likewise.
17851         * modules/strsep (Depends-on): Likewise.
17852         * modules/strsignal (Depends-on): Likewise.
17853         * modules/strstr-simple (Depends-on): Likewise.
17854         * modules/strtod (Depends-on): Likewise.
17855         * modules/strtoimax (Depends-on): Likewise.
17856         * modules/strtok_r (Depends-on): Likewise.
17857         * modules/strtoumax (Depends-on): Likewise.
17858         * modules/symlink (Depends-on): Likewise.
17859         * modules/symlinkat (Depends-on): Likewise.
17860         * modules/tanl (Depends-on): Likewise.
17861         * modules/tcgetsid (Depends-on): Likewise.
17862         * modules/tmpfile (Depends-on): Likewise.
17863         * modules/trunc (Depends-on): Likewise.
17864         * modules/truncf (Depends-on): Likewise.
17865         * modules/truncl (Depends-on): Likewise.
17866         * modules/uname (Depends-on): Likewise.
17867         * modules/unlink (Depends-on): Likewise.
17868         * modules/unlockpt (Depends-on): Likewise.
17869         * modules/unsetenv (Depends-on): Likewise.
17870         * modules/usleep (Depends-on): Likewise.
17871         * modules/utimensat (Depends-on): Likewise.
17872         * modules/vasprintf (Depends-on): Likewise.
17873         * modules/vdprintf (Depends-on): Likewise.
17874         * modules/vdprintf-posix (Depends-on): Likewise.
17875         * modules/vfprintf-posix (Depends-on): Likewise.
17876         * modules/vprintf-posix (Depends-on): Likewise.
17877         * modules/vsnprintf (Depends-on): Likewise.
17878         * modules/vsnprintf-posix (Depends-on): Likewise.
17879         * modules/vsprintf-posix (Depends-on): Likewise.
17880         * modules/wcrtomb (Depends-on): Likewise.
17881         * modules/wcscasecmp (Depends-on): Likewise.
17882         * modules/wcscspn (Depends-on): Likewise.
17883         * modules/wcsdup (Depends-on): Likewise.
17884         * modules/wcsncasecmp (Depends-on): Likewise.
17885         * modules/wcsnrtombs (Depends-on): Likewise.
17886         * modules/wcspbrk (Depends-on): Likewise.
17887         * modules/wcsrtombs (Depends-on): Likewise.
17888         * modules/wcsspn (Depends-on): Likewise.
17889         * modules/wcsstr (Depends-on): Likewise.
17890         * modules/wcstok (Depends-on): Likewise.
17891         * modules/wcswidth (Depends-on): Likewise.
17892         * modules/wctob (Depends-on): Likewise.
17893         * modules/wctomb (Depends-on): Likewise.
17894         * modules/wctype (Depends-on): Likewise.
17895         * modules/wcwidth (Depends-on): Likewise.
17896         * modules/write (Depends-on): Likewise.
17897
17898 2011-05-03  Bruno Haible  <bruno@clisp.org>
17899
17900         Support for conditional dependencies.
17901         * doc/gnulib.texi (Module description): Document the syntax of
17902         conditional dependencies.
17903         * gnulib-tool: New option --conditional-dependencies.
17904         (func_usage): Document it.
17905         (cond_dependencies): New variable.
17906         (func_get_automake_snippet_conditional,
17907         func_get_automake_snippet_unconditional): New functions, extracted from
17908         func_get_automake_snippet.
17909         (func_get_automake_snippet): Use them.
17910         (sed_first_32_chars): New variable.
17911         (func_module_shellfunc_name): New function.
17912         (func_module_shellvar_name): New function.
17913         (func_module_conditional_name): New function.
17914         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17915         func_cond_module_condition): New functions.
17916         (func_modules_transitive_closure): Add support for conditional
17917         dependencies.
17918         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17919         conditional automake snippet in an automake conditional.
17920         (func_emit_autoconf_snippets): Emit shell functions that contain the
17921         code for conditional modules.
17922         (func_import, func_create_testdir): Update specification.
17923
17924 2011-05-03  Eric Blake  <eblake@redhat.com>
17925
17926         test-getaddrinfo: report error information
17927         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17928
17929 2011-05-03  Jim Meyering  <meyering@redhat.com>
17930
17931         bootstrap: avoid build failure when $GZIP is set
17932         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17933         program name.  If defined at all, it is supposed to list gzip options.
17934         Reported by Alan Curry in http://debbugs.gnu.org/8609
17935
17936 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17937
17938         readme-release: new module with release instructions
17939         * modules/readme-release: New module.
17940         * top/README-release: New file, from coreutils, grep, diffutils.
17941         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17942
17943 2011-05-02  Eric Blake  <eblake@redhat.com>
17944
17945         fflush: also replace fclose when fixing fflush
17946         * modules/fflush (Depends-on): Add fclose.
17947         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17948         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17949         memstreams with no backing fd.
17950         * doc/posix-functions/fclose.texi (fclose): Document the use of
17951         fflush module to fix the bug.
17952         * tests/test-fclose.c (main): Relax test when fclose is used in
17953         isolation.
17954
17955         fclose: add some tests
17956         * modules/fclose-tests: New test module.
17957         * tests/test-fclose.c: New file.
17958         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17959
17960         fclose: reduced dependencies
17961         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17962         simpler lseek.
17963         * lib/fclose.c (rpl_fclose): Likewise.
17964         Reported by Simon Josefsson.
17965
17966         exit: drop remaining clients
17967         * modules/argmatch (Depends-on): Replace exit with stdlib.
17968         * modules/copy-file (Depends-on): Likewise.
17969         * modules/execute (Depends-on): Likewise.
17970         * modules/exitfail (Depends-on): Likewise.
17971         * modules/obstack (Depends-on): Likewise.
17972         * modules/pagealign_alloc (Depends-on): Likewise.
17973         * modules/pipe-filter-gi (Depends-on): Likewise.
17974         * modules/pipe-filter-ii (Depends-on): Likewise.
17975         * modules/savewd (Depends-on): Likewise.
17976         * modules/spawn-pipe (Depends-on): Likewise.
17977         * modules/wait-process (Depends-on): Likewise.
17978         * modules/xsetenv (Depends-on): Likewise.
17979         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17980         * modules/git-merge-changelog (Depends-on): Likewise.
17981         * modules/long-options (Depends-on): Likewise.
17982         * modules/pt_chown (Depends-on): Likewise.
17983         * modules/sysexits (Depends-on): Likewise.
17984
17985         freading: relax license from LGPLv3+ to LGPLv2+
17986         * modules/freading (License): Relax LGPL version.
17987
17988 2011-05-02  Bruno Haible  <bruno@clisp.org>
17989
17990         fchdir: Remove unused dependencies.
17991         * modules/fchdir (Depends-on): Remove include_next.
17992
17993 2011-05-02  Bruno Haible  <bruno@clisp.org>
17994
17995         gnulib-tool: Refactor.
17996         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17997         from func_emit_autoconf_snippets.
17998         (func_emit_autoconf_snippets): Use it.
17999
18000 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18001
18002         * NEWS: Document removal of 'exit'.
18003         * modules/exit: Remove file.
18004
18005 2011-05-01  Bruno Haible  <bruno@clisp.org>
18006
18007         Update DEPENDENCIES.
18008         * DEPENDENCIES (gettext): Recommend the newest release.
18009         Reported by Simon Josefsson.
18010
18011 2011-05-01  Bruno Haible  <bruno@clisp.org>
18012
18013         gnulib-tool: Reduce code duplication.
18014         * gnulib-tool (func_emit_autoconf_snippets): New function.
18015         (func_import, func_create_testdir): Use it.
18016
18017 2011-04-30  Eric Blake  <eblake@redhat.com>
18018
18019         fclose: don't fail on non-seekable input stream
18020         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18021         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18022         since fflush is allowed to fail in that case.
18023
18024 2011-04-30  Bruno Haible  <bruno@clisp.org>
18025
18026         dup3: cleanup
18027         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18028
18029 2011-04-30  Bruno Haible  <bruno@clisp.org>
18030
18031         netdb: Make it work in C++ mode.
18032         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18033         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18034         module.
18035         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18036         gl_MODULE_INDICATOR_FOR_TESTS.
18037         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18038         * modules/netdb-c++-tests: New file.
18039         * tests/test-netdb-c++.cc: New file.
18040
18041 2011-04-30  Bruno Haible  <bruno@clisp.org>
18042
18043         New modules 'vfscanf', 'vscanf'.
18044         * modules/vfscanf: New file.
18045         * modules/vscanf: New file.
18046         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18047         here.
18048         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18049         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18050
18051 2011-04-30  Bruno Haible  <bruno@clisp.org>
18052
18053         passfd: Add comments.
18054         * lib/passfd.c: Add comments about platforms.
18055
18056 2011-04-30  Bruno Haible  <bruno@clisp.org>
18057
18058         sys_uio: Make <sys/uio.h> self-contained.
18059         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18060         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18061
18062 2011-04-30  Bruno Haible  <bruno@clisp.org>
18063
18064         sys_socket: Ensure 'struct iovec' definition.
18065         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18066         <sys/socket.h>.
18067         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18068
18069 2011-04-30  Bruno Haible  <bruno@clisp.org>
18070
18071         sys_uio: Protect definition of 'struct iovec'.
18072         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18073         it as a C struct.
18074
18075 2011-04-30  Bruno Haible  <bruno@clisp.org>
18076
18077         manywarnings: fix indentation
18078         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18079
18080 2011-04-30  Pádraig Brady <P@draigBrady.com>
18081
18082         manywarnings: add -Wno-missing-field-initializers if needed.
18083         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18084         option if it's needed to allow initialization with { 0, }
18085
18086 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18087
18088         announce-gen: cosmetic improvement
18089         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18090
18091 2011-04-29  Jim Meyering  <meyering@redhat.com>
18092
18093         vc-list-files: indent with spaces, not TABs
18094         * build-aux/vc-list-files: Convert leading TABs to spaces,
18095         to match the style of most other files in gnulib.
18096
18097         announce-gen: indent with spaces, not TABs
18098         * build-aux/announce-gen: Convert all TABs to spaces, to match
18099         the style of most other files in gnulib.
18100
18101 2011-04-29  Eric Blake  <eblake@redhat.com>
18102
18103         quotearg: avoid uninitialized variable use
18104         * lib/quotearg.c (quoting_options_from_style): Initialize
18105         remaining fields, and ensure that custom styles are only used via
18106         quoting_options rather than quoting_style.
18107
18108 2011-04-29  Jim Meyering  <meyering@redhat.com>
18109
18110         maint.mk: remove unused VC-tag variable
18111         * top/maint.mk (VC-tag): Remove unused variable.
18112
18113 2011-04-29  Bruno Haible  <bruno@clisp.org>
18114
18115         netdb: fix gai_strerror replacements
18116         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18117         * modules/netdb: Substitute it.
18118
18119 2011-04-29  Jim Meyering  <meyering@redhat.com>
18120
18121         test-getcwd.c: avoid new set-but-not-used warning
18122         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18123         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18124         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18125         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18126
18127         test-hash.c: avoid a new shadowing warning
18128         * tests/test-hash.c (main): Don't shadow "dup".
18129
18130 2011-04-28  Eric Blake  <eblake@redhat.com>
18131
18132         getaddrinfo: fix gai_strerror signature
18133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18134         and work around mingw with UNICODE defined.
18135         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18136         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18137         * modules/netdb (Makefile.am): Substitute it.
18138         * lib/netdb.in.h (gai_strerror): Declare replacement.
18139         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18140         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18141         the fix.
18142
18143         getsockopt: avoid compiler warning
18144         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18145         Reported by Matthias Bolte.
18146
18147         tests: drop unused link dependency
18148         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18149         * modules/dirent-safer-tests (Makefile.am): Likewise.
18150         * modules/fdopendir-tests (Makefile.am): Likewise.
18151         * modules/mkfifoat-tests (Makefile.am): Likewise.
18152         * modules/openat-safer-tests (Makefile.am): Likewise.
18153         * modules/openat-tests (Makefile.am): Likewise.
18154         * modules/readlinkat-tests (Makefile.am): Likewise.
18155         * modules/symlinkat-tests (Makefile.am): Likewise.
18156         * modules/linkat-tests (Makefile.am): Likewise.
18157         (Depends-on): Switch to filenamecat-lgpl.
18158         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18159         LIBINTL.
18160         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18161         * tests/test-linkat.c (main): Don't require xalloc.
18162
18163         hash, mgetgroups: drop xalloc dependency
18164         * lib/hash.c (includes): Adjust includes.
18165         * lib/mgetgroups.c (includes): Likewise.
18166         (xgetgroups): Move...
18167         * lib/xgetgroups.c: ...to new file.
18168         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18169         * modules/xgetgroups: New file, split from...
18170         * modules/mgetgroups: ...here.
18171         (Depends-on): Add xalloc-oversized.
18172         * modules/hash (Depends-on): Likewise.
18173         * modules/hash-tests (Depends-on): Drop xalloc.
18174         (test_hash_LDADD): Drop unused library.
18175         * tests/test-hash.c (main): Break xalloc dependency.
18176         (includes): Drop unused include.
18177
18178         xalloc-oversized: new module
18179         * modules/xalloc-oversized: New module.
18180         * modules/xalloc (Depends-on): Add it.
18181         * lib/xalloc.h (xalloc_oversized): Move...
18182         * lib/xalloc-oversized.h: ...into new file.
18183
18184         utimecmp: drop dependency on xmalloc
18185         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18186         due to memory pressure.
18187         * modules/utimecmp (Depends-on): Drop xalloc.
18188
18189 2011-04-27  Eric Blake  <eblake@redhat.com>
18190
18191         getcwd: fix mingw bugs
18192         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18193         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18194         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18195
18196 2011-04-27  Bruno Haible  <bruno@clisp.org>
18197
18198         mkstemps: Ensure declaration on MacOS X 10.5.
18199         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18200         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18201         MacOS X.
18202
18203 2011-04-27  Bruno Haible  <bruno@clisp.org>
18204
18205         mkstemp: More documentation.
18206         * doc/posix-functions/mkstemp.texi: Document header file problem on
18207         MacOS X.
18208
18209 2011-04-27  Bruno Haible  <bruno@clisp.org>
18210
18211         mkstemp: Tweak configure message when cross-compiling.
18212         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18213         result as a guess.
18214
18215 2011-04-27  Bruno Haible  <bruno@clisp.org>
18216
18217         clean-temp: Clarify what it does.
18218         * lib/clean-temp.h: Add more comments.
18219         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18220         module.
18221         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18222         * doc/glibc-functions/mkstemps.texi: Likewise.
18223         * doc/glibc-functions/mkostemps.texi: Likewise.
18224
18225 2011-04-27  Eric Blake  <eblake@redhat.com>
18226
18227         fchdir: avoid extra chdir and fix test
18228         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18229         getcwd-lgpl.
18230         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18231         have to be canonical.
18232         (canonicalize_file_name): Drop unused macro.
18233         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
18234
18235         filenamecat-lgpl: fix licence
18236         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
18237         when it was first created.
18238
18239         linkat, renameat: add missing dependency
18240         * modules/linkat (Depends-on): Require getcwd-lgpl.
18241         * modules/renameat (Depends-on): Likewise.
18242
18243         tests: reduce dependencies
18244         * tests/test-linkat.c (main): Use lighter-weight getcwd.
18245         * tests/test-renameat.c (main): Likewise.
18246         * modules/linkat-tests (Depends-on): Relax dependency.
18247         * modules/renameat-tests (Depends-on): Likewise.
18248         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
18249         dependency explicit.
18250
18251         save-cwd: reduce default dependency
18252         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
18253         * lib/save-cwd.c: Update comments.
18254         * NEWS: Document the semantic change.
18255
18256         getcwd: enhance tests
18257         * tests/test-getcwd-lgpl.c: New file, taken from...
18258         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18259         repeat long path stress tests from m4 probe.
18260         * modules/getcwd-lgpl-tests: New module.
18261         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18262         * m4/getcwd-abort-bug.m4: Update comment.
18263         * m4/getcwd-path-max.m4: Likewise.
18264
18265         getcwd-lgpl: new module
18266         * modules/getcwd-lgpl: New module.
18267         * lib/getcwd-lgpl.c: New file.
18268         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18269         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18270         * modules/getcwd (configure.ac): Set C witness.
18271         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18272
18273         getcwd: tweak comments
18274         * m4/getcwd-abort-bug.m4: Fix comments.
18275         * m4/getcwd-path-max.m4: Likewise.
18276         * m4/getcwd.m4: Likewise.
18277
18278 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18279         and Eric Blake  <eblake@redhat.com>
18280
18281         mkstemp: replace if system version uses wrong permissions
18282         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18283         read/write mode bits set in file created by mkstemp.
18284         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18285
18286 2011-04-27  Eric Blake  <eblake@redhat.com>
18287
18288         passfd: avoid compiler warning
18289         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18290         Reported by Laine Stump.
18291
18292 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18293
18294         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18295         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18296
18297 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18298         and Eric Blake  <eblake@redhat.com>
18299
18300         mkstemp: mention clean-temp module
18301         * lib/mkstemp.c: Add comment.
18302         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18303
18304 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18305
18306         inttypes: also provide default values for 32-bit tests
18307         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18308         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18309
18310 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18311
18312         strtoumax: remove dependency on strtoimax
18313         This is like the strtoull change of yesterday.
18314         * modules/strtoumax (Files): Add lib/strtoimax.c.
18315         (Depends-on): Remove strtoimax and add verify.
18316
18317         inttypes-incomplete: new module
18318         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18319         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18320         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18321         of gl_INTTYPES_H.
18322         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18323         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18324         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18325         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18326         * modules/strtoumax, modules/xstrtol (Depends-on):
18327         Depend on inttypes-incomplete, not inttypes.
18328         * modules/inttypes-incomplete: New module, containing the contents
18329         of the old modules/inttypes module, except that the Files: section
18330         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18331         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18332         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18333         (Depends-on): Depend only on inttypes-incomplete.
18334         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18335
18336         inttypes: omit now-redundant strtoimax and strtoumax work
18337         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18338         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18339
18340         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18341         This supports apps that need pointers to strtoimax and strtoumax,
18342         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18343         nonexistent functions.  See
18344         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18345         et seq.
18346         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18347         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18348         a macro.
18349         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18350
18351 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18352
18353         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18354
18355 2011-04-25  Bruno Haible  <bruno@clisp.org>
18356
18357         strtol, strtoul: Mark modules as obsolete.
18358         * modules/strtol (Status, Notice): New sections.
18359         * modules/strtoul (Status, Notice): New sections.
18360
18361 2011-04-25  Bruno Haible  <bruno@clisp.org>
18362
18363         strtod: Remove check for strtod, unless supporting old platforms.
18364         * modules/strtod-obsolete: New file.
18365         * m4/strtod-obsolete.m4: New file.
18366         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18367         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18368         * modules/strtod (Depends-on): Add strtod-obsolete.
18369         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18370
18371 2011-04-25  Bruno Haible  <bruno@clisp.org>
18372
18373         strcase: Make module obsolete.
18374         * modules/strcase (Status, Notice): New sections.
18375
18376 2011-04-25  Bruno Haible  <bruno@clisp.org>
18377
18378         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18379         * modules/dup2-obsolete: New file.
18380         * m4/dup2-obsolete.m4: New file.
18381         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18382         gl_FUNC_DUP2_OBSOLETE is not also defined.
18383         * modules/dup2 (Depends-on): Add dup2-obsolete.
18384         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18385
18386 2011-04-25  Bruno Haible  <bruno@clisp.org>
18387
18388         strnlen: Avoid memchr related link error on old obsolete platforms.
18389         * modules/memchr-obsolete: New file.
18390         * m4/memchr-obsolete.m4: New file.
18391         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18392         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18393         * modules/memchr (Depends-on): Add memchr-obsolete.
18394         * modules/strnlen (Depends-on): Likewise.
18395         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18396
18397 2011-04-25  Jim Meyering  <meyering@redhat.com>
18398
18399         maint.mk: makefile_at_at_check extend and clean up
18400         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18401         in addition to */Makefile.am.
18402         Exempt legitimate uses of @VAR@ notation, e.g.,
18403         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18404         Remove obsolete coreutils-specific comment.
18405         Prompted by discussion here:
18406         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18407
18408 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18409
18410         strtoul: remove dependency on strtol
18411         This is so that 'configure' need not check for strtol merely because
18412         the application needs strtoul.
18413         * modules/strtoul (Files): Add lib/strtol.c.
18414         (Depends-on): Remove strtol.
18415
18416         strtoull: remove dependency on strtoul
18417         This is like the strtoll change.
18418         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18419         (Depends-on): Remove strtoul.
18420
18421         strtoll: remove dependency on strtol
18422         This is so that 'configure' need not check for strtol merely because
18423         the application needs strtoll.
18424         * modules/strtoll (Files): Add lib/strtol.c.
18425         (Depends-on): Remove strtol.
18426
18427 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18428
18429         inttypes: Move some configure check to module 'imaxdiv'.
18430         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18431         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18432         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18433
18434 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18435
18436         inttypes: Move some configure check to module 'imaxabs'.
18437         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18438         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18439         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18440
18441 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18442
18443         inttypes: Remove configure tests that are not needed since 2009-12-31.
18444         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18445         gl_cv_header_working_inttypes_h.
18446
18447 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18448
18449         * modules/strnlen (Depends-on): Remove memchr.
18450         The strnlen implementation doesn't need the memchr module's fixes; see
18451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18452
18453         strtol: remove dependency on wchar
18454         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18455         * modules/strtol (Depends-on): Remove wchar.
18456
18457 2011-04-21  Eric Blake  <eblake@redhat.com>
18458
18459         passfd: fix test regression on Linux
18460         * modules/passfd-tests (configure.ac): Correct socketpair check.
18461
18462         passfd: speed up configure and drop unused code
18463         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18464         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18465         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18466         Instead of probing at configure for unix_scm_rights_bsd44_way,
18467         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18468         check to a struct member probe.
18469         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18470         (sendfd, recvfd): Update preprocessor checks.
18471         * modules/passfd (Files): Reflect rename, and drop unused file.
18472         (Depends-on): Drop unused dependency.
18473
18474         passfd: allow compilation on mingw
18475         * modules/sys_socket (Depends-on): Add sys_uio.
18476         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18477         iovec and a minimal struct msghdr.
18478         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18479         * tests/test-sys_socket.c (main): Enhance test.
18480         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18481         guaranteed to provide what we need.
18482         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18483         * modules/passfd-tests (Depends-on): Add sys_wait.
18484         * tests/test-passfd.c (main): Skip test on mingw, for now.
18485         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18486         partial 'struct msghdr' implementation.
18487
18488         sys_uio: new module
18489         * modules/sys_uio: New module.
18490         * modules/sys_uio-tests: Likewise.
18491         * lib/sys_uio.in.h: New file.
18492         * m4/sys_uio_h.m4: Likewise.
18493         * tests/test-sys_uio.c: Likewise.
18494         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18495         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18496
18497 2011-04-20  Jim Meyering  <meyering@redhat.com>
18498
18499         useless-if-before-free: avoid false-positive
18500         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18501         disjunct so that it too requires a terminating ";".  Without that,
18502         this script would identify as useless one statement from gcc that
18503         was not:
18504           if (aligned_ptr)
18505             free (((void **) aligned_ptr) [-1]);
18506
18507 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18508
18509         doc: update users.txt.
18510         * users.txt: Add barcode.
18511
18512 2011-04-19  Bruno Haible  <bruno@clisp.org>
18513
18514         ioctl: Remove link dependency on native Windows.
18515         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18516         (gl_close_fn, gl_ioctl_fn): New types.
18517         (struct fd_hook): Renamed from struct close_hook. Change type of
18518         private_close_fn field. Add private_ioctl_fn field.
18519         (close_hook_fn): Add parameter for primary close method.
18520         (execute_close_hooks, execute_all_close_hooks): Likewise.
18521         (ioctl_hook_fn): New type.
18522         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18523         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18524         argument.
18525         (unregister_fd_hook): Renamed from unregister_close_hook.
18526         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18527         Don't include <unistd.h>.
18528         (close): Remove undef.
18529         (anchor): Update.
18530         (execute_close_hooks): Add argument for primary close method.
18531         (execute_all_close_hooks): Likewise.
18532         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18533         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18534         argument. Allow each argument to be NULL.
18535         (unregister_fd_hook): Renamed from unregister_close_hook.
18536         * lib/close.c (rpl_close): Pass 'close' function pointer to
18537         execute_all_close_hooks.
18538         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18539         (primary_ioctl): New function.
18540         (ioctl): Don't call ioctlsocket here. Instead, call
18541         execute_all_ioctl_hooks.
18542         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18543         close method.
18544         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18545         (fd_sockets_hook): Renamed from close_sockets_hook.
18546         (gl_sockets_startup, gl_sockets_cleanup): Update.
18547         * modules/fd-hook: Renamed from modules/close-hook. Update.
18548         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18549         * modules/sockets (Depends-on): Likewise.
18550         * modules/ioctl (Depends-on): Add fd-hook.
18551         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18552         GNULIB_SOCKET.
18553
18554 2011-04-19  Bruno Haible  <bruno@clisp.org>
18555
18556         Move the support of O_NONBLOCK in open() to the 'open' module.
18557         * modules/nonblocking (Depends-on): Remove 'open'.
18558         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18559         gl_cv_have_open_O_NONBLOCK.
18560         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18561         O_NONBLOCK support.
18562         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18563
18564 2011-04-17  Bruno Haible  <bruno@clisp.org>
18565
18566         pipe2: Simplify code.
18567         * lib/pipe2.c (pipe2): Reduce code duplication.
18568
18569 2011-04-17  Bruno Haible  <bruno@clisp.org>
18570
18571         nonblocking: Add comment.
18572         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
18573
18574 2011-04-17  Bruno Haible  <bruno@clisp.org>
18575
18576         nonblocking: Add tests for sockets.
18577         * tests/test-nonblocking-socket.sh: New file.
18578         * tests/test-nonblocking-socket-main.c: New file.
18579         * tests/test-nonblocking-socket-child.c: New file.
18580         * tests/test-nonblocking-socket.h: New file.
18581         * tests/socket-server.h: New file.
18582         * tests/socket-client.h: New file.
18583         * modules/nonblocking-socket-tests: New file.
18584         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
18585
18586 2011-04-17  Bruno Haible  <bruno@clisp.org>
18587
18588         nonblocking: Add tests for pipes.
18589         * tests/test-nonblocking-pipe.sh: New file.
18590         * tests/test-nonblocking-pipe-main.c: New file.
18591         * tests/test-nonblocking-pipe-child.c: New file.
18592         * tests/test-nonblocking-pipe.h: New file.
18593         * tests/test-nonblocking-writer.h: New file.
18594         * tests/test-nonblocking-reader.h: New file.
18595         * tests/test-nonblocking-misc.h: New file.
18596         * modules/nonblocking-pipe-tests: New file.
18597         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
18598
18599 2011-04-16  Bruno Haible  <bruno@clisp.org>
18600
18601         gettext: Clarify the needed programmer actions.
18602         * modules/gettext (Notice): New field.
18603         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18604
18605 2011-04-16  Bruno Haible  <bruno@clisp.org>
18606
18607         strchrnul: Tweak last commit.
18608         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
18609         bug.
18610         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
18611         as in _GL_FUNCDECL_SYS.
18612         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
18613         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
18614
18615 2011-04-15  Eric Blake  <eblake@redhat.com>
18616
18617         strchrnul: work around cygwin bug
18618         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
18619         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
18620         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
18621         * modules/string (Makefile.am): Substitute it.
18622         * lib/string.in.h (strchrnul): Use it.
18623
18624 2011-04-15  Bruno Haible  <bruno@clisp.org>
18625
18626         Don't require lib/stdio-write.c when only module 'stdio' is used.
18627         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
18628         invocation.
18629         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
18630
18631 2011-04-14  Bruno Haible  <bruno@clisp.org>
18632
18633         Support non-blocking pipe I/O in read() on native Windows.
18634         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
18635         (read): New declaration.
18636         * lib/read.c: New file.
18637         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
18638         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
18639         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
18640         vscanf): New declarations.
18641         * lib/stdio-read.c: New file.
18642         * m4/read.m4: New file.
18643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
18644         REPLACE_READ.
18645         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
18646         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18647         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
18648         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
18649         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
18650         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18651         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18652         * modules/read: New file.
18653         * modules/nonblocking (Files): Add lib/stdio-read.c.
18654         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
18655         * modules/stdio (Makefile.am): Substitute 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/pread (Depends-on): Add read.
18659         * modules/safe-read (Depends-on): Likewise.
18660         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
18661         gets, scanf, vfscanf, vscanf): Verify signatures.
18662         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
18663         problem with non-blocking pipes.
18664         * doc/posix-functions/fgetc.texi: Likewise.
18665         * doc/posix-functions/fgets.texi: Likewise.
18666         * doc/posix-functions/fread.texi: Likewise.
18667         * doc/posix-functions/fscanf.texi: Likewise.
18668         * doc/posix-functions/getc.texi: Likewise.
18669         * doc/posix-functions/getchar.texi: Likewise.
18670         * doc/posix-functions/gets.texi: Likewise.
18671         * doc/posix-functions/scanf.texi: Likewise.
18672         * doc/posix-functions/vfscanf.texi: Likewise.
18673         * doc/posix-functions/vscanf.texi: Likewise.
18674
18675 2011-04-14  Bruno Haible  <bruno@clisp.org>
18676
18677         Support non-blocking pipe I/O in write() on native Windows.
18678         * lib/write.c (rpl_write): Split a write request that failed merely
18679         because the byte count was larger than the pipe buffer's size.
18680         * doc/posix-functions/write.texi: Mention the problem with large byte
18681         counts.
18682
18683 2011-04-14  Bruno Haible  <bruno@clisp.org>
18684
18685         wchar: Ensure that wchar_t gets defined on uClibc.
18686         * lib/wchar.in.h: On uClibc, include <stddef.h>.
18687         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
18688
18689 2011-04-13  Bruno Haible  <bruno@clisp.org>
18690
18691         safe-write, full-read: Avoid unnecessary compilation units.
18692         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
18693         (Depends-on): Remove safe-read. Add ssize_t.
18694         * modules/full-read (Files): Add lib/full-write.c.
18695         (Depends-on): Add full-write.
18696
18697 2011-04-13  Bruno Haible  <bruno@clisp.org>
18698
18699         Support non-blocking pipe I/O and SIGPIPE in pwrite().
18700         * modules/pwrite (Depends-on): Add 'write'.
18701
18702 2011-04-13  Bruno Haible  <bruno@clisp.org>
18703
18704         Support non-blocking pipe I/O in write() on native Windows.
18705         * lib/unistd.in.h (write): Enable replacement also if
18706         GNULIB_UNISTD_H_NONBLOCKING is 1.
18707         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
18708         (rpl_write): When failing to write on a non-blocking pipe, change
18709         errno from ENOSPC to EAGAIN.
18710         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
18711         putchar, puts, vfprintf, vprintf): Enable replacement also if
18712         GNULIB_STDIO_H_NONBLOCKING is 1.
18713         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
18714         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
18715         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
18716         CALL_WITH_SIGPIPE_EMULATION.
18717         (CALL_WITH_SIGPIPE_EMULATION): Use them.
18718         * m4/nonblocking.m4: New file.
18719         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
18720         for non-blocking I/O support.
18721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18722         GNULIB_UNISTD_H_NONBLOCKING.
18723         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
18724         required for non-blocking I/O support.
18725         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
18726         * modules/nonblocking (Files): Add m4/nonblocking.m4,
18727         lib/stdio-write.c, m4/asm-underscore.m4.
18728         (Depends-on): Add stdio, unistd.
18729         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
18730         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
18731         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
18732         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
18733         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
18734         problem with non-blocking pipes.
18735         * doc/posix-functions/fputc.texi: Likewise.
18736         * doc/posix-functions/fputs.texi: Likewise.
18737         * doc/posix-functions/fwrite.texi: Likewise.
18738         * doc/posix-functions/printf.texi: Likewise.
18739         * doc/posix-functions/putc.texi: Likewise.
18740         * doc/posix-functions/putchar.texi: Likewise.
18741         * doc/posix-functions/puts.texi: Likewise.
18742         * doc/posix-functions/vfprintf.texi: Likewise.
18743         * doc/posix-functions/vprintf.texi: Likewise.
18744         * doc/posix-functions/write.texi: Likewise.
18745
18746 2011-04-10  Jim Meyering  <meyering@redhat.com>
18747
18748         maint.mk: prohibit doubled words
18749         Detect them also when they're separated by a newline.
18750         There are 3 ways to customize it:
18751           - disable the test on a per file basis, as usual with rules using
18752             $(VC_LIST_EXCEPT)
18753           - replace the default doubled-word-selecting regexp (affects all files)
18754           - ignore a particular file-vs-doubled-word match
18755         I nearly used that last one to ignore the "is is" match in
18756         coreutils' NEWS file, since the text was "ls -is is ..."
18757         To do that, I would have added this line to cfg.mk:
18758           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
18759         but it would have ignored any "is is" match in NEWS.
18760         Low probability, but still...
18761         Instead, I changed the text, slightly:
18762           -  ls -is is now consistent with ls -lis in ignoring values returned
18763           +  "ls -is" is now consistent with ls -lis in ignoring values returned
18764         * top/maint.mk (prohibit_double_word_RE_): Provide default.
18765         (prohibit_doubled_word_): Define.
18766         (sc_prohibit_doubled_word): New rule.
18767         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18768
18769 2011-04-10  Jim Meyering  <meyering@redhat.com>
18770
18771         maint: fix doubled-word typo in comment
18772         * m4/gethostname.m4: s/is is/it is/
18773         * m4/getdomainname.m4: Likewise.
18774
18775 2011-04-10  Jim Meyering  <meyering@redhat.com>
18776
18777         maint: remove doubled word: s/it it/it/
18778         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18779
18780 2011-04-10  Jim Meyering  <meyering@redhat.com>
18781
18782         maint.mk: remove useless semicolon and backslash
18783         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18784         semicolon and backslash.
18785
18786 2011-04-10  Bruno Haible  <bruno@clisp.org>
18787
18788         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18789         * modules/stdint-tests (Depends-on): Add wchar.
18790
18791 2011-04-10  Jim Meyering  <meyering@redhat.com>
18792
18793         maint: remove doubled words in comments, e.g., s/a a/a/
18794         * lib/strptime.c (day_of_the_week): s/the the/the/
18795         * tests/test-chown.h (test_chown): s/a a/a/
18796
18797         test-chown.h: correct a cast
18798         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18799         when the destination is a stat.st_gid.
18800
18801 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18802
18803         getaddrinfo: Fix test for sa_len member.
18804         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18805         include <sys/types.h> before <sys/socket.h>.
18806
18807 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18808
18809         maint: change "can not" to "cannot"
18810         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18811         boundaries.
18812
18813 2011-04-09  Jim Meyering  <meyering@redhat.com>
18814
18815         maint: change "a a" to "a"
18816         * tests/test-lchown.h (test_lchown): s/a a/a/
18817
18818         maint.mk: prohibit \<the the\>
18819         * top/maint.mk (sc_prohibit_the_the): New rule.
18820
18821         maint: fix "the the" in comment
18822         * lib/count-one-bits.h: s/the the/the/
18823
18824         maint: change "can not" to "cannot"
18825         But do not change the occurrences in maintain.texi or in
18826         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18827         * doc/gnulib-tool.texi: s/can not/cannot/
18828         * doc/posix-functions/accept.texi (accept): Likewise.
18829         * doc/posix-functions/socket.texi (socket): Likewise.
18830         * lib/mbrtowc.c: Likewise.
18831
18832         maint.mk: prohibit use of "can not"
18833         * top/maint.mk (sc_prohibit_can_not): New rule.
18834         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18835
18836 2011-04-09  Bruno Haible  <bruno@clisp.org>
18837
18838         careadlinkat: Guard against misuse of careadlinkatcwd.
18839         * lib/careadlinkat.c: Include <stdlib.h>.
18840         (careadlinkatcwd): Check that the fd argument is as expected.
18841
18842 2011-04-09  Bruno Haible  <bruno@clisp.org>
18843
18844         careadlinkat: Use common coding style.
18845         * lib/careadlinkat.c: Move gnulib includes after system includes.
18846
18847 2011-04-09  Bruno Haible  <bruno@clisp.org>
18848
18849         careadlinkat: Clarify specification.
18850         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18851         (careadlinkatcwd): Add comment.
18852         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18853
18854 2011-04-09  Bruno Haible  <bruno@clisp.org>
18855
18856         areadlinkat: Avoid link error on many platforms.
18857         * modules/areadlinkat (Depends-on): Add areadlink.
18858
18859 2011-04-09  Bruno Haible  <bruno@clisp.org>
18860
18861         allocator, careadlinkat: Fix double-inclusion guard.
18862         * lib/allocator.h: Fix double-inclusion guard.
18863         * lib/careadlinkat.h: Likewise.
18864
18865 2011-04-09  Bruno Haible  <bruno@clisp.org>
18866
18867         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18868         * lib/relocwrapper.c: Update dependencies hierarchy.
18869         * build-aux/install-reloc: Update list of files to be compiled.
18870         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18871         lib/allocator.[hc].
18872
18873 2011-04-08  Eric Blake  <eblake@redhat.com>
18874
18875         strftime: silence gnulib-tool warning
18876         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18877
18878 2011-04-08  Bruno Haible  <bruno@clisp.org>
18879
18880         verify: Fix syntax error with GCC 4.6 in C++ mode.
18881         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18882         (HAVE_STATIC_ASSERT): New macro.
18883         (verify_true, verify): Use 'static_assert' if it is supported and
18884         '_Static_assert' is not supported.
18885
18886 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18887
18888         allocator: New module.
18889         * modules/allocator, lib/allocator.c: New files.
18890         * lib/allocator.h (stdlib_allocator): New decl.
18891         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18892         Remove.  Do not include <stdlib.h>.
18893         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18894         * modules/careadlinkat (Files): Remove lib/allocator.h.
18895         (Depends-on): Add allocator.
18896
18897         stdlib: let modules use system malloc, realloc
18898         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18899         if !_GL_USE_STDLIB_ALLOC.
18900         (malloc, realloc): Limit this change to a smaller scope.
18901
18902         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18903         (malloc, realloc): Don't #undef; no longer needed.
18904         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18905         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18906         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18907         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18908         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18909         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18910         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18911         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18912
18913         careadlinkat: rename members to avoid problem
18914         * lib/allocator.h (struct allocator): Rename members from
18915         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18916         and realloc are #define'd.  Reported by Eric Blake in
18917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18918         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18919
18920 2011-04-08  Eric Blake  <eblake@redhat.com>
18921
18922         nonblocking: reduce dependency
18923         * tests/test-nonblocking.c: Only test sockets when in use.
18924         * modules/nonblocking-tests (Depends-on): Drop socket.
18925         (Makefile.am): Link even if sockets are not present.
18926         * modules/pipe2-tests (Makefile.am): Likewise.
18927         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18928
18929         pipe2: fix O_NONBLOCK support on mingw
18930         * modules/pipe2 (Depends-on): Add nonblocking.
18931         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18932         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18933         * tests/test-nonblocking.c (main): Likewise.
18934         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18935
18936         fcntl-h: fix O_ACCMODE on cygwin
18937         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18938         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18939
18940         pipe-filter: drop O_NONBLOCK workarounds
18941         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18942         * modules/pipe-filter-ii (Depends-on): Likewise.
18943         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18944
18945         nonblocking: provide O_NONBLOCK for mingw
18946         * modules/nonblocking (Depends-on): Add open.
18947         (configure.ac): Set new witness macro.
18948         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18949         * modules/fcntl-h (Makefile.am): Substitute it.
18950         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18951         nonblocking module is in use.
18952         * lib/nonblocking.c: Adjust portability test.
18953         * lib/open.c (open): Don't let native open see gnulib flag.
18954         * tests/test-fcntl-h.c (main): Enhance test.
18955         * tests/test-open.h (test_open): Likewise.
18956         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18957
18958         careadlinkat: fix compilation error on mingw
18959         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18960         within struct allocator.
18961
18962 2011-04-06  Eric Blake  <eblake@redhat.com>
18963
18964         binary-io: relicense under LGPLv2+
18965         * modules/binary-io (License): Relax to LGPLv2+.
18966         Requested for libvirt, and required by pipe2.
18967
18968 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18969
18970         verify: use _Static_assert if available
18971         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18972         (verify_true, verify): Use it if available.  This generates better
18973         diagnostics with GCC 4.6.0 and later.
18974
18975 2011-04-05  Bruno Haible  <bruno@clisp.org>
18976
18977         Remove leftover generated .h files after config.status changed.
18978
18979         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18980         GL_GENERATE_ALLOCA_H.
18981         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18982         GL_GENERATE_ALLOCA_H evaluates to false.
18983
18984         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18985         GL_GENERATE_ARGZ_H.
18986         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18987         evaluates to false.
18988
18989         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18990         GL_GENERATE_BYTESWAP_H.
18991         * modules/byteswap (Makefile.am): Remove byteswap.h if
18992         GL_GENERATE_BYTESWAP_H evaluates to false.
18993
18994         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18995         GL_GENERATE_ERRNO_H.
18996         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18997         evaluates to false.
18998
18999         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19000         GL_GENERATE_FLOAT_H.
19001         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19002         evaluates to false.
19003
19004         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19005         GL_GENERATE_FNMATCH_H.
19006         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19007         GL_GENERATE_FNMATCH_H evaluates to false.
19008
19009         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19010         GL_GENERATE_GLOB_H.
19011         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19012         evaluates to false.
19013
19014         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19015         automake conditional GL_GENERATE_ICONV_H.
19016         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19017         evaluates to false.
19018
19019         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19020         GL_GENERATE_NETINET_IN_H.
19021         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19022         GL_GENERATE_NETINET_IN_H evaluates to false.
19023
19024         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19025         conditional GL_GENERATE_PTHREAD_H.
19026         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19027         * modules/pthread (Makefile.am): Remove pthread.h if
19028         GL_GENERATE_PTHREAD_H evaluates to false.
19029
19030         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19031         GL_GENERATE_SCHED_H.
19032         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19033         evaluates to false.
19034
19035         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19036         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19037         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19038         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19039
19040         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19041         GL_GENERATE_STDARG_H.
19042         * modules/stdarg (Makefile.am): Remove stdarg.h if
19043         GL_GENERATE_STDARG_H evaluates to false.
19044
19045         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19046         GL_GENERATE_STDBOOL_H.
19047         * modules/stdbool (Makefile.am): Remove stdbool.h if
19048         GL_GENERATE_STDBOOL_H evaluates to false.
19049
19050         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19051         conditional GL_GENERATE_STDDEF_H.
19052         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19053         * modules/stddef (Makefile.am): Remove stddef.h if
19054         GL_GENERATE_STDDEF_H evaluates to false.
19055
19056         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19057         GL_GENERATE_STDINT_H.
19058         * modules/stdint (Makefile.am): Remove stdint.h if
19059         GL_GENERATE_STDINT_H evaluates to false.
19060
19061         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19062         GL_GENERATE_SYSEXITS_H.
19063         * modules/sysexits (Makefile.am): Remove sysexits.h if
19064         GL_GENERATE_SYSEXITS_H evaluates to false.
19065
19066         Reported by Karl Berry and Ralf Wildenhues.
19067
19068 2011-04-05  Bruno Haible  <bruno@clisp.org>
19069
19070         Ensure to rebuild generated .h files when config.status has changed.
19071         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19072         config.status.
19073         * modules/ctype (Makefile.am): Likewise.
19074         * modules/dirent (Makefile.am): Likewise.
19075         * modules/errno (Makefile.am): Likewise.
19076         * modules/fcntl-h (Makefile.am): Likewise.
19077         * modules/float (Makefile.am): Likewise.
19078         * modules/getopt-posix (Makefile.am): Likewise.
19079         * modules/glob (Makefile.am): Likewise.
19080         * modules/iconv-h (Makefile.am): Likewise.
19081         * modules/inttypes (Makefile.am): Likewise.
19082         * modules/langinfo (Makefile.am): Likewise.
19083         * modules/locale (Makefile.am): Likewise.
19084         * modules/math (Makefile.am): Likewise.
19085         * modules/netdb (Makefile.am): Likewise.
19086         * modules/netinet_in (Makefile.am): Likewise.
19087         * modules/poll-h (Makefile.am): Likewise.
19088         * modules/pthread (Makefile.am): Likewise.
19089         * modules/pty (Makefile.am): Likewise.
19090         * modules/sched (Makefile.am): Likewise.
19091         * modules/search (Makefile.am): Likewise.
19092         * modules/selinux-h (Makefile.am): Likewise.
19093         * modules/signal (Makefile.am): Likewise.
19094         * modules/spawn (Makefile.am): Likewise.
19095         * modules/stdarg (Makefile.am): Likewise.
19096         * modules/stdbool (Makefile.am): Likewise.
19097         * modules/stddef (Makefile.am): Likewise.
19098         * modules/stdint (Makefile.am): Likewise.
19099         * modules/stdio (Makefile.am): Likewise.
19100         * modules/stdlib (Makefile.am): Likewise.
19101         * modules/string (Makefile.am): Likewise.
19102         * modules/strings (Makefile.am): Likewise.
19103         * modules/sys_file (Makefile.am): Likewise.
19104         * modules/sys_ioctl (Makefile.am): Likewise.
19105         * modules/sys_select (Makefile.am): Likewise.
19106         * modules/sys_socket (Makefile.am): Likewise.
19107         * modules/sys_stat (Makefile.am): Likewise.
19108         * modules/sys_time (Makefile.am): Likewise.
19109         * modules/sys_times (Makefile.am): Likewise.
19110         * modules/sys_utsname (Makefile.am): Likewise.
19111         * modules/sys_wait (Makefile.am): Likewise.
19112         * modules/sysexits (Makefile.am): Likewise.
19113         * modules/termios (Makefile.am): Likewise.
19114         * modules/time (Makefile.am): Likewise.
19115         * modules/unistd (Makefile.am): Likewise.
19116         * modules/wchar (Makefile.am): Likewise.
19117         * modules/wctype-h (Makefile.am): Likewise.
19118         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19119
19120 2011-04-05  Bruno Haible  <bruno@clisp.org>
19121
19122         pipe2: Relicense under LGPLv2+.
19123         * modules/pipe2 (License): Change to LGPLv2+.
19124         Requested by Eric Blake, for libvirt.
19125
19126 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19127
19128         bootstrap: compute gnulib_extra_files after updating build_aux
19129         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19130         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19131
19132 2011-04-05  Eric Blake  <eblake@redhat.com>
19133
19134         bootstrap: preserve git whitelist item sorting
19135         * build-aux/bootstrap (sort_patterns): New function.
19136         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19137
19138 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19139
19140         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19141         sc_space_tab check.
19142
19143 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19144
19145         areadlink, areadlinkat: rewrite in terms of careadlinkat
19146         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19147         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19148         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19149         (malloc, realloc): Remove #undefs.
19150         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19151         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19152         readlink, ssize_t, stdint, unistd.
19153         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19154         areadlink, stdint.
19155
19156         careadlinkat: new module
19157         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19158         * modules/careadlinkat: New files, written by me with
19159         a review and feedback from Ben Pfaff in
19160         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19161
19162 2011-04-01  Bruno Haible  <bruno@clisp.org>
19163
19164         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19165         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19166         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19167         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19168         Reported by Bruce Korb <bruce.korb@gmail.com>.
19169
19170 2011-04-01  Bruno Haible  <bruno@clisp.org>
19171
19172         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19173         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19174         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19175         * modules/wcpcpy (Depends-on): Add extensions.
19176         * modules/wcpncpy (Depends-on): Likewise.
19177         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19178         systems.
19179         * doc/posix-functions/wcpncpy.texi: Likewise.
19180         * doc/posix-functions/wcwidth.texi: Likewise.
19181
19182 2011-03-31  Eric Blake  <eblake@redhat.com>
19183
19184         nonblocking: fix mingw test failures
19185         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19186         non-blocking flag on regular file.
19187         (get_nonblocking_flag): Set errno on invalid fd.
19188         * tests/test-nonblocking.c (main): Avoid test failure on
19189         directories if fchdir is not active.
19190         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19191
19192 2011-03-31  Bruno Haible  <bruno@clisp.org>
19193
19194         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19195         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19196         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19197         Reported by Simon Josefsson <simon@josefsson.org>.
19198
19199 2011-03-31  Bruno Haible  <bruno@clisp.org>
19200         and Eric Blake  <eblake@redhat.com>
19201
19202         nonblocking: new module
19203         * modules/nonblocking: New module.
19204         * modules/nonblocking-tests: Likewise.
19205         * lib/nonblocking.h: New file.
19206         * lib/nonblocking.c: Likewise.
19207         * tests/test-nonblocking.c: New test.
19208         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19209
19210 2011-03-30  Bruno Haible  <bruno@clisp.org>
19211
19212         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19213         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19214         instead of 'printf' format for GCC >= 4.4.
19215         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19216         (fprintf, printf, vfprintf, vprintf): Declare with
19217         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19218         the system's vfprintf() function.
19219         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19220
19221 2011-03-30  Eric Blake  <eblake@redhat.com>
19222
19223         passfd: fix scoping bug
19224         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19225         before sendmsg/recvmsg.
19226
19227         passfd: standardize coding conventions
19228         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19229         can be learned at compile time.
19230         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19231         ifdefs.
19232         (sendfd, recvfd): Follow gnulib code conventions.
19233
19234         passfd: fix incorrect sendmsg arguments
19235         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
19236         incorrect msg_controllen value.
19237         * modules/passfd-tests (Depends-on): Check for alarm.
19238         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
19239         Reported by Bastien ROUCARIES.
19240
19241 2011-03-30  Bruno Haible  <bruno@clisp.org>
19242
19243         c-strcasestr: Relicense under LGPLv2+.
19244         * modules/c-strcasestr (License): Change to LGPLv2+.
19245         Requested by Eric Blake, for libvirt.
19246
19247 2011-03-30  Simon Josefsson  <simon@josefsson.org>
19248
19249         * users.txt: Add libidn2.  Fix libtasn1 link.
19250
19251 2011-03-30  Jim Meyering  <meyering@redhat.com>
19252
19253         tests: readlink* ("",... fails with EINVAL on newer kernels
19254         readlink and readlinkat have typically failed with ENOENT for
19255         the invalid, empty file name,  "".  However, with the advent
19256         of linux-2.6.39, they fail with EINVAL.
19257         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19258         when operating on the empty file name.
19259         * tests/test-readlink.h (test_readlink): Likewise.
19260
19261 2011-03-29  Bruno Haible  <bruno@clisp.org>
19262
19263         Relicense some modules under LGPLv2+, for libidn2.
19264         * modules/array-mergesort (License): Change to LGPLv2+.
19265         * modules/c-strcaseeq (License): Likewise.
19266         * modules/striconveh (License): Likewise.
19267         * modules/striconveha (License): Likewise.
19268         * modules/uniconv/base (License): Likewise.
19269         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19270         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19271         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19272         * modules/unictype/base (License): Likewise.
19273         * modules/unictype/bidiclass-of (License): Likewise.
19274         * modules/unictype/category-M (License): Likewise.
19275         * modules/unictype/category-none (License): Likewise.
19276         * modules/unictype/category-of (License): Likewise.
19277         * modules/unictype/category-test (License): Likewise.
19278         * modules/unictype/category-test-withtable (License): Likewise.
19279         * modules/unictype/combining-class (License): Likewise.
19280         * modules/unictype/joiningtype-of (License): Likewise.
19281         * modules/unictype/scripts (License): Likewise.
19282         * modules/uninorm/base (License): Likewise.
19283         * modules/uninorm/canonical-decomposition (License): Likewise.
19284         * modules/uninorm/composition (License): Likewise.
19285         * modules/uninorm/decompose-internal (License): Likewise.
19286         * modules/uninorm/decomposition-table (License): Likewise.
19287         * modules/uninorm/nfc (License): Likewise.
19288         * modules/uninorm/nfd (License): Likewise.
19289         * modules/uninorm/u32-normalize (License): Likewise.
19290         * modules/unistr/base (License): Likewise.
19291         * modules/unistr/u32-cpy (License): Likewise.
19292         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19293         * modules/unistr/u32-to-u8 (License): Likewise.
19294         * modules/unistr/u32-uctomb (License): Likewise.
19295         * modules/unistr/u8-check (License): Likewise.
19296         * modules/unistr/u8-mblen (License): Likewise.
19297         * modules/unistr/u8-mbtouc (License): Likewise.
19298         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19299         * modules/unistr/u8-mbtoucr (License): Likewise.
19300         * modules/unistr/u8-prev (License): Likewise.
19301         * modules/unistr/u8-strlen (License): Likewise.
19302         * modules/unistr/u8-to-u32 (License): Likewise.
19303         * modules/unistr/u8-uctomb (License): Likewise.
19304         * modules/unitypes (License): Likewise.
19305         Requested by Simon Josefsson.
19306
19307 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19308
19309         lib-symbol-visibility: Add a notice.
19310         * modules/lib-symbol-visibility (Notice): New field.
19311
19312 2011-03-29  Bruno Haible  <bruno@clisp.org>
19313
19314         getaddrinfo: Doc fix.
19315         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19316         section "fixed in Gnulib".
19317
19318 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19319
19320         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19321         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19322
19323 2011-03-26  Bruno Haible  <bruno@clisp.org>
19324
19325         unictype/property-byname: Reduce the number of load-time relocations.
19326         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19327         (UC_PROPERTY_INDEX_*): New enumeration values.
19328         (uc_property_byname): Convert an index from the lookup table to an
19329         uc_property_t.
19330         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19331         values.
19332
19333 2011-03-26  Bruno Haible  <bruno@clisp.org>
19334
19335         unictype/property-byname: Allow omitted word separators and aliases.
19336         * lib/unictype/pr_byname.gperf: Add property names without word
19337         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19338         for 'space'.
19339
19340 2011-03-26  Bruno Haible  <bruno@clisp.org>
19341
19342         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19343         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19344         also hyphens to space.
19345         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19346         without spaces.
19347         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19348
19349 2011-03-26  Bruno Haible  <bruno@clisp.org>
19350
19351         unictype/joiningtype-byname: Recognize long names as well.
19352         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19353         a long name.
19354         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19355         unictype/joiningtype_byname.h.
19356         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19357         * lib/unictype/joiningtype_byname.gperf: New file.
19358         * modules/unictype/joiningtype-byname (Files): Add
19359         lib/unictype/joiningtype_byname.gperf.
19360         (Depends-on): Add gperf.
19361         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19362         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19363         long names.
19364
19365         Tests for module 'unictype/joiningtype-longname'.
19366         * modules/unictype/joiningtype-longname-tests: New file.
19367         * tests/unictype/test-joiningtype_longname.c: New file.
19368
19369         New module 'unictype/joiningtype-longname'.
19370         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19371         * lib/unictype/joiningtype_longname.c: New file.
19372         * modules/unictype/joiningtype-longname: New file.
19373         * modules/unictype/joiningtype-all (Depends-on): Add
19374         unictype/joiningtype-longname.
19375
19376 2011-03-26  Bruno Haible  <bruno@clisp.org>
19377
19378         unictype/bidiclass-byname: Recognize long names as well.
19379         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19380         name.
19381         * lib/unictype/bidi_byname.c: Include <string.h>,
19382         unictype/bidi_byname.h.
19383         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19384         * lib/unictype/bidi_byname.gperf: New file.
19385         * modules/unictype/bidiclass-byname (Files): Add
19386         lib/unictype/bidi_byname.gperf.
19387         (Depends-on): Add gperf.
19388         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19389         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19390         long names.
19391
19392         Tests for module 'unictype/bidiclass-longname'.
19393         * modules/unictype/bidiclass-longname-tests: New file.
19394         * tests/unictype/test-bidi_longname.c: New file.
19395
19396         New module 'unictype/bidiclass-longname'.
19397         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19398         * lib/unictype/bidi_longname.c: New file.
19399         * modules/unictype/bidiclass-longname: New file.
19400         * modules/unictype/bidiclass-all (Depends-on): Add
19401         unictype/bidiclass-longname.
19402
19403 2011-03-26  Bruno Haible  <bruno@clisp.org>
19404
19405         unictype/bidi*: Rename modules.
19406         * modules/unictype/bidiclass-all: Renamed from
19407         modules/unictype/bidicategory-all.
19408         * modules/unictype/bidiclass-name: Renamed from
19409         modules/unictype/bidiclass-name.
19410         (Description): Update.
19411         * modules/unictype/bidiclass-name-tests: Renamed from
19412         modules/unictype/bidicategory-name-tests.
19413         * modules/unictype/bidiclass-byname: Renamed from
19414         modules/unictype/bidicategory-byname.
19415         (Description): Update.
19416         * modules/unictype/bidiclass-byname-tests: Renamed from
19417         modules/unictype/bidicategory-byname-tests.
19418         * modules/unictype/bidiclass-of: Renamed from
19419         modules/unictype/bidicategory-of.
19420         (Description): Update.
19421         * modules/unictype/bidiclass-of-tests: Renamed from
19422         modules/unictype/bidicategory-of-tests.
19423         * modules/unictype/bidiclass-test: Renamed from
19424         modules/unictype/bidicategory-test.
19425         (Description): Update.
19426         * modules/unictype/bidiclass-test-tests: Renamed from
19427         modules/unictype/bidicategory-test-tests.
19428         * modules/unictype/bidicategory-all: New file, a simple redirection.
19429         * modules/unictype/bidicategory-name: Likewise.
19430         * modules/unictype/bidicategory-byname: Likewise.
19431         * modules/unictype/bidicategory-of: Likewise.
19432         * modules/unictype/bidicategory-test: Likewise.
19433         * modules/unictype/property-bidi-* (Dependencies): Update.
19434         * lib/unictype/bidi_*.c: Update comment.
19435
19436 2011-03-26  Bruno Haible  <bruno@clisp.org>
19437
19438         unictype/bidi*: Rename functions, part 2.
19439         * modules/unictype/bidicategory-name (configure.ac): Update required
19440         libunistring version.
19441         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19442
19443 2011-03-25  Bruno Haible  <bruno@clisp.org>
19444
19445         New module 'unictype/combining-class-all'.
19446         * modules/unictype/combining-class-all: New file.
19447
19448         Tests for module 'unictype/combining-class-byname'.
19449         * modules/unictype/combining-class-byname-tests: New file.
19450         * tests/unictype/test-combiningclass_byname.c: New file.
19451
19452         New module 'unictype/combining-class-byname'.
19453         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19454         * lib/unictype/combiningclass_byname.c: New file.
19455         * lib/unictype/combiningclass_byname.gperf: New file.
19456         * modules/unictype/combining-class-byname: New file.
19457
19458         Tests for module 'unictype/combining-class-longname'.
19459         * modules/unictype/combining-class-longname-tests: New file.
19460         * tests/unictype/test-combiningclass_longname.c: New file.
19461
19462         New module 'unictype/combining-class-longname'.
19463         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19464         * lib/unictype/combiningclass_longname.c: New file.
19465         * modules/unictype/combining-class-longname: New file.
19466
19467         Tests for module 'unictype/combining-class-name'.
19468         * modules/unictype/combining-class-name-tests: New file.
19469         * tests/unictype/test-combiningclass_name.c: New file.
19470
19471         New module 'unictype/combining-class-name'.
19472         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19473         * lib/unictype/combiningclass_name.c: New file.
19474         * modules/unictype/combining-class-name: New file.
19475
19476 2011-03-25  Bruno Haible  <bruno@clisp.org>
19477
19478         unictype/combining-class: Rename source files.
19479         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19480         of unictype/combining.h.
19481         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19482         Update.
19483         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19484         * modules/unictype/combining-class (Description): Fix.
19485         (Files, Makefile.am): Update.
19486         * tests/unictype/test-combiningclass.c: Renamed from
19487         tests/unictype/test-combining.c.
19488         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19489
19490 2011-03-25  Bruno Haible  <bruno@clisp.org>
19491
19492         unictype: Update list of canonical combining classes.
19493         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19494
19495 2011-03-25  Bruno Haible  <bruno@clisp.org>
19496
19497         unictype/category-byname: Recognize long names as well.
19498         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19499         a long name.
19500         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19501         unictype/categ_byname.h.
19502         (UC_CATEGORY_INDEX_*): New enumeration values.
19503         (uc_general_category_byname): Use uc_general_category_lookup and
19504         convert from index to value.
19505         * lib/unictype/categ_byname.gperf: New file.
19506         * modules/unictype/category-byname (Files): Add
19507         lib/unictype/categ_byname.gperf.
19508         (Depends-on): Add gperf.
19509         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19510         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19511         long names.
19512
19513         Tests for module 'unictype/category-longname'.
19514         * modules/unictype/category-longname-tests: New file.
19515         * tests/unictype/test-categ_longname.c: New file.
19516
19517         New module 'unictype/category-longname'.
19518         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19519         * lib/unictype/categ_longname.c: New file.
19520         * modules/unictype/category-longname: New file.
19521         * modules/unictype/category-all (Depends-on): Add it.
19522
19523 2011-03-25  Bruno Haible  <bruno@clisp.org>
19524
19525         Tests for module 'unictype/category-LC'.
19526         * modules/unictype/category-LC-tests: New file.
19527         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19528
19529         New module 'unictype/category-LC'.
19530         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19531         (UC_CATEGORY_LC): New declaration.
19532         (UC_CASED_LETTER): New macro.
19533         * lib/gen-uni-tables.c (is_category_LC): New function.
19534         (output_categories): Also handle category LC.
19535         (UC_CATEGORY_MASK_LC): New enumeration value.
19536         (general_category_byname): Also handle category LC.
19537         * lib/unictype/categ_LC.c: New file.
19538         * lib/unictype/categ_LC.h: New file, automatically generated.
19539         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19540         category LC.
19541         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19542         * modules/unictype/category-LC: New file.
19543         * modules/unictype/category-byname (Depends-on): Add
19544         unictype/category-LC.
19545         * modules/unictype/category-all (Depends-on): Likewise.
19546
19547 2011-03-25  Eric Blake  <eblake@redhat.com>
19548
19549         xmalloc: revert yesterday's regression
19550         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19551         realloc's underlying behavior (allowing allocation of zero-size
19552         objects, especially if malloc-gnu is also in use).
19553
19554 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19555
19556         maint.mk: add missing version to VC-tag
19557         * top/maint.mk: git tag was missing actual tag name; add it.
19558
19559         valgrind: do leak checking, and exit with code 1 on error (not 0)
19560         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19561         to VALGRIND.
19562
19563 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
19564
19565         posix-modules: say what it does.
19566         * posix-modules: Add a line to the --help output saying what it does.
19567
19568 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19569
19570         xmalloc: Do not leak if underlying realloc is C99 compatible.
19571         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
19572         This avoids a leak on C99-based systems.  See
19573         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
19574
19575 2011-03-24  Eric Blake  <eblake@redhat.com>
19576
19577         realloc: document portability problem
19578         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
19579         passing 0 size to realloc.
19580
19581 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
19582
19583         doc: update users.txt
19584         * users.txt: Add cvsps, tmpwatch
19585
19586 2011-03-23  Matt Rice  <ratmice@gmail.com>
19587
19588         doc: update users.txt
19589         * users.txt: Add gdb.
19590
19591 2011-03-23  Jim Meyering  <meyering@redhat.com>
19592
19593         doc: update users.txt
19594         Looking through matches up to the following URL (there are still
19595         several more pages), I found several projects that use gnulib:
19596         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
19597         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
19598         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
19599
19600 2011-03-22  Bruno Haible  <bruno@clisp.org>
19601
19602         unictype/bidi*: Rename functions.
19603         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
19604         uc_bidi_class, uc_is_bidi_class): New declarations.
19605         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
19606         uc_bidi_category_byname.
19607         (uc_bidi_category_byname): New function.
19608         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
19609         u_bidi_category_name.
19610         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
19611         (uc_bidi_category_name): New function.
19612         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
19613         uc_bidi_category.
19614         (uc_bidi_category): New function.
19615         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
19616         uc_is_bidi_category. Invoke uc_bidi_class.
19617         (uc_is_bidi_category): New function.
19618         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
19619         instead of uc_bidi_category_byname.
19620         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
19621         instead of uc_bidi_category_name.
19622         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
19623         uc_bidi_category.
19624         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
19625         instead of uc_is_bidi_category.
19626
19627 2011-03-21  Bruno Haible  <bruno@clisp.org>
19628
19629         New module 'unictype/joininggroup-all'.
19630         * modules/unictype/joininggroup-all: New file.
19631
19632         Tests for module 'unictype/joininggroup-of'.
19633         * modules/unictype/joininggroup-of-tests: New file.
19634         * tests/unictype/test-joininggroup_of.c: New file.
19635         * tests/unictype/test-joininggroup_of.h: New file, automatically
19636         generated by gen-uni-tables.
19637
19638         New module 'unictype/joininggroup-of'.
19639         * modules/unictype/joininggroup-of: New file.
19640         * lib/unictype/joininggroup_of.c: New file.
19641         * lib/unictype/joininggroup_of.h: New file, automatically generated by
19642         gen-uni-tables.
19643
19644         Tests for module 'unictype/joininggroup-byname'.
19645         * modules/unictype/joininggroup-byname-tests: New file.
19646         * tests/unictype/test-joininggroup_byname.c: New file.
19647
19648         New module 'unictype/joininggroup-byname'.
19649         * modules/unictype/joininggroup-byname: New file.
19650         * lib/unictype/joininggroup_byname.c: New file.
19651         * lib/unictype/joininggroup_byname.gperf: New file.
19652
19653         Tests for module 'unictype/joininggroup-name'.
19654         * modules/unictype/joininggroup-name-tests: New file.
19655         * tests/unictype/test-joininggroup_name.c: New file.
19656
19657         New module 'unictype/joininggroup-name'.
19658         * modules/unictype/joininggroup-name: New file.
19659         * lib/unictype/joininggroup_name.c: New file.
19660         * lib/unictype/joininggroup_name.h: New file.
19661
19662         New module 'unictype/joiningtype-all'.
19663         * modules/unictype/joiningtype-all: New file.
19664
19665         Tests for module 'unictype/joiningtype-of'.
19666         * modules/unictype/joiningtype-of-tests: New file.
19667         * tests/unictype/test-joiningtype_of.c: New file.
19668         * tests/unictype/test-joiningtype_of.h: New file, automatically
19669         generated by gen-uni-tables.
19670
19671         New module 'unictype/joiningtype-of'.
19672         * modules/unictype/joiningtype-of: New file.
19673         * lib/unictype/joiningtype_of.c: New file.
19674         * lib/unictype/joiningtype_of.h: New file, automatically generated by
19675         gen-uni-tables.
19676
19677         Tests for module 'unictype/joiningtype-byname'.
19678         * modules/unictype/joiningtype-byname-tests: New file.
19679         * tests/unictype/test-joiningtype_byname.c: New file.
19680
19681         New module 'unictype/joiningtype-byname'.
19682         * modules/unictype/joiningtype-byname: New file.
19683         * lib/unictype/joiningtype_byname.c: New file.
19684
19685         Tests for module 'unictype/joiningtype-name'.
19686         * modules/unictype/joiningtype-name-tests: New file.
19687         * tests/unictype/test-joiningtype_name.c: New file.
19688
19689         New module 'unictype/joiningtype-name'.
19690         * modules/unictype/joiningtype-name: New file.
19691         * lib/unictype/joiningtype_name.c: New file.
19692
19693         unictype: Add support for Arabic shaping properties.
19694         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
19695         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
19696         declarations.
19697         (UC_JOINING_GROUP_*): New enumeration values.
19698         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
19699         declarations.
19700         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
19701         (unicode_joining_type): New variable.
19702         (UC_JOINING_GROUP_*): New enumeration values.
19703         (unicode_joining_group): New variable.
19704         (fill_arabicshaping, joining_type_as_c_identifier,
19705         output_joining_type_test, output_joining_type,
19706         joining_group_as_c_identifier, output_joining_group_test,
19707         output_joining_group): New functions.
19708         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
19709         fill_arabicshaping and output_joining_type_test, output_joining_type,
19710         output_joining_group_test, output_joining_group.
19711         Reported by Simon Josefsson.
19712
19713 2011-03-21  Jim Meyering  <meyering@redhat.com>
19714
19715         strftime: fix a bug in yesterday's change
19716         * lib/strftime.c (add): Accommodate width's initial value of -1.
19717         Otherwise, nstrftime would copy uninitialized data into
19718         the result buffer.
19719
19720 2011-03-21  Jim Meyering  <meyering@redhat.com>
19721
19722         tests: add strftime-tests module
19723         * tests/test-strftime.c: New file.
19724         * modules/strftime-tests: New module.
19725
19726 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19727
19728         strftime: don't assume a byte count fits in 'int'
19729         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
19730         found this problem by static analysis, using gcc -Wstrict-overflow
19731         (GCC 4.5.2, x86-64).  This reported an optimization that depended
19732         on an integer overflow having undefined behavior, but it turns out
19733         that the argument is a size, which might not fit in 'int' anyway,
19734
19735 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19736
19737         stdio: don't require ignore_value around fwrite
19738
19739         This patch works around libc bug 11959
19740         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
19741         Without this patch, applications must often write
19742         ignore_value (fwrite (...)) even though the ignore_value is
19743         not helpful here.  It's common to write many objects, using
19744         fwrite/printf/etc., and then use ferror to detect output error.
19745
19746         I considered making this patch optional, but decided against it,
19747         because libc is obviously being inconsistent here: there is no
19748         reason libc should insist that user code must inspect fwrite
19749         return's value without also insisting that it inspect printf's,
19750         putchar's, etc.  If user code wants to have a strict style where
19751         all these functions' values are checked (so that ferror need not
19752         be checked), we could add support for that style in a new gnulib
19753         module, but in the meantime it's better to be consistent and to
19754         support common usage.
19755
19756         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
19757         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
19758         that we are compiling in checking mode, and if not C++, and
19759         if not already wrapping fwrite for some other reason.
19760         (fwrite): #define to rpl_fwrite if the latter is defined.
19761
19762 2011-03-20  Bruno Haible  <bruno@clisp.org>
19763
19764         verror: Fix compilation error introduced on 2011-02-13.
19765         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19766         instead of __attribute__.
19767         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19768
19769 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19770             Bruno Haible  <bruno@clisp.org>
19771
19772         socklen: do not depend on sys_socket
19773         While trying to modify Emacs to use gnulib's socklen module,
19774         I discovered a circular dependency: socklen depends on sys_socket
19775         and vice versa.  Emacs can use socklen, but it does not need
19776         sys_socket because it has its own substitute for sys/socket.h.
19777         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19778         gl_TYPE_SOCKLEN_T.
19779         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19780         gl_PREREQ_SYS_H_SOCKET.
19781         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19782         gl_PREREQ_SYS_H_SOCKET.
19783         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19784         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19785         * modules/socklen (Depends-on): Do not depend on sys_socket.
19786         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19787
19788 2011-03-20  Jim Meyering  <meyering@redhat.com>
19789
19790         maint.mk: sort file names *after* new transformation
19791         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19792         prefix would have led to an unwarranted failure in GNU parted.
19793         Sort after that transformation.
19794
19795 2011-03-19  Jim Meyering  <meyering@redhat.com>
19796
19797         maint.mk: fix po-file syntax-check rule
19798         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19799         Patch by Bruno Haible.
19800
19801 2011-03-19  Bruno Haible  <bruno@clisp.org>
19802
19803         socklen: Update comment.
19804         * m4/socklen.m4: Update comment about platforms.
19805
19806 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19807             Bruno Haible  <bruno@clisp.org>
19808
19809         inet_ntop, inet_pton: Simplify.
19810         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19811         documented to provide socklen_t and we already depend on sys_socket.
19812         * modules/inet_pton (Depends-on): Likewise.
19813         * lib/arpa_inet.in.h: Adjust comment.
19814
19815 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19816             Bruno Haible  <bruno@clisp.org>
19817
19818         netdb: Simplify.
19819         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19820         documented to provide socklen_t and we already depend on sys_socket.
19821         * lib/netdb.in.h: Adjust comment.
19822
19823 2011-03-19  Bruno Haible  <bruno@clisp.org>
19824
19825         sys_socket, netdb: Document problem with socklen_t.
19826         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19827         platforms.
19828         * doc/posix-headers/netdb.texi: Likewise.
19829
19830 2011-03-18  Eric Blake  <eblake@redhat.com>
19831
19832         maint.mk: let po check work in VPATH build
19833         * top/maint.mk (po_file): Allow cfg.mk override.
19834         (sc_po_check): Allow VPATH use.
19835         Reported by Jiri Denemark.
19836
19837 2011-03-16  Jim Meyering  <meyering@redhat.com>
19838
19839         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19840         Before, you would have had to create one .x-sc_ file per rule in order
19841         to exempt offending files.  Now, you may instead use a Make variable --
19842         usually defined in cfg.mk -- whose name identifies the affected rule.
19843         * top/maint.mk (_sc_excl): Define.
19844         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19845         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19846
19847 2011-03-13  Bruno Haible  <bruno@clisp.org>
19848
19849         ignore-value tests: Avoid warnings.
19850         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19851         empty for gcc < 3.4.
19852
19853 2011-03-13  Bruno Haible  <bruno@clisp.org>
19854
19855         passfd: Fix link error on Solaris.
19856         * modules/passfd (Description): Correct.
19857         (Depends-on): Add socketlib.
19858         (Link): New section.
19859         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19860
19861 2011-03-13  Bruno Haible  <bruno@clisp.org>
19862
19863         passfd: Fix link error on AIX 5.2.
19864         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19865
19866 2011-03-13  Bruno Haible  <bruno@clisp.org>
19867
19868         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19869         * lib/sys_socket.in.h: Include <stddef.h>.
19870         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19871         CMSG_FIRSTHDR. Remove unused variable.
19872
19873 2011-03-13  Bruno Haible  <bruno@clisp.org>
19874
19875         passfd: Fix compilation error on OpenBSD.
19876         * lib/passfd.c: Include <sys/uio.h>.
19877
19878 2011-03-13  Bruno Haible  <bruno@clisp.org>
19879
19880         passfd test: Fix warnings.
19881         * tests/test-passfd.c: Include <sys/wait.h>.
19882         (main): Fix typo.
19883
19884 2011-03-13  Bruno Haible  <bruno@clisp.org>
19885
19886         passfd module, part 4, tweaks.
19887         * tests/test-passfd.c: Reorder includes.
19888         (main): Fix perror and printf calls.
19889
19890 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19891
19892         passfd module, part 4.
19893         * modules/passfd-tests: New file.
19894         * tests/test-passfd.c: New file.
19895
19896 2011-03-13  Jim Meyering  <meyering@redhat.com>
19897
19898         Makefile: rely on GNU make; derive syntax-check rule names
19899         Rather than requiring that each sc_ rule be listed as a dependent
19900         of "check", use features of GNU make to derive the list.
19901         * Makefile (syntax-check-rules): Define.
19902         (check): Depend on the new variable, not the hard-coded list.
19903
19904 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19905             Bruno Haible  <bruno@clisp.org>
19906
19907         passfd module, part 3.
19908         * lib/passfd.h (recvfd): Add a flags argument.
19909         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19910         (recvfd): Add a flags argument.
19911         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19912         exists.
19913         * modules/passfd (Depends-on): Add cloexec.
19914         Suggested by Eric Blake.
19915
19916 2011-03-13  Bruno Haible  <bruno@clisp.org>
19917
19918         passfd module, part 2, tweaks.
19919         * modules/passfd (Files): Reorder.
19920         (Depends-on): Remove errno.
19921         (Include): Remove <sys/socket.h>, <sys/un.h>.
19922         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19923         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19924         specification header. Include <sys/socket.h> always. Don't include
19925         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19926         (sendfd): Clarify that it sets errno when it fails.
19927         (recvfd): Fix specification.
19928
19929 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19930
19931         passfd module, part 2.
19932         * modules/passfd: New file.
19933         * lib/passfd.h: New file.
19934         * lib/passfd.c: New file.
19935
19936 2011-03-12  Bruno Haible  <bruno@clisp.org>
19937
19938         wcswidth, mbswidth: Avoid integer overflow.
19939         * lib/wcswidth.c: Include <limits.h>.
19940         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19941         * lib/mbswidth.c: Include <limits.h>.
19942         (mbsnwidth): Avoid 'int' overflow.
19943         Reported by Jim Meyering.
19944
19945 2011-03-12  Bruno Haible  <bruno@clisp.org>
19946
19947         futimens, utimensat: Avoid endless recursion on Solaris 10.
19948         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19949         Solaris.
19950         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19951         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19952
19953 2011-03-11  Jim Meyering  <meyering@redhat.com>
19954
19955         maint.mk: relax a regexp to accommodate other formatting styles
19956         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19957         between "ngettext" and the following "(".
19958
19959 2011-03-11  Pádraig Brady <P@draigBrady.com>
19960
19961         maint.mk: suppress a false positive warning
19962         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19963         diagnostics are marked with ngettext.
19964
19965 2011-03-10  Eric Blake  <eblake@redhat.com>
19966
19967         wchar: add explicit dependencies, for Tru64
19968         * modules/mbmemcasecoll (Depends-on): Add wchar.
19969         * modules/mbtowc (Depends-on): Likewise.
19970         * modules/vasnprintf (Depends-on): Likewise.
19971         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19972         * modules/wctomb (Depends-on): Likewise.
19973         Reported by Peter O'Gorman.
19974
19975 2011-03-08  Bruno Haible  <bruno@clisp.org>
19976
19977         passfd module, part 1, tweaks.
19978         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19979         Improve indentation. Improve AC_MSG_CHECKING messages.
19980         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19981         gl_SOCKET_FAMILIES.
19982
19983 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19984
19985         passfd module, part 1.
19986         * m4/afunix.m4: New file.
19987         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19988         sockets.
19989
19990 2011-03-08  Bruno Haible  <bruno@clisp.org>
19991
19992         regex-quote: New API.
19993         * lib/regex-quote.h: Include <stdbool.h>.
19994         (struct regex_quote_spec): New type.
19995         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19996         New declarations.
19997         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19998         'const struct regex_quote_spec *' argument.
19999         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20000         (pcre_special): New constant.
20001         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20002         New functions.
20003         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20004         'const struct regex_quote_spec *' argument.
20005         * modules/regex-quote (Depends-on): Add stdbool.
20006         * tests/test-regex-quote.c (check): Update for new API. Add test for
20007         anchored results.
20008         * NEWS: Mention the API change.
20009         Reported by Reuben Thomas and Eric Blake.
20010
20011 2011-03-06  Bruno Haible  <bruno@clisp.org>
20012
20013         regex-quote: Fix creation of POSIX extended regular expressions.
20014         * lib/regex-quote.c (ere_special): Add grouping and alternation
20015         operators.
20016
20017 2011-03-05  Bruno Haible  <bruno@clisp.org>
20018
20019         doc: Improve doc regarding autopoint vs. gnulib.
20020         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20021         disable autopoint while running autoreconf.
20022         Suggested by Ralf Wildenhues.
20023
20024 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20025
20026         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20027         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20028
20029 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20030
20031         parse-duration: remove xalloc.h dependency
20032         * lib/parse-duration.c (parse_period): handle NULL return from
20033         strdup instead of calling xstrdup().
20034         * modules/parse-duration: remove "xalloc" dependency
20035
20036 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20037
20038         bootstrap: honor m4_base when running aclocal
20039         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20040
20041 2011-03-02  Jim Meyering  <meyering@redhat.com>
20042
20043         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20044         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20045         on request from Matt Booth.
20046
20047 2011-03-01  Eric Blake  <eblake@redhat.com>
20048
20049         test-link: work on Hurd
20050         * tests/test-link.h (test_link): Hurd rejects linking directories
20051         with EISDIR instead of the POSIX-mandated EPERM.
20052
20053 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20054
20055         stdio: simplify by moving files to printf-posix, sigpipe
20056         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20057         since this symbol is needed only if printf is replaced.
20058         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20059         Require gl_ASM_SYMBOL_PREFIX.
20060         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20061         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20062         (Depends-on): Add 'raise'.
20063         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20064         * modules/stdio (Files): Remove lib/stdio-write.c,
20065         m4/asm-underscore.m4.
20066         (Depends-on): Remove 'raise'.
20067
20068         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20069         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20070         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20071         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20072
20073 2011-02-28  Bruno Haible  <bruno@clisp.org>
20074
20075         localcharset: Assume ANSI C behaviour of free().
20076         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20077         calling free().
20078         Suggested by Simon Josefsson <simon@josefsson.org>.
20079
20080 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20081             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20082             Bruno Haible  <bruno@clisp.org>  (tiny change)
20083
20084         On Cygwin, use /proc file system instead of win32 API.
20085         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20086         Win32 file names.
20087         (DllMain): Simplify by removing Cygwin specific code.
20088         (find_shared_library_fullname): Use Linux specific implementation also
20089         for Cygwin.
20090         (get_shared_library_fullname): Update accordingly.
20091         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20092         Win32 file names.
20093         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20094         Cygwin specific code.
20095
20096 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20097             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20098
20099         Fix OpenMP flag detection for various Fortran compilers.
20100         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20101         OpenMP-conditional compilation construct, to force compile
20102         failure with missing OpenMP flag.
20103         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20104
20105 2011-02-25  Eric Blake  <eblake@redhat.com>
20106
20107         strstr: expand test coverage
20108         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20109         compilation.
20110         * tests/test-memmem.c (main): Duplicate tests.
20111         * tests/test-strcasestr.c (main): Likewise.
20112         * tests/test-c-strcasestr.c (main): Likewise.
20113
20114 2011-02-25  Jim Meyering  <meyering@redhat.com>
20115
20116         maint.mk: detect missing-NL-at-EOF, too
20117         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20118         it also detects when a file lacks a newline at EOF.
20119         (require_exactly_one_NL_at_EOF_): Renamed from
20120         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20121         since people may well have .x-sc_... file names tied to the
20122         existing name.  Suggested by Eric Blake.
20123
20124 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20125
20126         dirname: move m4/dos.m4 functionality into lib/dosname.h
20127
20128         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20129         extracts symbols from it, puts them into config.h; but it's much
20130         easier to use the symbols directly.  filename.h already does this,
20131         but it disagrees with dos.m4 in some respects.  This patch
20132         introduces a different include file dosname.h that packages up
20133         dos.m4, and then later we can work on merging filename.h and
20134         dosname.h.  Applications that need only the easy-to-configure
20135         symbols should consider including dosname.h rather than dirname.h.
20136         * NEWS: Mention incompatible changes.
20137         * m4/dos.m4: Remove.
20138         * lib/dosname.h, modules/dosname: New files.
20139         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20140         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20141         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20142         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20143         Include dosname.h, not dirname.h.
20144         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20145         Include dosname.h, for definitions of symbols like ISSLASH
20146         that used to be in config.h.
20147         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20148         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20149         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20150         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20151         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20152         * modules/rmdir (Files): Likewise.
20153         * modules/stat (Files): Likewise.
20154         * modules/unlink (Files): Likewise.
20155         * modules/dirname-lgpl (Depends-on): Add dosname.
20156         * modules/lstat (Depends-on): Likewise.
20157         * modules/openat (Depends-on): Likewise.
20158         * modules/rmdir (Depends-on): Likewise.
20159         * modules/savewd (Depends-on): Likewise.
20160         * modules/stat (Depends-on): Likewise.
20161         * modules/unlink (Depends-on): Likewise.
20162         * modules/openat (Depends-on): Remove dirname-lgpl.
20163         * modules/savewd (Depends-on): Likewise.
20164         * tests/test-dirname.c: Do not use removed symbols like
20165         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20166         the remaining symbols, e.g., ISSLASH ('\\').
20167
20168 2011-02-25  Eric Blake  <eblake@redhat.com>
20169
20170         strstr: revert patches that introduced bug and pessimization
20171         * lib/str-two-way.h: Add another reference.
20172         (two_way_short_needle, two_way_long_needle): Revert changes from
20173         2011-02-24; they pessimize search speed.
20174         (critical_factorization): Partially revert changes from
20175         2010-06-22; they violate the requirement that the left half of the
20176         needle be smaller than the period of the needle.
20177
20178 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20179
20180         filenamecat: remove unnecessary dependency on dirname-lgpl
20181         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20182         is no direct dependency, just an indirect one via filenamecat-lgpl.
20183
20184         remove: remove unnecessary use of m4/dos.m4
20185         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20186         * modules/remove (FILES): Remove m4/dos.m4.
20187
20188         * lib/openat-proc.c: Don't include dirname.h; not needed.
20189
20190         backupfile: remove unnecessary use of m4/dos.m4
20191         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20192         of its symbols are used by the backupfile code.  backupfile.c does
20193         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20194         for the rare case of programs that want all their backup file
20195         names to live within 8+3 limits, and dos.m4 doesn't address that.
20196         * modules/backupfile (Files): Remove m4/dos.m4.
20197
20198 2011-02-24  Jim Meyering  <meyering@redhat.com>
20199
20200         strstr: fix a bug whereby strstr would mistakenly return NULL
20201         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20202         in period calculation.
20203         (two_way_long_needle): Likewise.
20204         The original problem was reported by Mike Stump in
20205         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20206         Ralf Wildenhues provided the short needle and haystack.
20207         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20208         Add a more involved test to trigger the bug in two_way_long_needle.
20209
20210 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20211
20212         gnulib-tool: remove use of bold display in help screen
20213         * gnulib-tool (func_usage): Do not use bold display anymore in the
20214         help screen.  That was just meant to be a temporary emphasis for a
20215         backward-incompatible change.
20216
20217 2011-02-23  Bruno Haible  <bruno@clisp.org>
20218
20219         Fix misindentation of preprocessor directives.
20220         * lib/argp-namefrob.h: Reindent preprocessor directives.
20221         * lib/getopt_int.h (struct _getopt_data): Likewise.
20222         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20223         * lib/vasnprintf.c (decode_long_double): Likewise.
20224         * tests/test-argmatch.c: Insert blank lines, for clarity.
20225         * tests/test-exclude.c: Likewise.
20226
20227 2011-02-22  Bruno Haible  <bruno@clisp.org>
20228
20229         ioctl: Fix for MacOS X in 64-bit mode.
20230         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20231         value.
20232         Suggested by Eric Blake.
20233         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
20234
20235 2011-02-22  Jim Meyering  <meyering@redhat.com>
20236
20237         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
20238         * Makefile (sc_cpp_indent_check): Don't limit the check to files
20239         in lib/.
20240
20241 2011-02-22  Eric Blake  <eblake@redhat.com>
20242
20243         maint: avoid any CDPATH issue
20244         * Makefile (sc_cpp_indent_check): Anchor cd argument.
20245
20246         maint: adjust cpp indentation for my modules, as well
20247         * Makefile (sc_cpp_indent_check): Add my name.
20248         * lib/fbufmode.c: Filter through cppi.
20249         * lib/fpurge.c: Likewise.
20250         * lib/freadable.c: Likewise.
20251         * lib/freading.c: Likewise.
20252         * lib/fwritable.c: Likewise.
20253         * lib/fwriting.c: Likewise.
20254         * lib/sigaction.c: Likewise.
20255
20256 2011-02-22  Jim Meyering  <meyering@redhat.com>
20257
20258         maint: adjust cpp indentation to reflect nesting depth
20259         I.e., in a block of code that begins with an unnested "#if",
20260         put one space between the "#" in column 1 and following token.
20261         For example,
20262         -#include <sys/vfs.h>
20263         +# include <sys/vfs.h>
20264         Do this only in .c files that are part of a module I maintain.
20265         * lib/linkat.c: Filter through cppi.
20266         * lib/nanosleep.c: Likewise.
20267         * lib/openat.c: Likewise.
20268         * lib/openat-die.c: Likewise.
20269         * lib/dup3.c: Likewise.
20270         * lib/fchownat.c: Likewise.
20271         * lib/flock.c: Likewise.
20272         * lib/fsync.c: Likewise.
20273         * lib/fts.c: Likewise.
20274         * lib/getpass.c: Likewise.
20275         * lib/gettimeofday.c: Likewise.
20276         * lib/userspec.c: Likewise.
20277         * Makefile (sc_cpp_indent_check): New rule, to check this.
20278
20279 2011-02-22  Bruno Haible  <bruno@clisp.org>
20280
20281         New module 'wctomb'.
20282         * lib/stdlib.in.h (wctomb): New declaration.
20283         * lib/wctomb.c: New file.
20284         * lib/wctomb-impl.h: New file.
20285         * m4/wctomb.m4: New file.
20286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20287         REPLACE_WCTOMB.
20288         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20289         REPLACE_WCTOMB.
20290         * modules/wctomb: New file.
20291         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20292         * doc/posix-functions/wctomb.texi: Mention the new module.
20293         * modules/wctob (Depends-on): Add wctomb.
20294
20295 2011-02-22  Bruno Haible  <bruno@clisp.org>
20296
20297         New module 'mbtowc'.
20298         * lib/stdlib.in.h (mbtowc): New declaration.
20299         * lib/mbtowc.c: New file.
20300         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20301         * m4/mbtowc.m4: New file.
20302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20303         REPLACE_MBTOWC.
20304         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20305         REPLACE_MBTOWC.
20306         * modules/mbtowc: New file.
20307         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20308         * doc/posix-functions/mbtowc.texi: Mention the new module.
20309         * modules/btowc (Depends-on): Add mbtowc.
20310
20311 2011-02-22  Bruno Haible  <bruno@clisp.org>
20312
20313         wcrtomb: Add more tests for native Windows platforms.
20314         * tests/test-wcrtomb-w32-1.sh: New file.
20315         * tests/test-wcrtomb-w32-2.sh: New file.
20316         * tests/test-wcrtomb-w32-3.sh: New file.
20317         * tests/test-wcrtomb-w32-4.sh: New file.
20318         * tests/test-wcrtomb-w32-5.sh: New file.
20319         * tests/test-wcrtomb-w32.c: New file.
20320         * modules/wcrtomb-tests (Files): Add them.
20321         (Makefile.am): Arrange to run these tests.
20322         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20323         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20324
20325 2011-02-20  Bruno Haible  <bruno@clisp.org>
20326
20327         wcrtomb: Enhance test.
20328         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20329
20330 2011-02-20  Bruno Haible  <bruno@clisp.org>
20331
20332         mbrtowc: Tiny optimization.
20333         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20334
20335 2011-02-20  Jim Meyering  <meyering@redhat.com>
20336
20337         test-exclude.c: remove unmatched #endif
20338         * tests/test-exclude.c: Remove stray #endif, left over from
20339         the change of a week ago.
20340
20341 2011-02-19  Jim Meyering  <meyering@redhat.com>
20342
20343         git-version-gen: skip "-dirty" check when appropriate
20344         * build-aux/git-version-gen: Don't run any git commands when the
20345         version string comes from .tarball-version.  Prior to this, we
20346         would run git update-index --refresh even from a just-unpacked
20347         tarball directory, and that could affect a .git/ directory in a
20348         parent of the build directory.  Reported by Mike Frysinger.
20349
20350 2011-02-19  Bruno Haible  <bruno@clisp.org>
20351
20352         unictype/property-byname: Reduce the size of the 'data' segment.
20353         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20354
20355 2011-02-19  Bruno Haible  <bruno@clisp.org>
20356
20357         unictype/scripts: Reduce the size of the 'data' segment.
20358         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20359         '%pic'.
20360         * lib/unictype/scripts_byname.gperf: Regenerated.
20361
20362 2011-02-19  Bruno Haible  <bruno@clisp.org>
20363
20364         stdint: Update documentation.
20365         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20366
20367 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20368
20369         stdint: omit redundant check for wchar.h
20370         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20371         always tests whether wchar.h exists, so remove the now-redundant test.
20372
20373 2011-02-18  Bruno Haible  <bruno@clisp.org>
20374
20375         stdint: Cut dependency to module 'wchar'.
20376         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20377         include the necessary prerequisites.
20378         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20379         * modules/stdint (Depends-on): Remove wchar.
20380         (Makefile.am): Substitute HAVE_WCHAR_H.
20381         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20382
20383 2011-02-18  Eric Blake  <eblake@redhat.com>
20384
20385         longlong: skip, rather than fail, on cross-compilation
20386         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20387         when cross-compiling; regression from 2011-02-16.
20388
20389 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20390
20391         * NEWS: Mention 2011-02-08 change to stdlib.
20392
20393 2011-02-17  Bruno Haible  <bruno@clisp.org>
20394
20395         getloadavg: Add comments about platforms.
20396         * m4/getloadavg.m4: Add comment.
20397         * lib/getloadavg.c: Likewise.
20398
20399 2011-02-17  Bruno Haible  <bruno@clisp.org>
20400
20401         getloadavg: Fix link error on Solaris 2.6.
20402         * modules/getloadavg (Link): New section.
20403         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20404         linking test-getloadavg.
20405         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20406         getloadavg.
20407
20408 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20409
20410         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20411         It was 'int', but this doesn't match the IRIX 6.5 manual.
20412         Suggested by Bruno Haible in
20413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20414
20415 2011-02-17  Bruno Haible  <bruno@clisp.org>
20416
20417         havelib: Fix comments.
20418         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20419         change.
20420
20421 2011-02-17  Bruno Haible  <bruno@clisp.org>
20422
20423         havelib: Update config.rpath.
20424         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20425
20426 2011-02-17  Bruno Haible  <bruno@clisp.org>
20427
20428         getloadavg test: Add some plausibility checks.
20429         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20430         is improbable.
20431
20432 2011-02-16  Eric Blake  <eblake@redhat.com>
20433
20434         maintainer-makefile: make syntax-check a no-op from tarballs
20435         * top/maint.mk (no-vc-detected): New rule.
20436         (local-checks-available): Use it to avoid hanging if someone tries
20437         'make syntax-check' from a tarball.  Also append to any non-syntax
20438         checks already defined in cfg.mk.
20439
20440 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20441
20442         longlong: tune, particularly for common case of c99
20443
20444         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20445         or running anything if c99, or if unsigned long long int does not
20446         work.  In either case, we know the answer without further tests.
20447         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20448         it at most once, and use its results for both long long int and
20449         unsigned long long int.  This is more likely to be efficient in
20450         the common case where the program wants to check for both long
20451         long int and unsigned long long int.
20452         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20453         since the answer is already known.
20454
20455 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20456
20457         getloadavg: set errno
20458         * lib/getloadavg.c: Set errno when returning -1.  If no other
20459         error number looks appropriate, set it to ENOSYS if the getloadavg
20460         looks like it can't possibly ever work, ENOTSUP otherwise.
20461         Suggested by Bruno Haible in
20462         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20463
20464         getloadavg: trim unused parts and speed up 'configure'
20465         * NEWS: Document this.
20466         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20467         always compiled if getloadavg is absent.
20468         Move test code to ...
20469         * tests/test-getloadavg.c: New file, containing previous
20470         contents of test from lib/getloadavg.c.  It also contains
20471         suggestions by Bruno Haible in
20472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20473         * modules/getloadavg-tests: New file.
20474         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20475         Do tests in the same order as they're needed for getloadavg.c.
20476         Omit setgid-related tests that generate symbols KMEM_GROUP,
20477         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20478         Do only the tests that are needed to see whether the system has
20479         getloadavg, moving the other tests into ...
20480         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20481         NLIST_NAME_UNION; nobody should be using it.  Do not define
20482         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20483         relevant, as the user of this module shouldn't care how getloadavg
20484         is implemented.
20485
20486         getloadavg: omit unused var
20487         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20488
20489 2011-02-15  Jim Meyering  <meyering@redhat.com>
20490
20491         doc: update users.txt
20492         * users.txt: Update iwhd's URL.
20493
20494 2011-02-13  Bruno Haible  <bruno@clisp.org>
20495
20496         Consistent macro naming for macros that use GCC __attribute__.
20497         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20498         _ATTRIBUTE_NONNULL_.
20499         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20500         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20501         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20502         ATTRIBUTE_DEPRECATED.
20503         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20504         ATTRIBUTE_NORETURN.
20505         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20506         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20507         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20508         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20509         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20510         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20511         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20512         ATTRIBUTE_SENTINEL.
20513         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20514         ATTRIBUTE_RETURN_CHECK.
20515         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20516         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20517         ATTRIBUTE_NORETURN.
20518         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20519         Reported by Paul Eggert.
20520
20521 2011-02-13  Bruno Haible  <bruno@clisp.org>
20522
20523         Don't interfere with a program's definition of __attribute__.
20524         * lib/argp.h (__attribute__): Remove definition.
20525         (_GL_ATTRIBUTE_FORMAT): New macro.
20526         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20527         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20528         (_GL_ATTRIBUTE_FORMAT): New macro.
20529         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20530         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20531         GCC 3 or newer.
20532         * lib/error.h (__attribute__): Remove definition.
20533         (_GL_ATTRIBUTE_FORMAT): New macro.
20534         (error, error_at_line): Use it.
20535         * lib/hash.h (__attribute__): Remove definition.
20536         (ATTRIBUTE_WUR): Update definition. Define always.
20537         * lib/openat.h (__attribute__): Remove definition.
20538         (ATTRIBUTE_NORETURN): Update definition. Define always.
20539         * lib/sigpipe-die.h (__attribute__): Remove definition.
20540         (ATTRIBUTE_NORETURN): Update definition. Define always.
20541         * lib/vasnprintf.h (__attribute__): Remove definition.
20542         (_GL_ATTRIBUTE_FORMAT): New macro.
20543         (asnprintf, vasnprintf): Use it.
20544         * lib/xalloc.h (__attribute__): Remove definition.
20545         (ATTRIBUTE_NORETURN): Update definition. Define always.
20546         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20547         * lib/xmemdup0.h (__attribute__): Remove definition.
20548         (ATTRIBUTE_NORETURN): Update definition. Define always.
20549         * lib/xprintf.h (__attribute__): Remove definition.
20550         (_GL_ATTRIBUTE_FORMAT): New macro.
20551         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20552         * lib/xstrtol.h (__attribute__): Remove definition.
20553         (ATTRIBUTE_NORETURN): Update definition. Define always.
20554         * lib/xvasprintf.h (__attribute__): Remove definition.
20555         (_GL_ATTRIBUTE_FORMAT): New macro.
20556         (xasprintf, xvasprintf): Use it.
20557         * tests/test-argmatch.c (__attribute__): Remove definition.
20558         (ATTRIBUTE_NORETURN): Update definition. Define always.
20559         * tests/test-exclude.c (__attribute__): Remove definition.
20560         (ATTRIBUTE_NORETURN): Update definition. Define always.
20561         Reported by Paul Eggert.
20562
20563 2011-02-13  Bruno Haible  <bruno@clisp.org>
20564
20565         mbrtowc: Add more tests for native Windows platforms.
20566         * tests/test-mbrtowc-w32-1.sh: New file.
20567         * tests/test-mbrtowc-w32-2.sh: New file.
20568         * tests/test-mbrtowc-w32-3.sh: New file.
20569         * tests/test-mbrtowc-w32-4.sh: New file.
20570         * tests/test-mbrtowc-w32-5.sh: New file.
20571         * tests/test-mbrtowc-w32.c: New file.
20572         * modules/mbrtowc-tests (Files): Add them.
20573         (Makefile.am): Arrange to run these tests.
20574         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
20575         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
20576
20577 2011-02-13  Bruno Haible  <bruno@clisp.org>
20578
20579         mbrtowc: Work around native Windows bug.
20580         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
20581         guess when no suitable locale for testing was found.
20582         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
20583
20584 2011-02-13  Bruno Haible  <bruno@clisp.org>
20585
20586         mbsinit: Work around mingw bug.
20587         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
20588         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
20589         Windows.
20590         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
20591
20592 2011-02-13  Bruno Haible  <bruno@clisp.org>
20593
20594         mbsinit: Don't crash for a NULL argument.
20595         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
20596         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
20597
20598 2011-02-13  Bruno Haible  <bruno@clisp.org>
20599
20600         Don't interfere with a program's definition of __attribute__.
20601         * lib/stdio.in.h (__attribute__): Remove definition.
20602         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
20603         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
20604         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
20605         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
20606         * lib/string.in.h (__attribute__): Remove definition.
20607         Reported by Paul Eggert.
20608
20609 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20610
20611         stdlib: don't get in the way of non-GCC __attribute__
20612         See thread starting at
20613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
20614         Revert previous stdlib change, installing the following instead:
20615         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
20616         to get in the way of a non-GCC compiler that supports __attribute__.
20617         (_GL_ATTRIBUTE_RETURN): New macro.
20618         (_Exit): Use it instead of __attribute__.
20619
20620 2011-02-12  Bruno Haible  <bruno@clisp.org>
20621
20622         quotearg test: Avoid test failure on mingw.
20623         * tests/test-quotearg.sh: Convert the locale identifier from native
20624         Windows syntax to Unix syntax.
20625
20626 2011-02-12  Bruno Haible  <bruno@clisp.org>
20627
20628         setlocale: Prefer gnulib's override over libintl's override.
20629         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
20630         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
20631         GNULIB_defined_setlocale is set.
20632
20633 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20634
20635         stdlib: support non-GCC __attribute__
20636
20637         Fix a serious and tricky problem encountered when attempting to
20638         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
20639         5.5, but it crashed due to memory corruption on Solaris 10 with
20640         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
20641         bits that are otherwise zero.  This tagging is optional inside
20642         Emacs but is preferred and is used when __attribute__ ((__aligned
20643         (8))) works, as it does with both recent-enough GCC and with Sun C
20644         5.11.  However, Sun C 5.11 is not GCC and does not #define
20645         __GNUC__ and __GNUC_MINOR__.
20646
20647         When I added the getloadavg module to Emacs, it brought in
20648         stdlib.in.h, which contained this fragment:
20649
20650            #ifndef __attribute__
20651            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
20652            #  define __attribute__(Spec)   /* empty */
20653            # endif
20654            #endif
20655
20656         When files that include <stdlib.h> were compiled with Sun C 5.11,
20657         the above code disabled __attribute__ ((__aligned (8))), which
20658         caused variables to not be properly aligned, which eventually led
20659         to the pointer corruption mentioned above.  (This was a bit hard
20660         to diagnose, unfortunately.)
20661
20662         Several "#define __attribute__(X) /* empty */" code snippets need
20663         to be eradicated from Gnulib to work with non-GCC compilers that
20664         support __attribute__.  The Autoconf way to do this is to test for
20665         each kind of attribute that we want support for, and selectively
20666         enable that in source code.
20667
20668         Fix this problem just for stdlib.h, by adding a test for the
20669         __noreturn__ attribute, and change stdlib.in.h to use that test
20670         when needed.  This technique can be easily generalized to the
20671         other *.in.h files and attributes, and a similar technique can be
20672         used for *.h and *.c files.  This patch is enough to solve the
20673         problem for Emacs + getloadavg, and I thought I'd publish it for
20674         feedback before undertaking further, similar fixes in other
20675         modules.
20676
20677         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
20678         because it's not needed for stdlib.h.  It merely substitutes the
20679         value directly into stdlib.h.  We may well need to #define it, or
20680         similar symbols, for other modules, but it's nice to also have an
20681         option to not #define it for applications like Emacs that do not
20682         need it.
20683
20684         * lib/stdlib.in.h (__attribute__): Do not #define.
20685         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
20686         be defined only if the _Exit module is also used.
20687         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
20688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
20689         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
20690         platforms.
20691         * modules/_Exit (Files): Add m4/attribute.m4.
20692         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
20693         * m4/attribute.m4: New file.
20694
20695 2011-02-12  Bruno Haible  <bruno@clisp.org>
20696
20697         wcsrtombs: Work around bug on native Windows.
20698         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
20699         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
20700         instead of len.
20701         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
20702
20703 2011-02-12  Bruno Haible  <bruno@clisp.org>
20704
20705         mbsrtowcs: Work around bug on native Windows.
20706         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
20707         against mingw bug.
20708         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
20709
20710 2011-02-12  Bruno Haible  <bruno@clisp.org>
20711
20712         Avoid setlocale bugs in tests.
20713         * modules/btowc (Dependencies): Add setlocale.
20714         * modules/c-strcase (Dependencies): Likewise.
20715         * modules/mbmemcasecmp (Dependencies): Likewise.
20716         * modules/mbmemcasecoll (Dependencies): Likewise.
20717         * modules/mbrtowc (Dependencies): Likewise.
20718         * modules/mbscasecmp (Dependencies): Likewise.
20719         * modules/mbscasestr (Dependencies): Likewise.
20720         * modules/mbschr (Dependencies): Likewise.
20721         * modules/mbscspn (Dependencies): Likewise.
20722         * modules/mbsinit (Dependencies): Likewise.
20723         * modules/mbsncasecmp (Dependencies): Likewise.
20724         * modules/mbsnrtowcs (Dependencies): Likewise.
20725         * modules/mbspbrk (Dependencies): Likewise.
20726         * modules/mbspcasecmp (Dependencies): Likewise.
20727         * modules/mbsrchr (Dependencies): Likewise.
20728         * modules/mbsrtowcs (Dependencies): Likewise.
20729         * modules/mbsspn (Dependencies): Likewise.
20730         * modules/mbsstr (Dependencies): Likewise.
20731         * modules/nl_langinfo (Dependencies): Likewise.
20732         * modules/quotearg (Dependencies): Likewise.
20733         * modules/unicase/locale-language (Dependencies): Likewise.
20734         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
20735         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
20736         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
20737         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
20738         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
20739         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
20740         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
20741         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
20742         * modules/vasnprintf-posix (Dependencies): Likewise.
20743         * modules/wcrtomb (Dependencies): Likewise.
20744         * modules/wcsnrtombs (Dependencies): Likewise.
20745         * modules/wcsrtombs (Dependencies): Likewise.
20746
20747 2011-02-12  Bruno Haible  <bruno@clisp.org>
20748
20749         setlocale: Workaround native Windows bug.
20750         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
20751         succeeds but sets LC_CTYPE to "C", report a failure.
20752         * tests/test-setlocale2.sh: New file.
20753         * tests/test-setlocale2.c: New file.
20754         * modules/setlocale-tests (Files): Add the new files.
20755         (Makefile.am): Enable test-setlocale2.sh test.
20756         * doc/posix-functions/setlocale.texi: Mention workaround.
20757
20758 2011-02-11  Bruno Haible  <bruno@clisp.org>
20759
20760         Tests for module 'setlocale'.
20761         * modules/setlocale-tests: New file.
20762         * tests/test-setlocale1.sh: New file.
20763         * tests/test-setlocale1.c: New file.
20764
20765         New module 'setlocale'.
20766         * lib/locale.in.h (setlocale): New declaration.
20767         * lib/setlocale.c: New file, based on
20768         gettext/gettext-runtime/intl/setlocale.c.
20769         * m4/setlocale.m4: New file.
20770         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20771         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20772         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20773         REPLACE_SETLOCALE.
20774         * modules/setlocale: New file.
20775         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20776         * doc/posix-functions/setlocale.texi: Mention the new module.
20777
20778 2011-02-11  Bruno Haible  <bruno@clisp.org>
20779
20780         Prepare for locale dependent tests on mingw.
20781         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20782         because it has the wrong locale encoding.
20783         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20784         French_France.1252 instead of "fr".
20785         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20786         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20787         because it has the wrong locale encoding.
20788         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20789         native Windows, try Turkish_Turkey.65001.
20790         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20791         Chinese_China.54936.
20792
20793         Prepare for locale dependent tests on mingw.
20794         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20795         differently.
20796         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20797         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20798         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20799         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20800
20801 2011-02-11  Eric Blake  <eblake@redhat.com>
20802
20803         strptime: avoid compiler warnings
20804         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20805         compiler warnings about dead code.
20806         Reported by Daniel P. Berrange.
20807
20808 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20809
20810         doc: update users.txt
20811         * users.txt: Add rcs.
20812
20813 2011-02-10  John W. Eaton  <jwe@gnu.org>
20814
20815         doc: update users.txt
20816         * users.txt: Add octave.
20817
20818 2011-02-10  Jim Meyering  <meyering@redhat.com>
20819
20820         doc: update users.txt
20821         * users.txt: Add iwhd.
20822
20823 2011-02-09  Bruno Haible  <bruno@clisp.org>
20824
20825         gnulib-tool: Make copyright notice adjustment more robust.
20826         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20827         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20828         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20829         License".
20830         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20831
20832 2011-02-06  Bruno Haible  <bruno@clisp.org>
20833
20834         New module 'towctrans'.
20835         * modules/towctrans: New file.
20836         * lib/wctype.in.h (towctrans): New declaration.
20837         * lib/towctrans.c: New file.
20838         * lib/towctrans-impl.h: New file.
20839         * m4/towctrans.m4: New file.
20840         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20841         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20842         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20843         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20844         * doc/posix-functions/towctrans.texi: Mention the new module.
20845
20846 2011-02-06  Bruno Haible  <bruno@clisp.org>
20847
20848         New module 'wctrans'.
20849         * modules/wctrans: New file.
20850         * lib/wctype.in.h (wctrans): New declaration.
20851         * lib/wctrans.c: New file.
20852         * lib/wctrans-impl.h: New file.
20853         * m4/wctrans.m4: New file.
20854         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20855         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20856         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20857         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20858         * doc/posix-functions/wctrans.texi: Mention the new module.
20859
20860 2011-02-06  Bruno Haible  <bruno@clisp.org>
20861
20862         New module 'iswctype'.
20863         * modules/iswctype: New file.
20864         * lib/wctype.in.h (iswctype): New declaration.
20865         * lib/iswctype.c: New file.
20866         * lib/iswctype-impl.h: New file.
20867         * m4/iswctype.m4: New file.
20868         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20869         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20870         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20871         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20872         * doc/posix-functions/iswctype.texi: Mention the new module and the
20873         HP-UX 11.00 problem.
20874
20875 2011-02-06  Bruno Haible  <bruno@clisp.org>
20876
20877         New module 'wctype'.
20878         * modules/wctype: Change to represent the wctype() substitute.
20879         * lib/wctype.in.h (wctype): New declaration.
20880         * lib/wctype.c: New file.
20881         * lib/wctype-impl.h: New file.
20882         * m4/wctype.m4: New file.
20883         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20884         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20885         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20886         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20887         * doc/posix-functions/wctype.texi: Mention the new module and the
20888         HP-UX 11.00 problem.
20889
20890 2011-02-06  Bruno Haible  <bruno@clisp.org>
20891
20892         wctype-h: Ensure wctype_t and wctrans_t are defined.
20893         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20894         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20895         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20896         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20897         HAVE_WCTRANS_T.
20898         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20899
20900 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20901
20902         flock: fix license typo
20903
20904         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20905         omitted.
20906
20907 2011-02-08  Bruno Haible  <bruno@clisp.org>
20908
20909         Split large sed scripts, for HP-UX sed.
20910         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20911         to avoid HP-UX limit of 99 commands, in the near future.
20912         * modules/stdlib (Makefile.am): Likewise.
20913         * modules/unistd (Makefile.am): Likewise.
20914         * modules/wchar (Makefile.am): Likewise.
20915         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20916         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20917         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20918
20919 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20920             Bruno Haible  <bruno@clisp.org>
20921
20922         stdlib: improve random_r modularization
20923         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20924         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20925         you also need the random_r module to get this material right.
20926         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20927         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20928         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20929
20930 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20931
20932         stdlib: don't depend on stdint
20933         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20934         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20935         be independent of whether stdint.h is needed.
20936         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20937         here, instead of ...
20938         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20939         struct random_data should be using the random_r module, not just
20940         the stdlib module (which wouldn't make sense: what package needs
20941         just struct random_data without also needing random_r?).
20942         * modules/stdlib (Depends-on): Remove stdint.
20943
20944         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20945         See the thread rooted at
20946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20947         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20948         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20949         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20950         __VMS)); previously it was always included (via fcntl--.h).
20951         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20952         hand; this is good enough for load averages.  Also, do not use
20953         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20954         flags directly if available and don't bother otherwise.  (Packages
20955         that need the extra reliability should use the modules that define
20956         these flags on older platforms that lack them.)
20957         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20958         fcntl-safer.
20959
20960 2011-02-08  Jim Meyering  <meyering@redhat.com>
20961
20962         di-set.h, ino-map.h: add multiple-inclusion guard
20963         Technically, the guard is required only for ino-map.h, due to its
20964         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20965         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20966         * lib/ino-map.h: Likewise.
20967
20968 2011-02-06  Bruno Haible  <bruno@clisp.org>
20969
20970         iswblank: Ensure declaration on glibc systems.
20971         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20972         * modules/iswblank (Dependencies): Add 'extensions'.
20973         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20974
20975 2011-02-06  Bruno Haible  <bruno@clisp.org>
20976
20977         New module 'iswblank'.
20978         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20979         * modules/iswblank: New file.
20980         * modules/wctype-h (Files): Remove lib/iswblank.c.
20981         (Makefile.am): Substitute GNULIB_ISWBLANK.
20982         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20983         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20984         (gl_WCTYPE_H_DEFAULTS): New macro.
20985         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20986         * modules/iswblank-tests: New file.
20987         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20988         * tests/test-wctype-h.c (main): Remove iswblank tests.
20989         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20990         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20991         of 'wctype-h'.
20992         * NEWS: Mention the change.
20993         * modules/mbchar (Depends-on): Add iswblank.
20994
20995 2011-02-08  Bruno Haible  <bruno@clisp.org>
20996
20997         di-set tests: Refactor.
20998         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20999         unnecessary includes.
21000         (ASSERT): Remove macro.
21001         (main): Make C90 compliant by avoiding variable declaration after
21002         statement.
21003         * modules/di-set-tests (Files): Add tests/macros.h.
21004
21005 2011-02-08  Bruno Haible  <bruno@clisp.org>
21006
21007         ino-map tests: Refactor.
21008         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21009         unnecessary includes.
21010         (ASSERT): Remove macro.
21011         (main): Make C90 compliant by avoiding variable declaration after
21012         statement.
21013         * modules/ino-map-tests (Files): Add tests/macros.h.
21014
21015 2011-02-08  Jim Meyering  <meyering@redhat.com>
21016
21017         di-set: add "const" to a cast
21018         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21019         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21020
21021 2011-02-06  Bruno Haible  <bruno@clisp.org>
21022
21023         Rename module 'wctype' to 'wctype-h'.
21024         * modules/wctype-h: Renamed from modules/wctype.
21025         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21026         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21027         (Files, Depends-on, Makefile.am): Update.
21028         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21029         (Files, Makefile.am): Update.
21030         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21031         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21032         * doc/posix-headers/wctype.texi: Update.
21033         * doc/posix-functions/iswalnum.texi: Update.
21034         * doc/posix-functions/iswalpha.texi: Update.
21035         * doc/posix-functions/iswblank.texi: Update.
21036         * doc/posix-functions/iswcntrl.texi: Update.
21037         * doc/posix-functions/iswdigit.texi: Update.
21038         * doc/posix-functions/iswgraph.texi: Update.
21039         * doc/posix-functions/iswlower.texi: Update.
21040         * doc/posix-functions/iswprint.texi: Update.
21041         * doc/posix-functions/iswpunct.texi: Update.
21042         * doc/posix-functions/iswspace.texi: Update.
21043         * doc/posix-functions/iswupper.texi: Update.
21044         * doc/posix-functions/iswxdigit.texi: Update.
21045         * doc/posix-functions/towlower.texi: Update.
21046         * doc/posix-functions/towupper.texi: Update.
21047         * NEWS: Mention the change.
21048         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21049         * modules/mbchar (Dependencies): Likewise.
21050         * modules/mbswidth (Dependencies): Likewise.
21051         * modules/quotearg (Dependencies): Likewise.
21052         * modules/regex (Dependencies): Likewise.
21053         * modules/wcscasecmp (Dependencies): Likewise.
21054         * modules/wcsncasecmp (Dependencies): Likewise.
21055         * modules/wcwidth (Dependencies): Likewise.
21056
21057 2011-02-06  Bruno Haible  <bruno@clisp.org>
21058
21059         New module 'wcswidth'.
21060         * modules/wcswidth: New file.
21061         * lib/wchar.in.h (wcswidth): New declaration.
21062         * lib/wcswidth.c: New file.
21063         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21064         * m4/wcswidth.m4: New file.
21065         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21066         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21067         REPLACE_WCSWIDTH.
21068         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21069         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21070         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21071         * doc/posix-functions/wcswidth.texi: Mention the new module.
21072
21073 2011-02-06  Bruno Haible  <bruno@clisp.org>
21074
21075         New module 'wcstok'.
21076         * modules/wcstok: New file.
21077         * lib/wchar.in.h (wcstok): New declaration.
21078         * lib/wcstok.c: New file.
21079         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21080         * m4/wcstok.m4: New file.
21081         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21082         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21083         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21084         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21085         * doc/posix-functions/wcstok.texi: Mention the new module.
21086
21087 2011-02-06  Bruno Haible  <bruno@clisp.org>
21088
21089         New module 'wcsstr'.
21090         * modules/wcsstr: New file.
21091         * lib/wchar.in.h (wcsstr): New declaration.
21092         * lib/wcsstr.c: New file.
21093         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21094         * m4/wcsstr.m4: New file.
21095         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21096         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21097         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21098         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21099         * doc/posix-functions/wcsstr.texi: Mention the new module.
21100
21101 2011-02-06  Bruno Haible  <bruno@clisp.org>
21102
21103         New module 'wcspbrk'.
21104         * modules/wcspbrk: New file.
21105         * lib/wchar.in.h (wcspbrk): New declaration.
21106         * lib/wcspbrk.c: New file.
21107         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21108         * m4/wcspbrk.m4: New file.
21109         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21110         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21111         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21112         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21113         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21114
21115 2011-02-06  Bruno Haible  <bruno@clisp.org>
21116
21117         New module 'wcsspn'.
21118         * modules/wcsspn: New file.
21119         * lib/wchar.in.h (wcsspn): New declaration.
21120         * lib/wcsspn.c: New file.
21121         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21122         * m4/wcsspn.m4: New file.
21123         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21124         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21125         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21126         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21127         * doc/posix-functions/wcsspn.texi: Mention the new module.
21128
21129 2011-02-06  Bruno Haible  <bruno@clisp.org>
21130
21131         New module 'wcscspn'.
21132         * modules/wcscspn: New file.
21133         * lib/wchar.in.h (wcscspn): New declaration.
21134         * lib/wcscspn.c: New file.
21135         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21136         * m4/wcscspn.m4: New file.
21137         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21138         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21139         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21140         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21141         * doc/posix-functions/wcscspn.texi: Mention the new module.
21142
21143 2011-02-06  Bruno Haible  <bruno@clisp.org>
21144
21145         New module 'wcsrchr'.
21146         * modules/wcsrchr: New file.
21147         * lib/wchar.in.h (wcsrchr): New declaration.
21148         * lib/wcsrchr.c: New file.
21149         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21150         * m4/wcsrchr.m4: New file.
21151         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21152         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21153         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21154         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21155         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21156
21157 2011-02-06  Bruno Haible  <bruno@clisp.org>
21158
21159         New module 'wcschr'.
21160         * modules/wcschr: New file.
21161         * lib/wchar.in.h (wcschr): New declaration.
21162         * lib/wcschr.c: New file.
21163         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21164         * m4/wcschr.m4: New file.
21165         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21166         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21167         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21168         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21169         * doc/posix-functions/wcschr.texi: Mention the new module.
21170
21171 2011-02-06  Bruno Haible  <bruno@clisp.org>
21172
21173         New module 'wcsdup'.
21174         * modules/wcsdup: New file.
21175         * lib/wchar.in.h (wcsdup): New declaration.
21176         * lib/wcsdup.c: New file.
21177         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21178         * m4/wcsdup.m4: New file.
21179         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21180         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21181         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21182         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21183         * doc/posix-functions/wcsdup.texi: Mention the new module.
21184
21185 2011-02-06  Bruno Haible  <bruno@clisp.org>
21186
21187         New module 'wcsxfrm'.
21188         * modules/wcsxfrm: New file.
21189         * lib/wchar.in.h (wcsxfrm): New declaration.
21190         * lib/wcsxfrm.c: New file.
21191         * lib/wcsxfrm-impl.h: New file.
21192         * m4/wcsxfrm.m4: New file.
21193         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21194         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21195         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21196         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21197         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21198
21199 2011-02-06  Bruno Haible  <bruno@clisp.org>
21200
21201         New module 'wcscoll'.
21202         * modules/wcscoll: New file.
21203         * lib/wchar.in.h (wcscoll): New declaration.
21204         * lib/wcscoll.c: New file.
21205         * lib/wcscoll-impl.h: New file.
21206         * m4/wcscoll.m4: New file.
21207         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21208         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21209         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21210         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21211         * doc/posix-functions/wcscoll.texi: Mention the new module.
21212
21213 2011-02-06  Bruno Haible  <bruno@clisp.org>
21214
21215         New module 'wcsncasecmp'.
21216         * modules/wcsncasecmp: New file.
21217         * lib/wchar.in.h (wcsncasecmp): New declaration.
21218         * lib/wcsncasecmp.c: New file.
21219         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21220         * m4/wcsncasecmp.m4: New file.
21221         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21222         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21223         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21224         HAVE_WCSNCASECMP.
21225         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21226         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21227
21228 2011-02-06  Bruno Haible  <bruno@clisp.org>
21229
21230         New module 'wcscasecmp'.
21231         * modules/wcscasecmp: New file.
21232         * lib/wchar.in.h (wcscasecmp): New declaration.
21233         * lib/wcscasecmp.c: New file.
21234         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
21235         * m4/wcscasecmp.m4: New file.
21236         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
21237         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
21238         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
21239         HAVE_WCSCASECMP.
21240         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
21241         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
21242
21243 2011-02-05  Bruno Haible  <bruno@clisp.org>
21244
21245         New module 'wcsncmp'.
21246         * modules/wcsncmp: New file.
21247         * lib/wchar.in.h (wcsncmp): New declaration.
21248         * lib/wcsncmp.c: New file.
21249         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
21250         * m4/wcsncmp.m4: New file.
21251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
21252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
21253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
21254         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
21255         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21256
21257 2011-02-05  Bruno Haible  <bruno@clisp.org>
21258
21259         New module 'wcscmp'.
21260         * modules/wcscmp: New file.
21261         * lib/wchar.in.h (wcscmp): New declaration.
21262         * lib/wcscmp.c: New file.
21263         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21264         * m4/wcscmp.m4: New file.
21265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21268         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21269         * doc/posix-functions/wcscmp.texi: Mention the new module.
21270
21271 2011-02-05  Bruno Haible  <bruno@clisp.org>
21272
21273         New module 'wcsncat'.
21274         * modules/wcsncat: New file.
21275         * lib/wchar.in.h (wcsncat): New declaration.
21276         * lib/wcsncat.c: New file.
21277         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21278         * m4/wcsncat.m4: New file.
21279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21281         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21282         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21283         * doc/posix-functions/wcsncat.texi: Mention the new module.
21284
21285 2011-02-05  Bruno Haible  <bruno@clisp.org>
21286
21287         New module 'wcscat'.
21288         * modules/wcscat: New file.
21289         * lib/wchar.in.h (wcscat): New declaration.
21290         * lib/wcscat.c: New file.
21291         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21292         * m4/wcscat.m4: New file.
21293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21296         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21297         * doc/posix-functions/wcscat.texi: Mention the new module.
21298
21299 2011-02-05  Bruno Haible  <bruno@clisp.org>
21300
21301         New module 'wcpncpy'.
21302         * modules/wcpncpy: New file.
21303         * lib/wchar.in.h (wcpncpy): New declaration.
21304         * lib/wcpncpy.c: New file.
21305         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21306         * m4/wcpncpy.m4: New file.
21307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21309         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21310         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21311         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21312
21313 2011-02-05  Bruno Haible  <bruno@clisp.org>
21314
21315         New module 'wcsncpy'.
21316         * modules/wcsncpy: New file.
21317         * lib/wchar.in.h (wcsncpy): New declaration.
21318         * lib/wcsncpy.c: New file.
21319         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21320         * m4/wcsncpy.m4: New file.
21321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21324         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21325         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21326
21327 2011-02-05  Bruno Haible  <bruno@clisp.org>
21328
21329         New module 'wcpcpy'.
21330         * modules/wcpcpy: New file.
21331         * lib/wchar.in.h (wcpcpy): New declaration.
21332         * lib/wcpcpy.c: New file.
21333         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21334         * m4/wcpcpy.m4: New file.
21335         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21336         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21337         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21338         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21339         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21340
21341 2011-02-05  Bruno Haible  <bruno@clisp.org>
21342
21343         New module 'wcscpy'.
21344         * modules/wcscpy: New file.
21345         * lib/wchar.in.h (wcscpy): New declaration.
21346         * lib/wcscpy.c: New file.
21347         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21348         * m4/wcscpy.m4: New file.
21349         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21350         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21352         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21353         * doc/posix-functions/wcscpy.texi: Mention the new module.
21354
21355 2011-02-05  Bruno Haible  <bruno@clisp.org>
21356
21357         New module 'wcsnlen'.
21358         * modules/wcsnlen: New file.
21359         * lib/wchar.in.h (wcsnlen): New declaration.
21360         * lib/wcsnlen.c: New file.
21361         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21362         * m4/wcsnlen.m4: New file.
21363         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21364         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21366         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21367         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21368
21369 2011-02-05  Bruno Haible  <bruno@clisp.org>
21370
21371         New module 'wcslen'.
21372         * modules/wcslen: New file.
21373         * lib/wchar.in.h (wcslen): New declaration.
21374         * lib/wcslen.c: New file.
21375         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21376         * m4/wcslen.m4: New file.
21377         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21378         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21379         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21380         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21381         * doc/posix-functions/wcslen.texi: Mention the new module.
21382
21383 2011-02-05  Bruno Haible  <bruno@clisp.org>
21384
21385         New module 'wmemset'.
21386         * modules/wmemset: New file.
21387         * lib/wchar.in.h (wmemset): New declaration.
21388         * lib/wmemset.c: New file.
21389         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21390         * m4/wmemset.m4: New file.
21391         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21392         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21393         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21394         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21395         * doc/posix-functions/wmemset.texi: Mention the new module.
21396
21397 2011-02-05  Bruno Haible  <bruno@clisp.org>
21398
21399         New module 'wmemmove'.
21400         * modules/wmemmove: New file.
21401         * lib/wchar.in.h (wmemmove): New declaration.
21402         * lib/wmemmove.c: New file.
21403         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21404         * m4/wmemmove.m4: New file.
21405         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21406         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21407         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21408         HAVE_WMEMMOVE.
21409         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21410         * doc/posix-functions/wmemmove.texi: Mention the new module.
21411
21412 2011-02-05  Bruno Haible  <bruno@clisp.org>
21413
21414         New module 'wmemcpy'.
21415         * modules/wmemcpy: New file.
21416         * lib/wchar.in.h (wmemcpy): New declaration.
21417         * lib/wmemcpy.c: New file.
21418         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21419         * m4/wmemcpy.m4: New file.
21420         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21421         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21422         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21423         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21424         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21425
21426 2011-02-05  Bruno Haible  <bruno@clisp.org>
21427
21428         New module 'wmemcmp'.
21429         * modules/wmemcmp: New file.
21430         * lib/wchar.in.h (wmemcmp): New declaration.
21431         * lib/wmemcmp.c: New file.
21432         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21433         * m4/wmemcmp.m4: New file.
21434         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21435         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21436         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21437         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21438         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21439
21440 2011-02-07  Jim Meyering  <meyering@redhat.com>
21441
21442         di-set, ino-map: new modules, from coreutils
21443         * lib/di-set.c: New file.
21444         * lib/di-set.h: Likewise.
21445         * lib/ino-map.c: Likewise.
21446         * lib/ino-map.h: Likewise.
21447         * modules/di-set: Likewise.
21448         * modules/di-set-tests: Likewise.
21449         * modules/ino-map: Likewise.
21450         * modules/ino-map-tests: Likewise.
21451         * tests/test-di-set.c: Likewise.
21452         * tests/test-ino-map.c: Likewise.
21453
21454 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21455
21456         getloadavg: merge minor changes from Emacs
21457
21458         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21459         (getloadavg): Use memset, not bzero.
21460
21461         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21462         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21463         clash (bug#86).
21464
21465 2010-11-14  Bruno Haible  <bruno@clisp.org>
21466
21467         Allow multiple gnulib generated replacements to coexist.
21468         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21469         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21470         * lib/langinfo.in.h (nl_item): Likewise.
21471         * lib/math.in.h (_NaN, NAN): Likewise.
21472         * lib/netdb.in.h (struct addrinfo): Likewise.
21473         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21474         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21475         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21476         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21477         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21478         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21479         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21480         pthread_mutexattr_init, pthread_mutexattr_settype,
21481         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21482         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21483         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21484         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21485         * lib/sched.in.h (struct sched_param): Likewise.
21486         * lib/se-selinux.in.h (security_class_t, security_context_t,
21487         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21488         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21489         lsetfilecon, fsetfilecon, security_check_context,
21490         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21491         Likewise.
21492         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21493         Likewise.
21494         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21495         _gl_function_taking_int_returning_void_t, union sigval,
21496         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21497         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21498         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21499         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21500         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21501         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21502         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21503         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21504         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21505         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21506         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21507         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21508         socklen_t, rpl_fd_isset): Likewise.
21509         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21510         * lib/sys_time.in.h (struct timeval): Likewise.
21511         * lib/sys_times.in.h (struct tms): Likewise.
21512         * lib/sys_utsname.in.h (struct utsname):
21513         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21514         * lib/unistd.in.h (getpagesize): Likewise.
21515         * lib/wchar.in.h (mbstate_t): Likewise.
21516         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21517         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21518         towlower, towupper): Likewise.
21519         Reported by Sam Steingold <sds@gnu.org>.
21520
21521 2011-02-05  Eric Blake  <eblake@redhat.com>
21522
21523         unsetenv: work around Haiku issues
21524         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21525         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21526
21527 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21528
21529         libposix: avoid calling error() within libposix
21530         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21531         is defined.
21532
21533 2011-02-05  Eric Blake  <eblake@redhat.com>
21534
21535         strerror_r-posix: port to cygwin
21536         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21537         implementation.
21538         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21539         * tests/test-strerror_r.c (main): Fix test.
21540         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21541         issue.
21542
21543 2011-02-05  Bruno Haible  <bruno@clisp.org>
21544
21545         New module 'wmemchr'.
21546         * modules/wmemchr: New file.
21547         * lib/wchar.in.h (wmemchr): New declaration.
21548         * lib/wmemchr.c: New file.
21549         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21550         * m4/wmemchr.m4: New file.
21551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21553         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21554         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21555         * doc/posix-functions/wmemchr.texi: Mention the new module.
21556
21557 2011-02-04  Eric Blake  <eblake@redhat.com>
21558
21559         fdopendir: detect FreeBSD bug
21560         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21561         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21562
21563 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
21564
21565         stdbool: do not define HAVE_STDBOOL_H
21566         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
21567         AC_HEADER_STDBOOL.  All uses changed.  Do not define
21568         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
21569         imported from the latest Autoconf git.  It was motivated by Emacs,
21570         which uses gnulib but does not need HAVE_STDBOOL_H.
21571
21572 2011-02-04  Bruno Haible  <bruno@clisp.org>
21573
21574         wcsnrtombs: Prepare for new module wwcsnrtombs.
21575         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
21576         * lib/wcsnrtombs.c: Include it.
21577         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
21578
21579         wcsrtombs: Prepare for new module wwcsrtombs.
21580         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
21581         * lib/wcsrtombs.c: Include it.
21582         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
21583
21584         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
21585         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
21586         * lib/mbsnrtowcs.c: Include it.
21587         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
21588
21589         mbsrtowcs: Prepare for new module mbsrtowwcs.
21590         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
21591         * lib/mbsrtowcs.c: Include it.
21592         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
21593
21594 2011-02-04  Bruno Haible  <bruno@clisp.org>
21595
21596         vasnprintf: Reduce use of malloc for small format strings.
21597         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
21598         (arguments): Add room for the first 7 arguments.
21599         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
21600         (char_directives, u8_directives, u16_directives, u32_directives): Add
21601         room for the first 7 directives.
21602         * lib/printf-parse.c: Include <string.h>.
21603         (PRINTF_PARSE): Change memory handling code so that it uses the first
21604         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
21605         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
21606         Reported by Pádraig Brady <P@draigbrady.com>.
21607
21608 2011-01-31  Eric Blake  <eblake@redhat.com>
21609
21610         dup2: work around Haiku bug
21611         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
21612         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
21613         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21614         * tests/test-dup2.c (main): Enhance test.
21615
21616 2011-01-31  Simon Josefsson  <simon@josefsson.org>
21617
21618         doc: off_t is not available in eglibc 2.11.2 stdio.h.
21619         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
21620         declared by eglibc 2.11.2.
21621         * lib/stdio.in.h: Likewise.
21622
21623 2011-01-31  Eric Blake  <eblake@redhat.com>
21624
21625         ignore-value: add missing test dependency
21626         * tests/test-ignore-value.c: Revert previous change; stdio.h
21627         provides off_t.
21628         * modules/ignore-value-tests (Depends-on): Add missing dependency.
21629
21630 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
21631
21632         mktime: clarify long_int width checking
21633         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
21634         the top level, to make it clearer that the assumption about
21635         long_int width is being checked.  See
21636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
21637
21638 2011-01-30  Simon Josefsson  <simon@josefsson.org>
21639
21640         ignore-value: Fix self-test.
21641         * tests/test-ignore-value.c: Include sys/types.h for off_t.
21642
21643 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
21644
21645         TYPE_MAXIMUM: avoid theoretically undefined behavior
21646         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
21647         negative number, which the C Standard says has undefined behavior.
21648         In practice this is not a problem, but might as well do it by the book.
21649         Reported by Rich Felker and Eric Blake; see
21650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
21651         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
21652         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21653         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21654         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
21655         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21656         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
21657
21658         mktime: #undef mktime before #defining it
21659         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
21660
21661         mktime: systematically normalize tm_isdst comparisons
21662         * lib/mktime.c (isdst_differ): New function.
21663         (__mktime_internal): Use it systematically for all isdst comparisons.
21664         This completes the fix for libc BZ #6723, and removes the need for
21665         normalizing tm_isdst.  See
21666         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
21667         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
21668
21669         mktime: fix some integer overflow issues and sidestep the rest
21670
21671         This was prompted by a bug report by Benjamin Lindner for MinGW
21672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
21673         His bug is due to signed integer overflow (0 - INT_MIN), and I
21674         I scanned through mktime.c looking for other integer overflow
21675         problems, fixing all the bugs I found.
21676
21677         Although the C Standard says the resulting code is still not safe
21678         in the presence of integer overflow, in practice it should be good
21679         enough for all real-world two's-complement implementations, except
21680         for debugging environments that deliberately trap on integer
21681         overflow (e.g., gcc -ftrapv).
21682
21683         * lib/mktime.c (WRAPV): New macro.
21684         (SHR): Also check that long_int and time_t shift right in the
21685         usual way, before using the fast-but-unportable method.
21686         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
21687         used.  The code already assumed two's complement, so there's
21688         no need to test for alternatives.  All uses removed.
21689         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
21690         the C standard.  Problem reported by Rich Felker in
21691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
21692         (twos_complement_arithmetic): Also check long_int and time_t.
21693         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
21694         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
21695         (__mktime_internal): Avoid integer overflow with unary subtraction
21696         in two instances where -1 - X is an adequate replacement for -X,
21697         since the calculations are approximate.
21698
21699 2011-01-29  Eric Blake  <eblake@redhat.com>
21700
21701         mktime: avoid infinite loop
21702         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
21703         type; behavior is still undefined but portable to all known targets.
21704         Reported by Rich Felker.
21705
21706 2011-01-29  Simon Josefsson  <simon@josefsson.org>
21707
21708         rename, unlink, same-inode: Relicense.
21709         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
21710         * modules/unlink (License): Likewise.
21711         * modules/same-inode (License): Likewise.
21712
21713 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21714
21715         mktime: avoid problems on NetBSD 5 / i386
21716         * lib/mktime.c (long_int): New type.  This works around a problem
21717         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
21718         but time_t is 64 bits, and where I expect the existing code is
21719         wrong in some cases.
21720         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
21721         (ydhms_diff): Bring back the compile-time check for wide-enough
21722         year and yday.
21723
21724         mktime: fix misspelling in comment
21725         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
21726         This merges all recent glibc changes of importance.
21727
21728 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21729
21730         move-if-change: cope with concurrent mv of identical file.
21731         * build-aux/move-if-change (CMPPROG): Accept environment
21732         variable as an override for `cmp'.
21733         (usage): Document CMPPROG.
21734         Adjust comparison to drop stdout.  Cope with failure of mv if
21735         the target file exists and is identical to the source, for
21736         parallel builds.
21737         Report from H.J. Lu against binutils in PR binutils/12283.
21738
21739 2011-01-28  Bruce Korb  <bkorb@gnu.org>
21740
21741         * users.txt: Mention sharutils.
21742
21743 2011-01-28  Simon Josefsson  <simon@josefsson.org>
21744
21745         * users.txt: Mention OATH Toolkit.
21746
21747 2011-01-27  Bruno Haible  <bruno@clisp.org>
21748
21749         Prepare for supporting FreeBSD 10.
21750         * build-aux/config.libpath: Remove handling of freebsd1*.
21751
21752 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
21753
21754         Prepare for supporting FreeBSD 10.
21755         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
21756         match FreeBSD 10.0.
21757
21758 2011-01-27  Bruno Haible  <bruno@clisp.org>
21759
21760         vma-iter, get-rusage-as: Add OpenBSD support.
21761         * modules/vma-iter (configure.ac): Test for mquery.
21762         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
21763         * lib/vma-iter.c: Include <sys/mman.h>.
21764         (vma_iterate): Add an implementation based on mquery().
21765         * lib/resource-ext.h (get_rusage_as): Update comments.
21766         * lib/get-rusage-as.c: Likewise.
21767         * lib/get-rusage-data.c: Likewise.
21768
21769 2011-01-26  Karl Berry  <karl@gnu.org>
21770
21771         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21772         variables to make it easier to override the makeinfo program used.
21773
21774 2011-01-26  Eric Blake  <eblake@redhat.com>
21775
21776         fcntl: work around Haiku F_DUPFD bugs
21777         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21778         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21779         cloexec bit on duplication.
21780         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21781
21782 2011-01-26  Bruno Haible  <bruno@clisp.org>
21783
21784         Enable memory leak tests on AIX.
21785         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21786         * tests/test-fprintf-posix3.c (main): Likewise.
21787
21788 2011-01-26  Bruno Haible  <bruno@clisp.org>
21789
21790         Tests for module 'get-rusage-data'.
21791         * modules/get-rusage-data-tests: New file.
21792         * tests/test-get-rusage-data.c: New file.
21793
21794         New module 'get-rusage-data'.
21795         * lib/resource-ext.h (get_rusage_data): New declaration.
21796         * lib/get-rusage-data.c: New file.
21797         * modules/get-rusage-data: New file.
21798
21799 2011-01-25  Bruno Haible  <bruno@clisp.org>
21800
21801         get-rusage-as: Allow for easier testing.
21802         * lib/resource-ext.h (get_rusage_as): Add comment.
21803         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21804         (main): New function for interactive testing.
21805
21806 2011-01-25  Bruno Haible  <bruno@clisp.org>
21807
21808         vma-iter: Treat Haiku like BeOS.
21809         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21810         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21811
21812 2011-01-25  Eric Blake  <eblake@redhat.com>
21813
21814         c-stack: fix regression on cygwin when libsigsegv is present
21815         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21816
21817 2011-01-24  Bruno Haible  <bruno@clisp.org>
21818
21819         vma-iter: Avoid empty intervals.
21820         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21821         on an empty interval.
21822
21823 2011-01-24  Jim Meyering  <meyering@redhat.com>
21824
21825         u64: remove unnecessary #include
21826         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21827
21828 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21829
21830         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21831         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21832
21833 2011-01-23  Bruno Haible  <bruno@clisp.org>
21834
21835         New module 'vma-iter'.
21836         * lib/vma-iter.h: New file.
21837         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21838         * modules/vma-iter: New file.
21839         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21840         for get_rusage_as_via_iterator.
21841         (vma_iterate_callback): New function.
21842         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21843         * modules/get-rusage-as (Depends-on): Add vma-iter.
21844
21845 2011-01-23  Bruno Haible  <bruno@clisp.org>
21846
21847         uninorm: Tweak includes.
21848         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21849         Reported by Jim Meyering.
21850
21851 2011-01-23  Bruno Haible  <bruno@clisp.org>
21852
21853         get-rusage-as: Improve on NetBSD.
21854         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21855         /proc, like on FreeBSD.
21856
21857 2011-01-23  Jim Meyering  <meyering@redhat.com>
21858
21859         xreadlink.h: remove unnecessary #include
21860         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21861
21862         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21863         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21864
21865 2011-01-23  Bruno Haible  <bruno@clisp.org>
21866
21867         get-rusage-as: Fix bug.
21868         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21869         original limit when aborting the first loop.
21870
21871 2011-01-23  Bruno Haible  <bruno@clisp.org>
21872
21873         wctype: Ensure valid C syntax.
21874         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21875         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21876
21877 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21878
21879         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21880         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21881         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21882         as they are needed only for configure's test case.
21883         This removes two unnecessary symbols from config.h.
21884
21885         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21886         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21887         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21888         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21889         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21890         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21891         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21892         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21893         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21894         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21895         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21896         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21897         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21898         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21899         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21900         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21901         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21902         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21903
21904 2011-01-21  Eric Blake  <eblake@redhat.com>
21905
21906         maintainer-makefile: work with older git for submodule check
21907         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21908         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21909         Reported by Matthias Bolte.
21910
21911         bootstrap: minor portability fixes
21912         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21913         (usage): Omit leading capital and trailing . on help phrases, per
21914         GNU Coding Standards.
21915         (check_versions, top level): Prefix messages with script name.
21916
21917 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21918
21919         bootstrap: support --no-git option
21920         * build-aux/bootstrap: Add --no-git option, to be used when
21921         --gnulib-srcdir points to the exact desired checkout.
21922
21923 2011-01-21  Eric Blake  <eblake@redhat.com>
21924
21925         strerror_r-posix: work with glibc 2.13
21926         * lib/strerror_r.c (strerror_r): Fix return type.
21927
21928 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21929             Bruno Haible  <bruno@clisp.org>
21930
21931         uN_strstr: New unit tests.
21932         * modules/unistr/u8-strstr-tests: New file.
21933         * modules/unistr/u16-strstr-tests: New file.
21934         * modules/unistr/u32-strstr-tests: New file.
21935         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21936         * tests/unistr/test-u8-strstr.c: New file.
21937         * tests/unistr/test-u16-strstr.c: New file.
21938         * tests/unistr/test-u32-strstr.c: New file.
21939
21940 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21941             Bruno Haible  <bruno@clisp.org>
21942
21943         Make uN_strstr functions O(n) worst-case.
21944         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21945         16-bit and 32-bit unit cases, use the unibyte algorithm from
21946         lib/mbsstr.c.
21947         * lib/unistr/u8-strstr.c: Include <string.h>.
21948         (UNIT_IS_UINT8_T): New macro.
21949         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21950         (U_STRLEN, U_STRNLEN): New macros.
21951         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21952         (U_STRLEN, U_STRNLEN): New macros.
21953         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21954         (configure.ac): Update required libunistring version.
21955         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21956         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21957         malloca.
21958         (configure.ac): Update required libunistring version.
21959         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21960         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21961         malloca.
21962         (configure.ac): Update required libunistring version.
21963
21964 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21965             Bruno Haible  <bruno@clisp.org>
21966
21967         Prepare for faster uN_strstr functions.
21968         * lib/str-kmp.h: Support definable UNITs.
21969         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21970         needle_len argument.
21971         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21972         * lib/mbscasestr.c (mbscasestr): Likewise.
21973
21974 2011-01-21  Pádraig Brady <P@draigBrady.com>
21975
21976         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21977         * tests/test-malloca.c (main): Unset the environment variable
21978         to greatly speed up the test.
21979         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21980         * modules/malloca-tests: Depend on unsetenv.
21981
21982 2011-01-21  Pádraig Brady <P@draigBrady.com>
21983
21984         ignore-value: remove stdint dependency
21985         * lib/ignore-value.h: Remove <stdint.h>
21986         * modules/ignore-value: Remove stdint dependency.
21987
21988 2011-01-21  Jim Meyering  <meyering@redhat.com>
21989
21990         maint.mk: adjust variable name to be consistent with other gl_ vars
21991         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21992         to be lower case.
21993
21994 2011-01-20  Jim Meyering  <meyering@redhat.com>
21995
21996         maint.mk: make "check" depend on public-submodule-commit by default
21997         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21998
21999 2011-01-20  Bruno Haible  <bruno@clisp.org>
22000
22001         mbfile, mbiter: Complete change from 2008-12-21.
22002         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22003         * m4/mbiter.m4 (gl_MBITER): Likewise.
22004
22005 2011-01-20  Jim Meyering  <meyering@redhat.com>
22006
22007         init.sh: insert space between each function name and "()"
22008         * tests/init.sh: Make it a little easier to see that a function's
22009         name is "warn_", and not "warn" when looking at the first part of
22010         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22011
22012 2011-01-20  Jim Meyering  <meyering@redhat.com>
22013
22014         mountlist: clean up code formatting
22015         * lib/mountlist.c (read_file_system_list): Split a long line,
22016         correct bracing style, use NULL in place of "(struct statfs *)0",
22017         don't parenthesize return value, add spaces around "=" and after
22018         ";-in-for-stmt".
22019
22020 2011-01-14  Markus Duft <mduft@gentoo.org>
22021
22022         mountlist: add support for Interix
22023         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22024         Apply statvfs to all entries of /dev/fs.
22025         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22026         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22027
22028 2011-01-20  Jim Meyering  <meyering@redhat.com>
22029
22030         maint.mk: improve the public-submodule-commit rule
22031         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22032         to suppress printing of its commands... unless V=1.
22033         Add git submodule's --quiet option to suppress printing of e.g.,
22034         "Entering gnulib" output.
22035         "cd" into $(srcdir) before running git submodule.
22036
22037 2011-01-20  Bruno Haible  <bruno@clisp.org>
22038
22039         include_next: Fix bug introduced on 2011-01-18.
22040         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22041         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22042         ac_cv_header_... variable if the second argument is not 'check'.
22043         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22044         gl_NEXT_HEADERS_INTERNAL.
22045
22046 2011-01-20  Bruno Haible  <bruno@clisp.org>
22047
22048         Allow the user to avoid the GNULIB_TEST_* macros.
22049         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22050         Suggested by Paul Eggert.
22051
22052 2011-01-14  Jim Meyering  <meyering@redhat.com>
22053
22054         bootstrap: avoid failure when there is no .gitmodules file
22055         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22056         has been assigned to, even when its value is the empty string.
22057         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22058         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22059         Reported by John W. Eaton <jwe@gnu.org>.
22060
22061 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22062
22063         assume <ctype.h>, ..., <time.h> exist
22064         For years gnulib has been assuming the existence of the headers
22065         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22066         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22067         them, since they don't appear to be needed.
22068         * README (Portability guidelines): Document this.
22069         * lib/flock.c: Assume <fcntl.h> exists.
22070         * lib/regex_internal.h: Assume <locale.h> exists.
22071         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22072         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22073         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22074         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22075         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22076         * m4/regex.m4 (gl_REGEX): Likewise.
22077         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22078         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22079         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22080         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22081         * tests/test-argp.c: Likewise.
22082         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22083
22084         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22085         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22086         AA_APPLE_UNIVERSAL_BUILD.  See
22087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22088         * NEWS: Document this.
22089
22090 2011-01-19  Eric Blake  <eblake@redhat.com>
22091
22092         c-stack: assume stack overflow if SA_SIGINFO unsupported
22093         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22094         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22095         sigaction will work.
22096         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22097         behavior match Linux.
22098         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22099
22100         stdbool-tests: accommodate Haiku
22101         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22102
22103         binary-io: fix O_TEXT on Haiku
22104         * modules/binary-io (Depends-on): Add fcntl-h.
22105         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22106         than blindly undefining O_TEXT.
22107         Reported by Scott McCreary.
22108
22109 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22110
22111         include_next: do not check for standard headers like stddef.h
22112
22113         I found this problem when modifying Emacs to use gnulib.
22114         I noticed that it added HAVE_STDDEF_H to config.h, even though
22115         gnulib always assumes <stddef.h> exists as per README and this
22116         symbol is unnecessary.
22117         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22118         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22119         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22120         faster for headers like stddef.h that are known to exist.
22121         (gl_CHECK_NEXT_HEADERS): Use it.
22122         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22123         rather than gl_CHECK_NEXT_HEADERS.
22124         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22125         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22126
22127 2011-01-18  Eric Blake  <eblake@redhat.com>
22128
22129         ansi-c++-opt: skip C++ dependency style if C++ is unused
22130         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22131         tests when we know C++ compilation is not desired.
22132         Reported by Scott McCreary.
22133
22134 2011-01-18  Bruno Haible  <bruno@clisp.org>
22135
22136         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22137         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22138         (main): Perform test also when getrlimit and setrlimit don't exist or
22139         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22140         limiting the address space size using setrlimit, compare the address
22141         space size before and after the the test.
22142         * tests/test-dprintf-posix2.c: Likewise.
22143         * tests/test-fprintf-posix3.sh: Update skip messages.
22144         * tests/test-dprintf-posix2.sh: Likewise.
22145         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22146         * modules/dprintf-posix-tests (Depends-on): Likewise.
22147         Reported by Bruce Korb <bkorb@gnu.org> and
22148         Gary V. Vaughan <gary@gnu.org>.
22149
22150 2011-01-18  Bruno Haible  <bruno@clisp.org>
22151
22152         get-rusage-as: Improvement for Cygwin.
22153         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22154         areas that are merely reserved.
22155
22156 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22157
22158         strftime: remove dependencies on multibyte modules
22159
22160         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22161         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22162         only if __osf__ is defined, and I suspect OSF doesn't need these
22163         other modules.  If my guess is wrong, we'll need to come up with a
22164         variant of strftime that doesn't need the multibyte modules.
22165
22166         I discovered this problem when attempting modify Emacs to use the
22167         strftime module.  With the previous gnulib, this caused Emacs to
22168         need 31 new files, ranging from lib/config.charset to
22169         m4/wint_t.m4.  This was overkill and I expect would be offputting
22170         to the Emacs maintainers.  After this change, only 6 new files are
22171         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22172         stdbool.m4, and tm_gmtoff.m4.
22173
22174         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22175         Suggested by Bruno Haible in
22176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22177         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22178         and do not check for wchar.h.
22179         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22180         (Depends-on): Remove mbrlen, mbsinit, wchar.
22181
22182 2011-01-18  Bruno Haible  <bruno@clisp.org>
22183
22184         Tests for module 'get-rusage-as'.
22185         * modules/get-rusage-as-tests: New file.
22186         * tests/test-get-rusage-as.c: New file.
22187
22188         New module 'get-rusage-as'.
22189         * modules/get-rusage-as: New file.
22190         * lib/resource-ext.h: New file.
22191         * lib/get-rusage-as.c: New file.
22192
22193 2011-01-17  Eric Blake  <eblake@redhat.com>
22194
22195         sigaction: relax license from LGPLv3+ to LGPLv2+
22196         * modules/sigaction (License): Relax to LGPLv2+.
22197
22198 2011-01-14  Bruno Haible  <bruno@clisp.org>
22199
22200         filemode: Make function declarations usable in C++ mode.
22201         * lib/filemode.h: Enclose function declarations in extern "C" block.
22202         Reported by John W. Eaton <jwe@gnu.org>.
22203
22204 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22205
22206         save-cwd: no longer include "xgetcwd.h"
22207         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22208         This avoids a compilation failure in projects that use save-cwd
22209         without also using the xgetcwd module.
22210
22211 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22212
22213         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22214         This is so that a program like Emacs, which needs only dtoastr,
22215         does not have to bother with distributing and compiling ftoastr
22216         and ldtoastr.
22217         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22218         * modules/dtoastr, modules/ldtoastr: New files.
22219         * modules/ftoastr: Now works just for 'float'.
22220         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22221         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22222         dtoastr.c, ldtoastr.c.
22223
22224 2011-01-11  Jim Meyering  <meyering@redhat.com>
22225
22226         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22227         There is no need to work around the lack of the fchdir function,
22228         since gnulib can now provide a replacement when required.
22229         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22230         * modules/save-cwd (Depends-on): Add fchdir.
22231
22232 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22233
22234         openat, save-cwd: avoid xmalloc
22235
22236         This removes a direct (but undocumented) dependency of openat on
22237         xalloc, along with an indirect dependency via save-cwd.  It also
22238         removes a dependency of save-cwd on xgetcwd, and thereby
22239         indirectly on xalloc.  This change causes the openat substitute
22240         to fall back on save_cwd when memory is tight, and for save_cwd to
22241         fail instead of dying when memory is tight, but that's good enough.
22242         Problem and initial idea for fix reported by Bastien Roucaries in
22243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
22244
22245         * lib/openat-proc.c: Include stdlib.h (for malloc), not
22246         xalloc.h (for xmalloc).
22247         (openat_proc_name): Use malloc, not xmalloc.
22248         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
22249         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
22250
22251         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
22252         This avoids heap allocation for file names whose lengths are in
22253         the range 512..1023, with the upper bound increasing to at most
22254         4031 depending on the platform's PATH_MAX.  (We do not want
22255         pathmax.h here as it might supply a non-constant PATH_MAX.)
22256         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22257         Perhaps they should be moved to malloca.h?
22258         (OPENAT_BUFFER_SIZE): Use them.
22259
22260 2011-01-10  Bruno Haible  <bruno@clisp.org>
22261
22262         doc: Update users.txt.
22263         * users.txt: Add recutils.
22264
22265 2011-01-09  Karl Berry  <karl@gnu.org>
22266
22267         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22268
22269         * doc/configmake.texi: New file.
22270         * doc/gnulib.texi: Include it.
22271         * modules/configmake: Move documentation from here.
22272
22273 2011-01-09  Bruno Haible  <bruno@clisp.org>
22274
22275         Update to Unicode 6.0.0.
22276         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22277         (get_lbp): Update for Unicode 6.0.0.
22278         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22279         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22280         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22281         U+11001, U+11038..U+11046. Remove U+06DE.
22282         (uc_width): Fix bounds of planes.
22283         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22284         lib/uniwidth/width.c.
22285         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22286         trailing whitespace removed.
22287         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22288         without comments, but with the original copyright notice.
22289         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22290         * lib/unicase/ignorable.h: Likewise.
22291         * lib/unicase/tocasefold.h: Likewise.
22292         * lib/unicase/tolower.h: Likewise.
22293         * lib/unicase/totitle.h: Likewise.
22294         * lib/unicase/toupper.h: Likewise.
22295         * lib/unictype/bidi_of.h: Likewise.
22296         * lib/unictype/blocks.h: Likewise.
22297         * lib/unictype/categ_C.h: Likewise.
22298         * lib/unictype/categ_Cn.h: Likewise.
22299         * lib/unictype/categ_L.h: Likewise.
22300         * lib/unictype/categ_Ll.h: Likewise.
22301         * lib/unictype/categ_Lm.h: Likewise.
22302         * lib/unictype/categ_Lo.h: Likewise.
22303         * lib/unictype/categ_Lu.h: Likewise.
22304         * lib/unictype/categ_M.h: Likewise.
22305         * lib/unictype/categ_Mc.h: Likewise.
22306         * lib/unictype/categ_Me.h: Likewise.
22307         * lib/unictype/categ_Mn.h: Likewise.
22308         * lib/unictype/categ_N.h: Likewise.
22309         * lib/unictype/categ_Nd.h: Likewise.
22310         * lib/unictype/categ_No.h: Likewise.
22311         * lib/unictype/categ_P.h: Likewise.
22312         * lib/unictype/categ_Po.h: Likewise.
22313         * lib/unictype/categ_S.h: Likewise.
22314         * lib/unictype/categ_Sc.h: Likewise.
22315         * lib/unictype/categ_Sk.h: Likewise.
22316         * lib/unictype/categ_Sm.h: Likewise.
22317         * lib/unictype/categ_So.h: Likewise.
22318         * lib/unictype/categ_of.h: Likewise.
22319         * lib/unictype/combining.h: Likewise.
22320         * lib/unictype/ctype_alnum.h: Likewise.
22321         * lib/unictype/ctype_alpha.h: Likewise.
22322         * lib/unictype/ctype_graph.h: Likewise.
22323         * lib/unictype/ctype_lower.h: Likewise.
22324         * lib/unictype/ctype_print.h: Likewise.
22325         * lib/unictype/ctype_punct.h: Likewise.
22326         * lib/unictype/ctype_upper.h: Likewise.
22327         * lib/unictype/decdigit.h: Likewise.
22328         * lib/unictype/digit.h: Likewise.
22329         * lib/unictype/numeric.h: Likewise.
22330         * lib/unictype/pr_alphabetic.h: Likewise.
22331         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22332         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22333         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22334         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22335         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22336         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22337         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22338         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22339         * lib/unictype/pr_case_ignorable.h: Likewise.
22340         * lib/unictype/pr_cased.h: Likewise.
22341         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22342         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22343         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22344         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22345         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22346         * lib/unictype/pr_combining.h: Likewise.
22347         * lib/unictype/pr_composite.h: Likewise.
22348         * lib/unictype/pr_currency_symbol.h: Likewise.
22349         * lib/unictype/pr_decimal_digit.h: Likewise.
22350         * lib/unictype/pr_deprecated.h: Likewise.
22351         * lib/unictype/pr_format_control.h: Likewise.
22352         * lib/unictype/pr_grapheme_base.h: Likewise.
22353         * lib/unictype/pr_grapheme_extend.h: Likewise.
22354         * lib/unictype/pr_grapheme_link.h: Likewise.
22355         * lib/unictype/pr_id_continue.h: Likewise.
22356         * lib/unictype/pr_id_start.h: Likewise.
22357         * lib/unictype/pr_ideographic.h: Likewise.
22358         * lib/unictype/pr_lowercase.h: Likewise.
22359         * lib/unictype/pr_math.h: Likewise.
22360         * lib/unictype/pr_numeric.h: Likewise.
22361         * lib/unictype/pr_other_alphabetic.h: Likewise.
22362         * lib/unictype/pr_other_id_continue.h: Likewise.
22363         * lib/unictype/pr_other_math.h: Likewise.
22364         * lib/unictype/pr_punctuation.h: Likewise.
22365         * lib/unictype/pr_sentence_terminal.h: Likewise.
22366         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22367         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22368         * lib/unictype/pr_unified_ideograph.h: Likewise.
22369         * lib/unictype/pr_uppercase.h: Likewise.
22370         * lib/unictype/pr_xid_continue.h: Likewise.
22371         * lib/unictype/pr_xid_start.h: Likewise.
22372         * lib/unictype/scripts.h: Likewise.
22373         * lib/unictype/scripts_byname.gperf: Likewise.
22374         * lib/unictype/sy_java_ident.h: Likewise.
22375         * lib/unigbrk/gbrkprop.h: Likewise.
22376         * lib/unilbrk/lbrkprop1.h: Likewise.
22377         * lib/unilbrk/lbrkprop2.h: Likewise.
22378         * lib/uninorm/decomposition-table2.h: Likewise.
22379         * lib/uniwbrk/wbrkprop.h: Likewise.
22380         * tests/unicase/test-cased.c: Likewise.
22381         * tests/unicase/test-ignorable.c: Likewise.
22382         * tests/unicase/test-uc_tolower.c: Likewise.
22383         * tests/unicase/test-uc_totitle.c: Likewise.
22384         * tests/unicase/test-uc_toupper.c: Likewise.
22385         * tests/unictype/test-categ_C.c: Likewise.
22386         * tests/unictype/test-categ_Cn.c: Likewise.
22387         * tests/unictype/test-categ_L.c: Likewise.
22388         * tests/unictype/test-categ_Ll.c: Likewise.
22389         * tests/unictype/test-categ_Lm.c: Likewise.
22390         * tests/unictype/test-categ_Lo.c: Likewise.
22391         * tests/unictype/test-categ_Lu.c: Likewise.
22392         * tests/unictype/test-categ_M.c: Likewise.
22393         * tests/unictype/test-categ_Mc.c: Likewise.
22394         * tests/unictype/test-categ_Me.c: Likewise.
22395         * tests/unictype/test-categ_Mn.c: Likewise.
22396         * tests/unictype/test-categ_N.c: Likewise.
22397         * tests/unictype/test-categ_Nd.c: Likewise.
22398         * tests/unictype/test-categ_No.c: Likewise.
22399         * tests/unictype/test-categ_P.c: Likewise.
22400         * tests/unictype/test-categ_Po.c: Likewise.
22401         * tests/unictype/test-categ_S.c: Likewise.
22402         * tests/unictype/test-categ_Sc.c: Likewise.
22403         * tests/unictype/test-categ_Sk.c: Likewise.
22404         * tests/unictype/test-categ_Sm.c: Likewise.
22405         * tests/unictype/test-categ_So.c: Likewise.
22406         * tests/unictype/test-ctype_alnum.c: Likewise.
22407         * tests/unictype/test-ctype_alpha.c: Likewise.
22408         * tests/unictype/test-ctype_graph.c: Likewise.
22409         * tests/unictype/test-ctype_lower.c: Likewise.
22410         * tests/unictype/test-ctype_print.c: Likewise.
22411         * tests/unictype/test-ctype_punct.c: Likewise.
22412         * tests/unictype/test-ctype_upper.c: Likewise.
22413         * tests/unictype/test-decdigit.h: Likewise.
22414         * tests/unictype/test-digit.h: Likewise.
22415         * tests/unictype/test-numeric.h: Likewise.
22416         * tests/unictype/test-pr_alphabetic.c: Likewise.
22417         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22418         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22419         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22420         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22421         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22422         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22423         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22424         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22425         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22426         * tests/unictype/test-pr_cased.c: Likewise.
22427         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22428         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22429         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22430         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22431         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22432         * tests/unictype/test-pr_combining.c: Likewise.
22433         * tests/unictype/test-pr_composite.c: Likewise.
22434         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22435         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22436         * tests/unictype/test-pr_deprecated.c: Likewise.
22437         * tests/unictype/test-pr_format_control.c: Likewise.
22438         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22439         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22440         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22441         * tests/unictype/test-pr_id_continue.c: Likewise.
22442         * tests/unictype/test-pr_id_start.c: Likewise.
22443         * tests/unictype/test-pr_ideographic.c: Likewise.
22444         * tests/unictype/test-pr_lowercase.c: Likewise.
22445         * tests/unictype/test-pr_math.c: Likewise.
22446         * tests/unictype/test-pr_numeric.c: Likewise.
22447         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22448         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22449         * tests/unictype/test-pr_other_math.c: Likewise.
22450         * tests/unictype/test-pr_punctuation.c: Likewise.
22451         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22452         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22453         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22454         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22455         * tests/unictype/test-pr_uppercase.c: Likewise.
22456         * tests/unictype/test-pr_xid_continue.c: Likewise.
22457         * tests/unictype/test-pr_xid_start.c: Likewise.
22458         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22459         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22460         changes.
22461         * lib/unictype/categ_Cc.h: Likewise.
22462         * lib/unictype/categ_Cf.h: Likewise.
22463         * lib/unictype/categ_Co.h: Likewise.
22464         * lib/unictype/categ_Cs.h: Likewise.
22465         * lib/unictype/categ_Lt.h: Likewise.
22466         * lib/unictype/categ_Nl.h: Likewise.
22467         * lib/unictype/categ_Pc.h: Likewise.
22468         * lib/unictype/categ_Pd.h: Likewise.
22469         * lib/unictype/categ_Pe.h: Likewise.
22470         * lib/unictype/categ_Pf.h: Likewise.
22471         * lib/unictype/categ_Pi.h: Likewise.
22472         * lib/unictype/categ_Ps.h: Likewise.
22473         * lib/unictype/categ_Z.h: Likewise.
22474         * lib/unictype/categ_Zl.h: Likewise.
22475         * lib/unictype/categ_Zp.h: Likewise.
22476         * lib/unictype/categ_Zs.h: Likewise.
22477         * lib/unictype/ctype_blank.h: Likewise.
22478         * lib/unictype/ctype_cntrl.h: Likewise.
22479         * lib/unictype/ctype_digit.h: Likewise.
22480         * lib/unictype/ctype_space.h: Likewise.
22481         * lib/unictype/ctype_xdigit.h: Likewise.
22482         * lib/unictype/mirror.h: Likewise.
22483         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22484         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22485         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22486         * lib/unictype/pr_bidi_control.h: Likewise.
22487         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22488         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22489         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22490         * lib/unictype/pr_bidi_pdf.h: Likewise.
22491         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22492         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22493         * lib/unictype/pr_dash.h: Likewise.
22494         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22495         * lib/unictype/pr_diacritic.h: Likewise.
22496         * lib/unictype/pr_extender.h: Likewise.
22497         * lib/unictype/pr_hex_digit.h: Likewise.
22498         * lib/unictype/pr_hyphen.h: Likewise.
22499         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22500         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22501         * lib/unictype/pr_ignorable_control.h: Likewise.
22502         * lib/unictype/pr_iso_control.h: Likewise.
22503         * lib/unictype/pr_join_control.h: Likewise.
22504         * lib/unictype/pr_left_of_pair.h: Likewise.
22505         * lib/unictype/pr_line_separator.h: Likewise.
22506         * lib/unictype/pr_logical_order_exception.h: Likewise.
22507         * lib/unictype/pr_non_break.h: Likewise.
22508         * lib/unictype/pr_not_a_character.h: Likewise.
22509         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22510         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22511         * lib/unictype/pr_other_id_start.h: Likewise.
22512         * lib/unictype/pr_other_lowercase.h: Likewise.
22513         * lib/unictype/pr_other_uppercase.h: Likewise.
22514         * lib/unictype/pr_paired_punctuation.h: Likewise.
22515         * lib/unictype/pr_paragraph_separator.h: Likewise.
22516         * lib/unictype/pr_pattern_syntax.h: Likewise.
22517         * lib/unictype/pr_pattern_white_space.h: Likewise.
22518         * lib/unictype/pr_private_use.h: Likewise.
22519         * lib/unictype/pr_quotation_mark.h: Likewise.
22520         * lib/unictype/pr_radical.h: Likewise.
22521         * lib/unictype/pr_soft_dotted.h: Likewise.
22522         * lib/unictype/pr_space.h: Likewise.
22523         * lib/unictype/pr_titlecase.h: Likewise.
22524         * lib/unictype/pr_variation_selector.h: Likewise.
22525         * lib/unictype/pr_white_space.h: Likewise.
22526         * lib/unictype/pr_zero_width.h: Likewise.
22527         * lib/unictype/sy_c_ident.h: Likewise.
22528         * lib/unictype/sy_c_whitespace.h: Likewise.
22529         * lib/unictype/sy_java_whitespace.h: Likewise.
22530         * lib/uninorm/composition-table.gperf: Likewise.
22531         * lib/uninorm/decomposition-table1.h: Likewise.
22532         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22533         LB8.
22534         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22535         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22536         * modules/unictype/*: Bump version number of expected libunistring
22537         version.
22538
22539 2011-01-09  Bruno Haible  <bruno@clisp.org>
22540
22541         Update to Unicode 5.2.0.
22542         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22543         trailing whitespace removed.
22544
22545 2011-01-09  Bruno Haible  <bruno@clisp.org>
22546
22547         New Unicode character properties, from Unicode 5.2.0.
22548         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22549         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22550         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22551         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22552         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22553         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22554         uc_is_property_cased, uc_is_property_case_ignorable,
22555         uc_is_property_changes_when_lowercased,
22556         uc_is_property_changes_when_uppercased,
22557         uc_is_property_changes_when_titlecased,
22558         uc_is_property_changes_when_casefolded,
22559         uc_is_property_changes_when_casemapped): New declarations.
22560         * lib/unictype/pr_byname.gperf: Add the new properties.
22561         * modules/unictype/property-byname (Depends-on): Depend on the new
22562         properties modules.
22563         * modules/unictype/property-all (Depends-on): Likewise.
22564         * MODULES.html.sh (Unicode string functions): Add
22565         unictype/property-case-ignorable, unictype/property-cased,
22566         unictype/property-changes-when-casefolded,
22567         unictype/property-changes-when-casemapped,
22568         unictype/property-changes-when-lowercased,
22569         unictype/property-changes-when-titlecased,
22570         unictype/property-changes-when-uppercased.
22571
22572         New module 'unictype/property-changes-when-casemapped'.
22573         * modules/unictype/property-changes-when-casemapped: New file.
22574         * lib/unictype/pr_changes_when_casemapped.c: New file.
22575         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
22576         generated by gen-uni-tables.
22577         * modules/unictype/property-changes-when-casemapped-tests: New file.
22578         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
22579         automatically generated by gen-uni-tables.
22580
22581         New module 'unictype/property-changes-when-casefolded'.
22582         * modules/unictype/property-changes-when-casefolded: New file.
22583         * lib/unictype/pr_changes_when_casefolded.c: New file.
22584         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
22585         generated by gen-uni-tables.
22586         * modules/unictype/property-changes-when-casefolded-tests: New file.
22587         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
22588         automatically generated by gen-uni-tables.
22589
22590         New module 'unictype/property-changes-when-titlecased'.
22591         * modules/unictype/property-changes-when-titlecased: New file.
22592         * lib/unictype/pr_changes_when_titlecased.c: New file.
22593         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
22594         generated by gen-uni-tables.
22595         * modules/unictype/property-changes-when-titlecased-tests: New file.
22596         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
22597         automatically generated by gen-uni-tables.
22598
22599         New module 'unictype/property-changes-when-uppercased'.
22600         * modules/unictype/property-changes-when-uppercased: New file.
22601         * lib/unictype/pr_changes_when_uppercased.c: New file.
22602         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
22603         generated by gen-uni-tables.
22604         * modules/unictype/property-changes-when-uppercased-tests: New file.
22605         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
22606         automatically generated by gen-uni-tables.
22607
22608         New module 'unictype/property-changes-when-lowercased'.
22609         * modules/unictype/property-changes-when-lowercased: New file.
22610         * lib/unictype/pr_changes_when_lowercased.c: New file.
22611         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
22612         generated by gen-uni-tables.
22613         * modules/unictype/property-changes-when-lowercased-tests: New file.
22614         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
22615         automatically generated by gen-uni-tables.
22616
22617         New module 'unictype/property-case-ignorable'.
22618         * modules/unictype/property-case-ignorable: New file.
22619         * lib/unictype/pr_case_ignorable.c: New file.
22620         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
22621         by gen-uni-tables.
22622         * modules/unictype/property-case-ignorable-tests: New file.
22623         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
22624         generated by gen-uni-tables.
22625
22626         New module 'unictype/property-cased'.
22627         * modules/unictype/property-cased: New file.
22628         * lib/unictype/pr_cased.c: New file.
22629         * lib/unictype/pr_cased.h: New file, automatically generated by
22630         gen-uni-tables.
22631         * modules/unictype/property-cased-tests: New file.
22632         * tests/unictype/test-pr_cased.c: New file, automatically generated by
22633         gen-uni-tables.
22634
22635 2011-01-09  Bruno Haible  <bruno@clisp.org>
22636
22637         Update to Unicode 5.2.0.
22638         * lib/gen-uni-tables.c (output_predicate, output_category,
22639         output_combclass, output_bidi_category, output_decimal_digit_test,
22640         output_decimal_digit, output_digit_test, output_digit,
22641         output_numeric_test, output_numeric, output_mirror, output_scripts,
22642         output_scripts_byname, output_blocks, output_ident_category): Fix
22643         comment header.
22644         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
22645         get_wbp.
22646         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
22647         items.
22648         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
22649         Changes_When_Lowercased, Changes_When_Uppercased,
22650         Changes_When_Titlecased, Changes_When_Casefolded,
22651         Changes_When_Casemapped.
22652         (is_property_alphabetic, is_property_default_ignorable_code_point):
22653         Update for Unicode 5.2.0.
22654         (is_property_cased, is_property_case_ignorable,
22655         is_property_changes_when_lowercased,
22656         is_property_changes_when_uppercased,
22657         is_property_changes_when_titlecased,
22658         is_property_changes_when_casefolded,
22659         is_property_changes_when_casemapped): New functions.
22660         (output_properties): Output also the properties cased, case_ignorable,
22661         changes_when_lowercased, changes_when_uppercased,
22662         changes_when_titlecased, changes_when_casefolded,
22663         changes_when_casemapped.
22664         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
22665         Unicode TR#11 revision 17 -> 19.
22666         (LBP_CP): New enumeration value.
22667         (LBP_*): Adjust values accordingly.
22668         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22669         TR#14 revision 22 -> 24.
22670         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
22671         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
22672         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22673         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
22674         is_WBP_MIDLETTER.
22675         (output_composition_tables): Allow for 24 bits instead of 16 bits in
22676         the code1 and code2 of each composition rule.
22677         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
22678         * lib/unicase/ignorable.h: Likewise.
22679         * lib/unicase/tocasefold.h: Likewise.
22680         * lib/unicase/tolower.h: Likewise.
22681         * lib/unicase/totitle.h: Likewise.
22682         * lib/unicase/toupper.h: Likewise.
22683         * lib/unictype/bidi_of.h: Likewise.
22684         * lib/unictype/blocks.h: Likewise.
22685         * lib/unictype/categ_C.h: Likewise.
22686         * lib/unictype/categ_Cf.h: Likewise.
22687         * lib/unictype/categ_Cn.h: Likewise.
22688         * lib/unictype/categ_L.h: Likewise.
22689         * lib/unictype/categ_Ll.h: Likewise.
22690         * lib/unictype/categ_Lm.h: Likewise.
22691         * lib/unictype/categ_Lo.h: Likewise.
22692         * lib/unictype/categ_Lu.h: Likewise.
22693         * lib/unictype/categ_M.h: Likewise.
22694         * lib/unictype/categ_Mc.h: Likewise.
22695         * lib/unictype/categ_Mn.h: Likewise.
22696         * lib/unictype/categ_N.h: Likewise.
22697         * lib/unictype/categ_Nd.h: Likewise.
22698         * lib/unictype/categ_Nl.h: Likewise.
22699         * lib/unictype/categ_No.h: Likewise.
22700         * lib/unictype/categ_P.h: Likewise.
22701         * lib/unictype/categ_Pd.h: Likewise.
22702         * lib/unictype/categ_Po.h: Likewise.
22703         * lib/unictype/categ_S.h: Likewise.
22704         * lib/unictype/categ_Sc.h: Likewise.
22705         * lib/unictype/categ_So.h: Likewise.
22706         * lib/unictype/categ_of.h: Likewise.
22707         * lib/unictype/combining.h: Likewise.
22708         * lib/unictype/ctype_alnum.h: Likewise.
22709         * lib/unictype/ctype_alpha.h: Likewise.
22710         * lib/unictype/ctype_graph.h: Likewise.
22711         * lib/unictype/ctype_lower.h: Likewise.
22712         * lib/unictype/ctype_print.h: Likewise.
22713         * lib/unictype/ctype_punct.h: Likewise.
22714         * lib/unictype/ctype_upper.h: Likewise.
22715         * lib/unictype/decdigit.h: Likewise.
22716         * lib/unictype/digit.h: Likewise.
22717         * lib/unictype/numeric.h: Likewise.
22718         * lib/unictype/pr_alphabetic.h: Likewise.
22719         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22720         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22721         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22722         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22723         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22724         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22725         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22726         * lib/unictype/pr_combining.h: Likewise.
22727         * lib/unictype/pr_composite.h: Likewise.
22728         * lib/unictype/pr_currency_symbol.h: Likewise.
22729         * lib/unictype/pr_dash.h: Likewise.
22730         * lib/unictype/pr_decimal_digit.h: Likewise.
22731         * lib/unictype/pr_deprecated.h: Likewise.
22732         * lib/unictype/pr_diacritic.h: Likewise.
22733         * lib/unictype/pr_extender.h: Likewise.
22734         * lib/unictype/pr_grapheme_base.h: Likewise.
22735         * lib/unictype/pr_grapheme_extend.h: Likewise.
22736         * lib/unictype/pr_grapheme_link.h: Likewise.
22737         * lib/unictype/pr_id_continue.h: Likewise.
22738         * lib/unictype/pr_id_start.h: Likewise.
22739         * lib/unictype/pr_ideographic.h: Likewise.
22740         * lib/unictype/pr_ignorable_control.h: Likewise.
22741         * lib/unictype/pr_logical_order_exception.h: Likewise.
22742         * lib/unictype/pr_lowercase.h: Likewise.
22743         * lib/unictype/pr_numeric.h: Likewise.
22744         * lib/unictype/pr_other_alphabetic.h: Likewise.
22745         * lib/unictype/pr_punctuation.h: Likewise.
22746         * lib/unictype/pr_sentence_terminal.h: Likewise.
22747         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22748         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22749         * lib/unictype/pr_unified_ideograph.h: Likewise.
22750         * lib/unictype/pr_uppercase.h: Likewise.
22751         * lib/unictype/pr_xid_continue.h: Likewise.
22752         * lib/unictype/pr_xid_start.h: Likewise.
22753         * lib/unictype/pr_zero_width.h: Likewise.
22754         * lib/unictype/scripts.h: Likewise.
22755         * lib/unictype/scripts_byname.gperf: Likewise.
22756         * lib/unictype/sy_java_ident.h: Likewise.
22757         * lib/unigbrk/gbrkprop.h: Likewise.
22758         * lib/unilbrk/lbrkprop1.h: Likewise.
22759         * lib/unilbrk/lbrkprop2.h: Likewise.
22760         * lib/unilbrk/lbrktables.h: Likewise.
22761         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
22762         LBP_CP. Implement rule LB30.
22763         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
22764         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
22765         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22766         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22767         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22768         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22769         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22770         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22771         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22772         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22773         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22774         bits instead of 16 bits in the code1 and code2 of each composition
22775         rule.
22776         (uc_composition): Update for Unicode 5.2.0.
22777         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22778         * lib/uninorm/decomposition-table2.h: Likewise.
22779         * lib/uniwbrk/wbrkprop.h: Likewise.
22780         * tests/unicase/test-cased.c: Likewise.
22781         * tests/unicase/test-ignorable.c: Likewise.
22782         * tests/unicase/test-uc_tolower.c: Likewise.
22783         * tests/unicase/test-uc_totitle.c: Likewise.
22784         * tests/unicase/test-uc_toupper.c: Likewise.
22785         * tests/unictype/test-categ_C.c: Likewise.
22786         * tests/unictype/test-categ_Cf.c: Likewise.
22787         * tests/unictype/test-categ_Cn.c: Likewise.
22788         * tests/unictype/test-categ_L.c: Likewise.
22789         * tests/unictype/test-categ_Ll.c: Likewise.
22790         * tests/unictype/test-categ_Lm.c: Likewise.
22791         * tests/unictype/test-categ_Lo.c: Likewise.
22792         * tests/unictype/test-categ_Lu.c: Likewise.
22793         * tests/unictype/test-categ_M.c: Likewise.
22794         * tests/unictype/test-categ_Mc.c: Likewise.
22795         * tests/unictype/test-categ_Mn.c: Likewise.
22796         * tests/unictype/test-categ_N.c: Likewise.
22797         * tests/unictype/test-categ_Nd.c: Likewise.
22798         * tests/unictype/test-categ_Nl.c: Likewise.
22799         * tests/unictype/test-categ_No.c: Likewise.
22800         * tests/unictype/test-categ_P.c: Likewise.
22801         * tests/unictype/test-categ_Pd.c: Likewise.
22802         * tests/unictype/test-categ_Po.c: Likewise.
22803         * tests/unictype/test-categ_S.c: Likewise.
22804         * tests/unictype/test-categ_Sc.c: Likewise.
22805         * tests/unictype/test-categ_So.c: Likewise.
22806         * tests/unictype/test-ctype_alnum.c: Likewise.
22807         * tests/unictype/test-ctype_alpha.c: Likewise.
22808         * tests/unictype/test-ctype_graph.c: Likewise.
22809         * tests/unictype/test-ctype_lower.c: Likewise.
22810         * tests/unictype/test-ctype_print.c: Likewise.
22811         * tests/unictype/test-ctype_punct.c: Likewise.
22812         * tests/unictype/test-ctype_upper.c: Likewise.
22813         * tests/unictype/test-decdigit.h: Likewise.
22814         * tests/unictype/test-digit.h: Likewise.
22815         * tests/unictype/test-numeric.h: Likewise.
22816         * tests/unictype/test-pr_alphabetic.c: Likewise.
22817         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22818         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22819         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22820         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22821         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22822         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22823         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22824         * tests/unictype/test-pr_combining.c: Likewise.
22825         * tests/unictype/test-pr_composite.c: Likewise.
22826         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22827         * tests/unictype/test-pr_dash.c: Likewise.
22828         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22829         * tests/unictype/test-pr_deprecated.c: Likewise.
22830         * tests/unictype/test-pr_diacritic.c: Likewise.
22831         * tests/unictype/test-pr_extender.c: Likewise.
22832         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22833         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22834         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22835         * tests/unictype/test-pr_id_continue.c: Likewise.
22836         * tests/unictype/test-pr_id_start.c: Likewise.
22837         * tests/unictype/test-pr_ideographic.c: Likewise.
22838         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22839         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22840         * tests/unictype/test-pr_lowercase.c: Likewise.
22841         * tests/unictype/test-pr_numeric.c: Likewise.
22842         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22843         * tests/unictype/test-pr_punctuation.c: Likewise.
22844         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22845         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22846         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22847         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22848         * tests/unictype/test-pr_uppercase.c: Likewise.
22849         * tests/unictype/test-pr_xid_continue.c: Likewise.
22850         * tests/unictype/test-pr_xid_start.c: Likewise.
22851         * tests/unictype/test-pr_zero_width.c: Likewise.
22852         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22853         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22854         changed behaviour: line breaking is now disallowed between a letter
22855         or '=' and '('.
22856         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22857         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22858         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22859         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22860         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22861         lib/uniwidth/width.c.
22862         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22863         without comments, but with the original copyright notice.
22864         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22865         changes.
22866         * lib/unictype/categ_Cc.h: Likewise.
22867         * lib/unictype/categ_Co.h: Likewise.
22868         * lib/unictype/categ_Cs.h: Likewise.
22869         * lib/unictype/categ_Lt.h: Likewise.
22870         * lib/unictype/categ_Me.h: Likewise.
22871         * lib/unictype/categ_Pc.h: Likewise.
22872         * lib/unictype/categ_Pe.h: Likewise.
22873         * lib/unictype/categ_Pf.h: Likewise.
22874         * lib/unictype/categ_Pi.h: Likewise.
22875         * lib/unictype/categ_Ps.h: Likewise.
22876         * lib/unictype/categ_Sk.h: Likewise.
22877         * lib/unictype/categ_Sm.h: Likewise.
22878         * lib/unictype/categ_Z.h: Likewise.
22879         * lib/unictype/categ_Zl.h: Likewise.
22880         * lib/unictype/categ_Zp.h: Likewise.
22881         * lib/unictype/categ_Zs.h: Likewise.
22882         * lib/unictype/ctype_blank.h: Likewise.
22883         * lib/unictype/ctype_cntrl.h: Likewise.
22884         * lib/unictype/ctype_digit.h: Likewise.
22885         * lib/unictype/ctype_space.h: Likewise.
22886         * lib/unictype/ctype_xdigit.h: Likewise.
22887         * lib/unictype/mirror.h: Likewise.
22888         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22889         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22890         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22891         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22892         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22893         * lib/unictype/pr_bidi_control.h: Likewise.
22894         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22895         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22896         * lib/unictype/pr_bidi_pdf.h: Likewise.
22897         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22898         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22899         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22900         * lib/unictype/pr_format_control.h: Likewise.
22901         * lib/unictype/pr_hex_digit.h: Likewise.
22902         * lib/unictype/pr_hyphen.h: Likewise.
22903         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22904         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22905         * lib/unictype/pr_iso_control.h: Likewise.
22906         * lib/unictype/pr_join_control.h: Likewise.
22907         * lib/unictype/pr_left_of_pair.h: Likewise.
22908         * lib/unictype/pr_line_separator.h: Likewise.
22909         * lib/unictype/pr_math.h: Likewise.
22910         * lib/unictype/pr_non_break.h: Likewise.
22911         * lib/unictype/pr_not_a_character.h: Likewise.
22912         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22913         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22914         * lib/unictype/pr_other_id_continue.h: Likewise.
22915         * lib/unictype/pr_other_id_start.h: Likewise.
22916         * lib/unictype/pr_other_lowercase.h: Likewise.
22917         * lib/unictype/pr_other_math.h: Likewise.
22918         * lib/unictype/pr_other_uppercase.h: Likewise.
22919         * lib/unictype/pr_paired_punctuation.h: Likewise.
22920         * lib/unictype/pr_paragraph_separator.h: Likewise.
22921         * lib/unictype/pr_pattern_syntax.h: Likewise.
22922         * lib/unictype/pr_pattern_white_space.h: Likewise.
22923         * lib/unictype/pr_private_use.h: Likewise.
22924         * lib/unictype/pr_quotation_mark.h: Likewise.
22925         * lib/unictype/pr_radical.h: Likewise.
22926         * lib/unictype/pr_soft_dotted.h: Likewise.
22927         * lib/unictype/pr_space.h: Likewise.
22928         * lib/unictype/pr_titlecase.h: Likewise.
22929         * lib/unictype/pr_variation_selector.h: Likewise.
22930         * lib/unictype/pr_white_space.h: Likewise.
22931         * lib/unictype/sy_c_ident.h: Likewise.
22932         * lib/unictype/sy_c_whitespace.h: Likewise.
22933         * lib/unictype/sy_java_whitespace.h: Likewise.
22934         * modules/uni*/*: Bump version number of expected libunistring version.
22935         Reported by Simon Josefsson.
22936
22937 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22938
22939         useless-if-before-free: fix typo in --help and make the internal,
22940         automatic version date update process work once again.
22941         --help output contained a NUL character instead of the
22942         backslash-zero that was intended.  Also, the "must lie within
22943         the first 8 lines" line is on line 9, and hence not getting
22944         automatically updated.
22945         * build-aux/useless-if-before-free: Fix the former by adding a
22946         backslash, and the latter by condensing the three lines of what-it-does
22947         to a single line, leaving one line of slack for the future.
22948
22949 2011-01-09  Bruno Haible  <bruno@clisp.org>
22950
22951         uniwidth/width: Fix width of U+1D173..U+1D17A.
22952         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22953         symbolic_width, output_width_property_test): New functions.
22954         (main): Invoke output_nonspacing_property, output_width_property_test.
22955         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22956         U+1D173..U+1D17A.
22957         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22958         1.
22959         * modules/uniwidth/*: Bump version number of expected libunistring
22960         version.
22961         * modules/unilbrk/*: Likewise.
22962
22963 2011-01-08  Bruno Haible  <bruno@clisp.org>
22964
22965         uninorm tests: Preserve copyright of Unicode data file.
22966         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22967         Mention modifications.
22968
22969 2011-01-08  Bruno Haible  <bruno@clisp.org>
22970
22971         gen-uni-tables: Prepare for Unicode 5.2.0.
22972         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22973         (debug_output_lbp, output_lbp): Update.
22974
22975 2011-01-08  Bruno Haible  <bruno@clisp.org>
22976
22977         unilbrk: Clarify gen-uni-tables.c code.
22978         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22979         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22980         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22981
22982 2011-01-07  Bruno Haible  <bruno@clisp.org>
22983
22984         strtod: Restore errno when successfully parsing Infinity or NaN.
22985         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22986         restore the original errno.
22987
22988 2011-01-07  Bruno Haible  <bruno@clisp.org>
22989
22990         remove test: Avoid failure on HP-UX 11.
22991         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22992
22993 2011-01-07  Bruno Haible  <bruno@clisp.org>
22994
22995         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22996         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22997         error code.
22998
22999 2011-01-07  Pádraig Brady <P@draigBrady.com>
23000
23001         ignore-value: fixup comments, and add Eric Blake
23002         as an author since he rewrote the macros.
23003         * lib/ignore-value.h (ignore_value):  State that
23004         we now support aggregates.  Also specify exactly
23005         when the GCC warn_unused_result feature was added.
23006
23007 2011-01-06  Eric Blake  <eblake@redhat.com>
23008
23009         ignore-value: support aggregate types
23010         * lib/ignore-value.h (ignore_value): Provide separate gcc
23011         definition.
23012         * modules/ignore-value-tests: New test module.
23013         * tests/test-ignore-value.c: New test.
23014
23015         maint.mk: improve sc_prohibit_strcmp regex
23016         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23017         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23018         definition of STRNEQ.
23019
23020         signal: work around Haiku issue with SIGBUS
23021         * lib/siglist.h: Add comment.
23022         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23023         strsignal's favoring of SIGSEGV.
23024         * tests/test-signal.c (main): Avoid test failure.
23025         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23026         Reported by Scott McCreary.
23027
23028         maint.mk: add pre-release check to ensure submodule commits are public
23029         * top/maint.mk (public-submodule-commit): New rule.
23030         (submodule-checks): New variable.
23031         (alpha beta stable): Depend on the variable.
23032
23033 2011-01-05  Pádraig Brady <P@draigBrady.com>
23034         and Jim Meyering  <meyering@redhat.com>
23035
23036         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23037         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23038         (ATTRIBUTE_DEPRECATED): Define.
23039         (_ignore_case): New function.
23040         (ignore_value): New macro, to replace the old function.
23041         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23042         * modules/ignore-value (Depends-on): Add stdint.
23043
23044 2011-01-04  Eric Blake  <eblake@redhat.com>
23045
23046         doc: regenerate INSTALL
23047         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23048         @firstparagraphindent support, now that autoconf dropped it.
23049         (INSTALL_PRELUDE): Reinstate old macro.
23050         * doc/install.texi: Resync from autoconf.
23051         * doc/INSTALL: Reflect recent autoconf update.
23052         * doc/INSTALL.ISO: Likewise.
23053         * doc/INSTALL.UTF-8: Likewise.
23054         Reported by Karl Berry.
23055
23056 2011-01-04  Bruce Korb  <address@hidden>
23057
23058         git-version-gen: avoid a sub-shell
23059         * build-aux/git-version-gen: Redirect stderr in `...` via
23060         "exec 2>...", rather than via an added sub-shell.
23061
23062 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23063
23064         git-version-gen: use (...) rather than sh -c '...'
23065         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23066         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23067
23068 2011-01-03  Jim Meyering  <meyering@redhat.com>
23069
23070         git-version-gen: convert leading TABs to spaces
23071         * build-aux/git-version-gen: Expand leading TABs.
23072
23073         git-version-gen: handle failed "git rev-list"
23074         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23075         from git and proceeding as if it had succeeded but printed no SHA1
23076         checksums, suppress the diagnostic and handle the failure.
23077         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23078
23079         git-version-gen: include command name in one more diagnostic
23080         * build-aux/git-version-gen: When the required .tarball-version file
23081         was missing or unreadable, you might see the diagnostic from "cat",
23082         but no trace of the name of the invoking script.  Now, you still see
23083         the diagnostic from cat, but also get one from "git-version-gen: ".
23084         Inspired by a patch from Bruce Korb.
23085
23086         update-copyright: adjust test to match changed code
23087         * tests/test-update-copyright.sh: Change test's expected output
23088         to match new actual output.
23089
23090 2011-01-02  Bruno Haible  <bruno@clisp.org>
23091
23092         getlogin_r: Avoid test failure on HP-UX 11.
23093         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23094         ERANGE when the second argument is zero.
23095         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23096         portability problem.
23097
23098 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23099
23100         * build-aux/update-copyright: doc Simon's changes
23101
23102 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23103
23104         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23105         environment variable.
23106
23107 2011-01-02  Bruno Haible  <bruno@clisp.org>
23108
23109         unigbrk: Avoid gcc warnings.
23110         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23111         unused variable.
23112         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23113         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23114         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23115         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23116         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23117         Change type of first argument to 'const char *'.
23118         (main): Remove unused variable.
23119         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23120         type of first argument to 'const char *'.
23121         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23122         Likewise.
23123         (main): Change type of variable 's'.
23124         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23125         to 'int'.
23126
23127 2011-01-02  Bruno Haible  <bruno@clisp.org>
23128
23129         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23130         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23131         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23132         bug.
23133         * lib/pwrite.c: Undo 2010-12-31 patch.
23134         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23135
23136 2011-01-02  Bruno Haible  <bruno@clisp.org>
23137
23138         pread: Fix test whether it works.
23139         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23140
23141 2011-01-02  Bruno Haible  <bruno@clisp.org>
23142
23143         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23144         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23145         ends in "6". Don't require a specific month name. Try also the locale
23146         names found on HP-UX 11 and Solaris 7.
23147
23148 2011-01-02  Bruno Haible  <bruno@clisp.org>
23149
23150         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23151         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23152         C linkage.
23153         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23154
23155 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23156
23157         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23158         for consistency, since the "cluster" term is not used elsewhere.
23159         * lib/unigbrk.in.h: Update name.
23160         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23161         * lib/unigbrk/u16-grapheme-next.c: Update name.
23162         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23163         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23164         * lib/unigbrk/u32-grapheme-next.c: Update name.
23165         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23166         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23167         * lib/unigbrk/u8-grapheme-next.c: Update name.
23168         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23169         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23170         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23171         Suggested by Bruno Haible.
23172
23173 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23174
23175         Remove module 'u8-grapheme-len' as too redundant with
23176         'u8-grapheme-next'.
23177         * modules/unigbrk/u8-grapheme-len: Delete file.
23178         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23179         * lib/unigbrk.in.h: Remove prototype for deleted function.
23180         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23181         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23182
23183         Remove module 'u16-grapheme-len' as too redundant with
23184         'u16-grapheme-next'.
23185         * modules/unigbrk/u16-grapheme-len: Delete file.
23186         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23187         * lib/unigbrk.in.h: Remove prototype for deleted function.
23188         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23189         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23190
23191         Remove module 'u32-grapheme-len' as too redundant with
23192         'u32-grapheme-next'.
23193         * modules/unigbrk/u32-grapheme-len: Delete file.
23194         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23195         * lib/unigbrk.in.h: Remove prototype for deleted function.
23196         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23197         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23198
23199         Suggested by Bruno Haible.
23200
23201 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23202
23203         * unigbrk.in.h: Fix typo: "ben" => "been".
23204         Reported by Bruno Haible.
23205
23206 2011-01-01  Jim Meyering  <meyering@redhat.com>
23207
23208         maint: update almost all copyright ranges to include 2011
23209         Run the new "make update-copyright" rule.
23210
23211 2011-01-01  Jim Meyering  <meyering@redhat.com>
23212
23213         maint: update-copyright: exempt doc/INSTALL*
23214         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23215         since they are generated.  Suggested by Bruno Haible.
23216
23217 2011-01-01  Jim Meyering  <meyering@redhat.com>
23218
23219         maint: refine the update-copyright rule
23220         * Makefile (update-copyright): Also exclude any file that includes
23221         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23222         code that merely generates the comment.
23223
23224 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23225
23226         New module 'u8-grapheme-len'.
23227         * modules/unigbrk/u8-grapheme-len: New file.
23228         * modules/unigbrk/u8-grapheme-len-tests: New file.
23229         * lib/unigbrk.in.h: Add prototype for new function.
23230         * lib/unigbrk/u8-grapheme-len.c: New file.
23231         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23232
23233         New module 'u16-grapheme-len'.
23234         * modules/unigbrk/u16-grapheme-len: New file.
23235         * modules/unigbrk/u16-grapheme-len-tests: New file.
23236         * lib/unigbrk.in.h: Add prototype for new function.
23237         * lib/unigbrk/u16-grapheme-len.c: New file.
23238         * tests/unigbrk/test-u16-grapheme-len.c: New file.
23239
23240         New module 'u32-grapheme-len'.
23241         * modules/unigbrk/u32-grapheme-len: New file.
23242         * modules/unigbrk/u32-grapheme-len-tests: New file.
23243         * lib/unigbrk.in.h: Add prototype for new function.
23244         * lib/unigbrk/u32-grapheme-len.c: New file.
23245         * tests/unigbrk/test-u32-grapheme-len.c: New file.
23246
23247         New module 'u8-grapheme-next'.
23248         * modules/unigbrk/u8-grapheme-next: New file.
23249         * modules/unigbrk/u8-grapheme-next-tests: New file.
23250         * lib/unigbrk.in.h: Add prototype for new function.
23251         * lib/unigbrk/u8-grapheme-next.c: New file.
23252         * tests/unigbrk/test-u8-grapheme-next.c: New file.
23253
23254         New module 'u16-grapheme-next'.
23255         * modules/unigbrk/u16-grapheme-next: New file.
23256         * modules/unigbrk/u16-grapheme-next-tests: New file.
23257         * lib/unigbrk.in.h: Add prototype for new function.
23258         * lib/unigbrk/u16-grapheme-next.c: New file.
23259         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23260
23261         New module 'u32-grapheme-next'.
23262         * modules/unigbrk/u32-grapheme-next: New file.
23263         * modules/unigbrk/u32-grapheme-next-tests: New file.
23264         * lib/unigbrk.in.h: Add prototype for new function.
23265         * lib/unigbrk/u32-grapheme-next.c: New file.
23266         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23267
23268         New module 'u8-grapheme-prev'.
23269         * modules/unigbrk/u8-grapheme-prev: New file.
23270         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23271         * lib/unigbrk.in.h: Add prototype for new function.
23272         * lib/unigbrk/u8-grapheme-prev.c: New file.
23273         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23274
23275         New module 'u16-grapheme-prev'.
23276         * modules/unigbrk/u16-grapheme-prev: New file.
23277         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23278         * lib/unigbrk.in.h: Add prototype for new function.
23279         * lib/unigbrk/u16-grapheme-prev.c: New file.
23280         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23281
23282         New module 'u32-grapheme-prev'.
23283         * modules/unigbrk/u32-grapheme-prev: New file.
23284         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23285         * lib/unigbrk.in.h: Add prototype for new function.
23286         * lib/unigbrk/u32-grapheme-prev.c: New file.
23287         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23288
23289         New module 'u8-grapheme-breaks'.
23290         * modules/unigbrk/u8-grapheme-breaks: New file.
23291         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23292         * lib/unigbrk.in.h: Add prototype for new function.
23293         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23294         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23295
23296         New module 'u16-grapheme-breaks'.
23297         * modules/unigbrk/u16-grapheme-breaks: New file.
23298         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23299         * lib/unigbrk.in.h: Add prototype for new function.
23300         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23301         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23302
23303         New module 'u32-grapheme-breaks'.
23304         * modules/unigbrk/u32-grapheme-breaks: New file.
23305         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23306         * lib/unigbrk.in.h: Add prototype for new function.
23307         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23308         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23309
23310         New module 'ulc-grapheme-breaks'.
23311         * modules/unigbrk/ulc-grapheme-breaks: New file.
23312         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23313         * m4/locale-ar.m4: New file.
23314         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23315         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23316         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23317
23318 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23319
23320         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23321         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23322         modified how this file was generated before I initially submitted
23323         the module, but failed to regenerate it.  This meant that several
23324         of the level2 entries were wrong.
23325         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23326         Remove the division-by-2 that is folded into the table now that
23327         gbrkprop.h has been regenerated properly.  Now -1 entries are
23328         handled correctly.
23329
23330         New module 'unigbrk/uc-gbrk-prop-tests'.
23331         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23332         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23333         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23334         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23335
23336 2011-01-01  Bruno Haible  <bruno@clisp.org>
23337
23338         Avoid use of hexadecimal escapes.
23339         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23340         instead of hexadecimal escapes.
23341
23342 2011-01-01  Jim Meyering  <meyering@redhat.com>
23343
23344         maint: new rule to update copyright year ranges
23345         * Makefile (update-copyright): New rule.
23346
23347         maint: indent with TABs in Makefile
23348         * Makefile: Expand leading sequences of spaces to TABs
23349
23350         version-etc: update the copyright year it reports
23351         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23352
23353 2010-12-31  Bruno Haible  <bruno@clisp.org>
23354
23355         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23356         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23357         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23358         zero.
23359
23360 2010-12-31  Bruno Haible  <bruno@clisp.org>
23361
23362         pwrite: Work around HP-UX 11.11 bug.
23363         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23364         works and set REPLACE_PWRITE if not.
23365         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23366         function.
23367         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23368
23369 2010-12-31  Bruno Haible  <bruno@clisp.org>
23370
23371         pread: Work around HP-UX 11 bugs.
23372         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23373         and set REPLACE_PREAD if not.
23374         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23375
23376 2010-12-31  Eric Blake  <eblake@redhat.com>
23377
23378         nl_langinfo: fix YESEXPR on Irix 6.5
23379         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23380         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23381         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23382         it.
23383
23384 2010-12-31  Bruno Haible  <bruno@clisp.org>
23385
23386         iconv: Document HP-UX 11 bug.
23387         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23388
23389 2010-12-31  Bruno Haible  <bruno@clisp.org>
23390
23391         ldexpl: Fix link error on HP-UX 11.
23392         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23393         LDEXPL_LIBM, using $ISNANL_LIBM.
23394
23395 2010-12-31  Eric Blake  <eblake@redhat.com>
23396
23397         ftello: avoid compilation failure with SunStudio c89
23398         * lib/ftello.c (ftello): Use lseek, not llseek.
23399
23400         tests: avoid failing coreutils tests on cygwin
23401         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23402         (create_exe_shims_): Return 0 when skipping.
23403
23404 2010-12-31  Bruno Haible  <bruno@clisp.org>
23405
23406         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23407         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23408
23409 2010-12-31  Bruno Haible  <bruno@clisp.org>
23410
23411         waitpid: Fix link error in C++ mode.
23412         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23413
23414 2010-12-31  Bruno Haible  <bruno@clisp.org>
23415
23416         isnan: Use GCC built-ins when possible.
23417         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23418         __builtin_isnan.
23419         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23420         (isnan): Define using GCC built-ins for GCC >= 4.0.
23421
23422 2010-12-31  Bruno Haible  <bruno@clisp.org>
23423
23424         isnand: Fix mistake.
23425         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23426         __builtin_isnand.
23427
23428 2010-12-31  Bruno Haible  <bruno@clisp.org>
23429
23430         open: Avoid C++ error on HP-UX 11.
23431         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23432
23433 2010-12-31  Bruno Haible  <bruno@clisp.org>
23434
23435         time_r: Add missing declarations on HP-UX 11.
23436         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23437         instead of HAVE_LOCALTIME_R.
23438         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23439         HAVE_LOCALTIME_R always.
23440         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23441         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23442         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23443         HAVE_LOCALTIME_R.
23444         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23445         * doc/posix-functions/localtime_r.texi: Likewise.
23446
23447 2010-12-29  Eric Blake  <eblake@redhat.com>
23448
23449         mountlist: tweak previous commit
23450         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23451         Reported by Paul Eggert.
23452
23453         mountlist: fix local drive detection on cygwin
23454         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23455         that works for cygwin.
23456
23457 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23458
23459         ftoastr, snprintf: ftoastr + snprintf module
23460         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23461         since the snprintf module now should be good enough here.
23462         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23463         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23464         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23465         GNULIB_SNPRINTF only for the test directory, and the latter
23466         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23467         seems to suffice by itself.
23468
23469 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23470
23471         alloca: one step towards thread-safety
23472         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23473         need for a static variable.  All callers changed.  This does not
23474         make the alloca replacement thread-safe, but it's one step.
23475
23476         tests: minor indenting change
23477         * tests/init.sh: Sync from coreutils housekeeping patch
23478         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23479         to keep lines within 80 columns.
23480
23481 2010-12-28  Jim Meyering  <meyering@redhat.com>
23482
23483         regex: don't infloop on persistent failing calloc
23484         * lib/regexec.c (build_trtable): Return failure indication upon
23485         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23486         In glibc, this was fixed for version 2.13:
23487         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23488
23489 2010-12-28  Bruno Haible  <bruno@clisp.org>
23490             Paul Eggert <eggert@cs.ucla.edu>
23491
23492         linkat: Make implementation robust against system behaviour variations.
23493         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23494         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23495         way, and to -2 if it needs a generic runtime test.
23496         * lib/linkat.c (solaris_optimized_link_immediate,
23497         solaris_optimized_link_follow): New functions.
23498         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23499         (check_same_link): Use it.
23500
23501 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23502
23503         New module 'unigbrk/base'.
23504         * modules/unigbrk/base: New file.
23505         * lib/unigbrk.in.h: New file.
23506
23507         New module 'unigbrk/uc-gbrk-prop'.
23508         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23509         * modules/unigbrk/uc-gbrk-prop: New file.
23510         * lib/unigbrk/gbrkprop.h: New file.
23511         * lib/unigbrk/uc-gbrk-prop.c: New file.
23512
23513         New module 'unigbrk/uc-is-grapheme-break'.
23514         * modules/unigbrk/uc-is-grapheme-break: New file.
23515         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23516         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23517         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23518         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23519         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23520
23521         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23522
23523 2010-12-27  Bruno Haible  <bruno@clisp.org>
23524
23525         linkat test: Avoid failure on Solaris 11 2010-11.
23526         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23527
23528 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23529
23530         utimens: work around glibc rounding bug on more platforms
23531         * lib/utimens.c (fdutimens): Work around rounding bug even if
23532         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23533         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23534
23535 2010-12-27  Bruno Haible  <bruno@clisp.org>
23536
23537         select tests: Improve comments.
23538         * tests/test-select.c (do_select): Add comments.
23539
23540 2010-12-27  Bruno Haible  <bruno@clisp.org>
23541
23542         select tests: Safer way of handling timeout.
23543         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23544         at every invocation.
23545
23546 2010-12-27  Bruno Haible  <bruno@clisp.org>
23547
23548         select tests: Use 'bool' where appropriate.
23549         * tests/test-select.c (connect_to_socket): Change argument type to
23550         'bool'.
23551
23552 2010-12-27  Bruno Haible  <bruno@clisp.org>
23553
23554         select tests: Use existing modules.
23555         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23556         (configure.ac): Don't test for unistd.h.
23557         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23558         declared in <unistd.h>.
23559
23560 2010-12-27  Bruno Haible  <bruno@clisp.org>
23561
23562         mbrtowc: Work around a Solaris 7 bug.
23563         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
23564         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
23565         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
23566         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
23567         MBRTOWC_NULL_ARG1_BUG.
23568         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
23569         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
23570         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
23571         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
23572
23573 2010-12-27  Jim Meyering  <meyering@redhat.com>
23574
23575         read-file.c: tweak syntax
23576         * lib/read-file.c (fread_file): Remove space after "*" in function
23577         definitions.
23578
23579 2010-12-27  Bruno Haible  <bruno@clisp.org>
23580
23581         times test: Avoid gcc warnings on OSF/1.
23582         * tests/test-times.c (main): Cast printf arguments from clock_t to
23583         'long int'.
23584
23585 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23586
23587         utimens: work around glibc rounding bug on older Linux kernels
23588         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
23589         on Linux with a glibc whose utimes might not work, then work
23590         around a longstanding glibc bug involving rounding rather than
23591         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
23592         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23593
23594 2010-12-26  Bruno Haible  <bruno@clisp.org>
23595
23596         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
23597         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
23598         _GL_CXXALIAS_SYS.
23599         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23600
23601 2010-12-26  Bruno Haible  <bruno@clisp.org>
23602
23603         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
23604         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
23605         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23606         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
23607         looking for the declaration.
23608         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
23609         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
23610         problem.
23611         * doc/posix-functions/inet_pton.texi: Likewise.
23612
23613 2010-12-26  Bruno Haible  <bruno@clisp.org>
23614
23615         arpa_inet: Use the common idioms with C++ support.
23616         * lib/arpa_inet.in.h: Include c++defs.h.
23617         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
23618         support.
23619         * modules/arpa_inet (Depends-on): Add c++defs.
23620         (Makefile.am): Substitute the contents of c++defs.h.
23621         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
23622         * modules/arpa_inet-c++-tests: New file.
23623         * tests/test-arpa_inet-c++.cc: New file.
23624
23625 2010-12-25  Bruno Haible  <bruno@clisp.org>
23626
23627         Fix more C++ link errors on Solaris 8.
23628         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
23629         $(LIB_EACCESS).
23630         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
23631         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
23632         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
23633         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
23634         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
23635
23636 2010-12-25  Bruno Haible  <bruno@clisp.org>
23637
23638         printf-posix: Fix link error when a non-GCC compiler is used.
23639         * lib/stdio.in.h (printf): When not using GCC, override printf
23640         correctly.
23641         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23642
23643 2010-12-25  Bruno Haible  <bruno@clisp.org>
23644
23645         strerror_r-posix: Update doc.
23646         * doc/posix-functions/strerror_r.texi: Update doc about the return
23647         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
23648
23649 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23650
23651         utimens: simplify the logic of the previous change
23652         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
23653         This should not affect whether the test succeeds or fails.
23654
23655         utimens: configure better on hosts with NFS clock skew
23656         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
23657         uses the clock of the local host.  It might use the clock of the
23658         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
23659         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23660
23661 2010-12-25  Bruno Haible  <bruno@clisp.org>
23662
23663         ptsname test: Avoid failure on Solaris.
23664         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
23665         open a pseudo-terminal; don't use BSD-style ptys.
23666         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
23667
23668 2010-12-25  Bruno Haible  <bruno@clisp.org>
23669
23670         ptsname: Avoid ERANGE failure on some systems.
23671         * lib/ptsname.c (buffer): Increase size.
23672
23673 2010-12-25  Bruno Haible  <bruno@clisp.org>
23674
23675         rename, renameat: Avoid test failures at NFS mounted locations.
23676         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
23677         so that subsequent mkdir calls succeed.
23678
23679 2010-12-25  Bruno Haible  <bruno@clisp.org>
23680
23681         iswblank: Fix C++ link error on Solaris 8.
23682         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
23683         _GL_FUNCDECL_SYS.
23684
23685 2010-12-25  Bruno Haible  <bruno@clisp.org>
23686
23687         unistd: Fix C++ link error on Solaris 8.
23688         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
23689
23690 2010-12-25  Bruno Haible  <bruno@clisp.org>
23691
23692         readlink doc: Mention an old glibc bug.
23693         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
23694
23695 2010-12-25  Bruno Haible  <bruno@clisp.org>
23696
23697         fcntl-h: Fix for use of C++ on glibc systems.
23698         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23699         also on glibc systems in C++ mode.
23700         Reported by Gary V. Vaughan <gary@gnu.org>.
23701
23702 2010-12-25  Bruno Haible  <bruno@clisp.org>
23703
23704         roundl-ieee: Make it work on OSF/1 5.1 with cc.
23705         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
23706
23707 2010-12-25  Bruno Haible  <bruno@clisp.org>
23708
23709         truncl-ieee: Make it work on OSF/1 5.1 with cc.
23710         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
23711         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
23712         test whether truncl works according to ISO C 99 with IEC 60559.
23713         * m4/truncl-ieee.m4: New file.
23714         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
23715         m4/signbit.m4.
23716         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
23717
23718 2010-12-25  Bruno Haible  <bruno@clisp.org>
23719
23720         ceill-ieee: Make it work on OSF/1 5.1 with cc.
23721         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
23722         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
23723         test whether ceill works according to ISO C 99 with IEC 60559.
23724         * m4/ceill-ieee.m4: New file.
23725         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
23726         m4/signbit.m4.
23727         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
23728
23729 2010-12-25  Bruno Haible  <bruno@clisp.org>
23730
23731         Ensure all prerequisites of <wchar.h> are included.
23732         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
23733         before <wchar.h>.
23734         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23735         gl_MBRLEN_NUL_RETVAL): Likewise.
23736         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23737         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
23738         AC_FUNC_MBRTOWC): Likewise.
23739         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23740         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23741         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23742         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23743         Likewise.
23744         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23745         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
23746         (gl_WCHAR_H): Improve comments.
23747         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23748
23749 2010-12-25  Bruno Haible  <bruno@clisp.org>
23750
23751         strtok_r: Fix C syntax error in autoconf macro.
23752         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
23753         characters in test program.
23754
23755 2010-12-24  Bruno Haible  <bruno@clisp.org>
23756
23757         ceil, trunc, round: Fix gcc warnings.
23758         * lib/ceil.c (MIN): Undefine before redefining.
23759         * lib/trunc.c (MIN): Likewise.
23760         * lib/round.c (MIN): Likewise.
23761         Include <math.h> first.
23762
23763 2010-12-24  Bruno Haible  <bruno@clisp.org>
23764
23765         select tests: Avoid failures on OSF/1 5.1.
23766         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23767         failure of closing the last socket; it may fail with ECONNRESET.
23768
23769 2010-12-24  Eric Blake  <eblake@redhat.com>
23770
23771         stdint: avoid HP-UX 10.20 preprocessor bug
23772         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23773         than #if.
23774         * tests/test-floor2.c (main): Likewise.
23775         Reported by Peter O'Gorman.
23776
23777         pipe: make obsoletion transition easier
23778         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23779         * modules/pipe (Files): Include revived file.
23780         (Include): Drop reference, to mirror getdate's behavior.
23781
23782 2010-12-24  Bruno Haible  <bruno@clisp.org>
23783
23784         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23785         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23786         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23787         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23788
23789 2010-12-24  Bruno Haible  <bruno@clisp.org>
23790
23791         gethostname: Ensure declaration on NonStop Kernel.
23792         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23793         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23794
23795 2010-12-24  Bruno Haible  <bruno@clisp.org>
23796
23797         sys_select: Ensure all necessary types on NonStop Kernel.
23798         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23799         include <sys/time.h>.
23800         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23801         NonStop Kernel.
23802         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23803
23804 2010-12-24  Bruno Haible  <bruno@clisp.org>
23805
23806         sys_select: Remove unneeded include.
23807         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23808         have <sys/select.h>.
23809
23810 2010-12-24  Bruno Haible  <bruno@clisp.org>
23811
23812         gethostname: Provide a fallback for HOST_NAME_MAX.
23813         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23814         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23815         instead.
23816         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23817
23818 2010-12-24  Bruno Haible  <bruno@clisp.org>
23819
23820         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23821         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23822         (SA_RESTART): Likewise.
23823         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23824
23825 2010-12-24  Bruno Haible  <bruno@clisp.org>
23826
23827         signal: Define NSIG.
23828         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23829         * tests/test-signal.c (nsig): New variable.
23830         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23831
23832 2010-12-24  Bruno Haible  <bruno@clisp.org>
23833
23834         rename, renameat: Avoid test failures on OSF/1 5.1.
23835         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23836         alternative error codes.
23837         * tests/test-renameat.c (main): Likewise.
23838
23839 2010-12-24  Bruno Haible  <bruno@clisp.org>
23840
23841         *printf: Detect large precisions bug on Solaris 10/SPARC.
23842         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23843         by Paul Eggert.
23844         * tests/test-snprintf-posix.h (test_function): Add this test code here
23845         too.
23846         * tests/test-sprintf-posix.h (test_function): Likewise.
23847         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23848         * tests/test-vasprintf-posix.c (test_function): Likewise.
23849         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23850         around by gnulib.
23851         * doc/posix-functions/printf.texi: Likewise.
23852         * doc/posix-functions/snprintf.texi: Likewise.
23853         * doc/posix-functions/sprintf.texi: Likewise.
23854         * doc/posix-functions/vfprintf.texi: Likewise.
23855         * doc/posix-functions/vprintf.texi: Likewise.
23856         * doc/posix-functions/vsnprintf.texi: Likewise.
23857         * doc/posix-functions/vsprintf.texi: Likewise.
23858         * doc/posix-functions/dprintf.texi: Undo last commit.
23859         * doc/posix-functions/vdprintf.texi: Likewise.
23860
23861 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23862
23863         tests: port test-fdutimensat.c to Solaris 8
23864         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23865         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23866         On Solaris 8, it fails with errno == ENOSYS, because there is no
23867         futimens (so it can't use the fd), and there is no lutimens (so it
23868         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23869
23870         vsnprintf: make more consistent with snprintf; doc fixes
23871
23872         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23873         the byte count return problem was promoted from the snprintf-posix
23874         to the snprintf module.
23875         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23876         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23877         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23878         * tests/test-snprintf.c (main): Check the byte count returned.
23879         * tests/test-vsnprintf.c (main): Likewise.
23880
23881 2010-12-23  Eric Blake  <eblake@redhat.com>
23882
23883         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23884         * modules/sigpipe (License): Relax license.
23885
23886 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23887
23888         doc: document Solaris printf bug with large float precisions
23889         * doc/posix-functions/dprintf.texi (dprintf):
23890         * doc/posix-functions/fprintf.texi (fprintf):
23891         * doc/posix-functions/printf.texi (printf):
23892         * doc/posix-functions/snprintf.texi (snprintf):
23893         * doc/posix-functions/sprintf.texi (sprintf):
23894         * doc/posix-functions/vdprintf.texi (vdprintf):
23895         * doc/posix-functions/vfprintf.texi (vfprintf):
23896         * doc/posix-functions/vprintf.texi (vprintf):
23897         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23898         * doc/posix-functions/vsprintf.texi (vsprintf):
23899         Mention that these functions mishandle large floating point
23900         precisions on Solaris 10.  The same bug is also present in Solaris
23901         8, and I assume earlier.  This causes "cd gnulib-tests; make
23902         check" to fail on Solaris 8 (and I assume, later) when building
23903         the latest coreutils, in test-vasprintf-posix's call to
23904         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23905         the wide flavors (e.g., wprintf) so this patch just updates the
23906         documentation for the narrow ones.
23907
23908         test-posixtm.c: add two tests
23909         * tests/test-posixtm.c: Add two tests, to highlight the
23910         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23911         around this bug; this is merely to document it.
23912
23913 2010-12-22  Bruno Haible  <bruno@clisp.org>
23914
23915         getlogin_r: Work around portability problem on OSF/1.
23916         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23917         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23918         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23919         test for a truncated result.
23920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23921         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23922         * modules/getlogin_r (Depends-on): Add memchr.
23923         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23924
23925 2010-12-22  Bruno Haible  <bruno@clisp.org>
23926
23927         ptsname: Avoid test failure on OSF/1 5.1.
23928         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23929         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23930         (same_slave): New function.
23931         (main): Use it to compare ptsname's result with the expected file name.
23932
23933 2010-12-22  Bruno Haible  <bruno@clisp.org>
23934
23935         Port extended stdio modules to HP NonStop Kernel.
23936         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23937         macros.
23938         * lib/fbufmode.c: Update comments.
23939         * lib/fflush.c: Likewise.
23940         * lib/fpurge.c: Likewise.
23941         * lib/freadable.c: Likewise.
23942         * lib/freadahead.c: Likewise.
23943         * lib/freading.c: Likewise.
23944         * lib/freadptr.c: Likewise.
23945         * lib/freadseek.c: Likewise.
23946         * lib/fseeko.c: Likewise.
23947         * lib/fseterr.c: Likewise.
23948         * lib/fwritable.c: Likewise.
23949         * lib/fwriting.c: Likewise.
23950         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23951
23952 2010-12-22  Bruno Haible  <bruno@clisp.org>
23953
23954         ttyname_r: Work around bug on OSF/1 5.1.
23955         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23956         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23957         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23958         present.
23959         * lib/ttyname_r.c (ttyname_r): Update comments.
23960
23961 2010-12-22  Bruno Haible  <bruno@clisp.org>
23962
23963         round: Implement result sign according to IEEE 754.
23964         * lib/round.c (MIN, MINUS_ZERO): New macros.
23965         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23966         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23967         * tests/test-round-ieee.c (main): Likewise.
23968         * tests/test-roundl-ieee.c (main): Likewise.
23969
23970         trunc: Implement result sign according to IEEE 754.
23971         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23972         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23973         * tests/test-trunc2.c: Include minus-zero.h.
23974         (MINUS_ZERO): New macro.
23975         (trunc_reference): Keep in sync with lib/trunc.c.
23976         * tests/test-truncf2.c: Include minus-zero.h.
23977         (MINUS_ZERO): New macro.
23978         (truncf_reference): Keep in sync with lib/trunc.c.
23979         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23980         * tests/test-trunc-ieee.c (main): Likewise.
23981         * tests/test-truncl-ieee.c (main): Likewise.
23982
23983         ceil: Implement result sign according to IEEE 754.
23984         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23985         (FUNC): Return -0.0 for -1 < x < 0.
23986         * tests/test-ceil2.c: Include minus-zero.h.
23987         (MINUS_ZERO): New macro.
23988         (ceil_reference): Keep in sync with lib/ceil.c.
23989         * tests/test-ceilf2.c: Include minus-zero.h.
23990         (MINUS_ZERO): New macro.
23991         (ceilf_reference): Keep in sync with lib/ceil.c.
23992         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23993         * tests/test-ceil-ieee.c (main): Likewise.
23994         * tests/test-ceill-ieee.c (main): Likewise.
23995
23996         floor: Implement result sign according to IEEE 754.
23997         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23998         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23999         * tests/test-floorf2.c (floorf_reference): Likewise.
24000         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24001         * tests/test-floor-ieee.c (main): Likewise.
24002         * tests/test-floorl-ieee.c (main): Likewise.
24003
24004 2010-12-22  Bruno Haible  <bruno@clisp.org>
24005
24006         getaddrinfo: Update doc.
24007         * doc/posix-functions/gai_strerror.texi: Return type is also different
24008         on AIX and HP-UX.
24009
24010 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24011
24012         getaddrinfo, inet_ntop: Update doc for Solaris.
24013         * doc/posix-functions/gai_strerror.texi: Return type is also an
24014         issue on Solaris 9 and earlier.
24015         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24016         on Solaris 10 and earlier.
24017
24018 2010-12-21  Bruno Haible  <bruno@clisp.org>
24019
24020         New module 'roundl-ieee'.
24021         * modules/roundl-ieee: New file.
24022         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24023         test whether roundl works according to ISO C 99 with IEC 60559.
24024         * m4/roundl-ieee.m4: New file.
24025         * modules/roundl-ieee-tests: New file.
24026         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24027         * tests/test-roundl.c (main): Remove signbit tests.
24028         * modules/roundl-tests (Depends-on): Remove signbit.
24029         * doc/posix-functions/roundl.texi: Mention the new module.
24030
24031 2010-12-21  Bruno Haible  <bruno@clisp.org>
24032
24033         New module 'truncl-ieee'.
24034         * modules/truncl-ieee: New file.
24035         * modules/truncl-ieee-tests: New file.
24036         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24037         * tests/test-truncl.c (main): Remove signbit tests.
24038         * modules/truncl-tests (Depends-on): Remove signbit.
24039         * doc/posix-functions/truncl.texi: Mention the new module.
24040
24041 2010-12-21  Bruno Haible  <bruno@clisp.org>
24042
24043         New module 'ceill-ieee'.
24044         * modules/ceill-ieee: New file.
24045         * modules/ceill-ieee-tests: New file.
24046         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24047         * tests/test-ceill.c (main): Remove signbit tests.
24048         * modules/ceill-tests (Depends-on): Remove signbit.
24049         * doc/posix-functions/ceill.texi: Mention the new module.
24050
24051 2010-12-21  Bruno Haible  <bruno@clisp.org>
24052
24053         New module 'floorl-ieee'.
24054         * modules/floorl-ieee: New file.
24055         * modules/floorl-ieee-tests: New file.
24056         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24057         * tests/test-floorl.c (main): Remove signbit tests.
24058         * modules/floorl-tests (Depends-on): Remove signbit.
24059         * doc/posix-functions/floorl.texi: Mention the new module.
24060
24061 2010-12-21  Bruno Haible  <bruno@clisp.org>
24062
24063         New module 'round-ieee'.
24064         * modules/round-ieee: New file.
24065         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24066         whether round works according to ISO C 99 with IEC 60559.
24067         * m4/round-ieee.m4: New file.
24068         * modules/round-ieee-tests: New file.
24069         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24070         * tests/test-round1.c (main): Remove signbit tests.
24071         * modules/round-tests (Depends-on): Remove 'signbit'.
24072         * doc/posix-functions/round.texi: Mention the new module.
24073
24074 2010-12-21  Bruno Haible  <bruno@clisp.org>
24075
24076         New module 'trunc-ieee'.
24077         * modules/trunc-ieee: New file.
24078         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24079         whether trunc works according to ISO C 99 with IEC 60559.
24080         * m4/trunc-ieee.m4: New file.
24081         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24082         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24083         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24084         * modules/trunc-ieee-tests: New file.
24085         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24086         * tests/test-trunc1.c (main): Remove signbit tests.
24087         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24088         * doc/posix-functions/trunc.texi: Mention the new module.
24089
24090 2010-12-21  Bruno Haible  <bruno@clisp.org>
24091
24092         New module 'ceil-ieee'.
24093         * modules/ceil-ieee: New file.
24094         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24095         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24096         ISO C 99 with IEC 60559.
24097         * m4/ceil-ieee.m4: New file.
24098         * modules/ceil (Files): Add lib/ceil.c.
24099         (Depends-on): Add 'float'.
24100         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24101         * lib/math.in.h (ceil): New declaration.
24102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24103         REPLACE_CEIL.
24104         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24105         * modules/ceil-ieee-tests: New file.
24106         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24107         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24108         * doc/posix-functions/ceil.texi: Mention the new module.
24109
24110 2010-12-21  Bruno Haible  <bruno@clisp.org>
24111
24112         New module 'floor-ieee'.
24113         * modules/floor-ieee: New file.
24114         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24115         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24116         ISO C 99 with IEC 60559.
24117         * m4/floor-ieee.m4: New file.
24118         * modules/floor (Files): Add lib/floor.c.
24119         (Depends-on): Add 'float'.
24120         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24121         * lib/math.in.h (floor): New declaration.
24122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24123         REPLACE_FLOOR.
24124         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24125         * modules/floor-ieee-tests: New file.
24126         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24127         * tests/test-math-c++.cc: Check the signature of 'floor'.
24128         * doc/posix-functions/floor.texi: Mention the new module.
24129
24130 2010-12-21  Bruno Haible  <bruno@clisp.org>
24131
24132         New module 'roundf-ieee'.
24133         * modules/roundf-ieee: New file.
24134         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24135         test whether roundf works according to ISO C 99 with IEC 60559.
24136         * m4/roundf-ieee.m4: New file.
24137         * modules/roundf-ieee-tests: New file.
24138         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24139         * tests/test-roundf1.c (main): Remove signbit tests.
24140         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24141         * doc/posix-functions/roundf.texi: Mention the new module.
24142
24143 2010-12-21  Bruno Haible  <bruno@clisp.org>
24144
24145         New module 'truncf-ieee'.
24146         * modules/truncf-ieee: New file.
24147         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24148         test whether truncf works according to ISO C 99 with IEC 60559.
24149         * m4/truncf-ieee.m4: New file.
24150         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24152         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24153         * modules/truncf-ieee-tests: New file.
24154         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24155         * tests/test-truncf1.c (main): Remove signbit tests.
24156         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24157         * doc/posix-functions/truncf.texi: Mention the new module.
24158
24159 2010-12-21  Bruno Haible  <bruno@clisp.org>
24160
24161         New module 'ceilf-ieee'.
24162         * modules/ceilf-ieee: New file.
24163         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24164         test whether ceilf works according to ISO C 99 with IEC 60559.
24165         * m4/ceilf-ieee.m4: New file.
24166         * modules/ceilf-ieee-tests: New file.
24167         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24168         * tests/test-ceilf1.c (main): Remove signbit tests.
24169         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24170         * doc/posix-functions/ceilf.texi: Mention the new module.
24171
24172 2010-12-21  Bruno Haible  <bruno@clisp.org>
24173
24174         New module 'floorf-ieee'.
24175         * modules/floorf-ieee: New file.
24176         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24177         test whether floorf works according to ISO C 99 with IEC 60559.
24178         * m4/floorf-ieee.m4: New file.
24179         * modules/floorf-ieee-tests: New file.
24180         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24181         * tests/test-floorf1.c (main): Remove signbit tests.
24182         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24183         * doc/posix-functions/floorf.texi: Mention the new module.
24184
24185 2010-12-21  Bruno Haible  <bruno@clisp.org>
24186
24187         Support for minus zero in autoconf macros.
24188         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24189         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24190         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24191         * tests/minus-zero.h: Update comments.
24192
24193 2010-12-21  Bruno Haible  <bruno@clisp.org>
24194
24195         Tests for module 'ceil'.
24196         * modules/ceil-tests: New file.
24197         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24198         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24199
24200 2010-12-21  Bruno Haible  <bruno@clisp.org>
24201
24202         Tests for module 'floor'.
24203         * modules/floor-tests: New file.
24204         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24205         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24206
24207 2010-12-21  Bruno Haible  <bruno@clisp.org>
24208
24209         math: Fix indentation.
24210         * lib/math.in.h (floorf): Fix indentation.
24211
24212 2010-12-21  Bruno Haible  <bruno@clisp.org>
24213
24214         Fix cross-compilation guesses on Solaris.
24215         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24216         not match "solaris2.10".
24217         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24218         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24219         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24220
24221 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24222
24223         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24224         This fixes a problem observed with the latest coreutils snapshot
24225         that caused a test to fail on Solaris 8.  src/csplit.c's call
24226         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24227         earlier, instead of returning the number of bytes that would have
24228         been generated; this causes csplit to incorrectly report memory
24229         exhaustion.
24230         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24231         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24232         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
24233         comments to match.
24234         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
24235         Fix typo in matching older versions of Solaris: "solaris2.10"
24236         is matched by the shell pattern "solaris2.[0-9]*".  This matters
24237         only for guessing while cross-compiling.
24238         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
24239
24240 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
24241
24242         ftoastr: fix comment again
24243         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24244         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
24245         Also, simplify example a bit by using flags = 0.
24246
24247 2010-12-20  Bruno Haible  <bruno@clisp.org>
24248
24249         round*, trunc*: Update documentation regarding glibc.
24250         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
24251         * doc/posix-functions/round.texi: Likewise.
24252         * doc/posix-functions/roundl.texi: Likewise.
24253         * doc/posix-functions/truncf.texi: Likewise.
24254         * doc/posix-functions/trunc.texi: Likewise.
24255         * doc/posix-functions/truncl.texi: Likewise.
24256
24257 2010-12-20  Bruno Haible  <bruno@clisp.org>
24258
24259         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24260         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24261         * doc/posix-functions/round.texi: Likewise.
24262         * doc/posix-functions/roundl.texi: Likewise.
24263
24264 2010-12-20  Bruno Haible  <bruno@clisp.org>
24265
24266         ttyname_r: Add missing declaration on HP-UX 11.
24267         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24268         HAVE_TTYNAME_R.
24269         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24270         declared. Set HAVE_TTYNAME_R always.
24271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24272         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24273         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24274         HAVE_TTYNAME_R.
24275         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24276
24277 2010-12-20  Bruno Haible  <bruno@clisp.org>
24278
24279         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24280         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24281         * doc/posix-functions/getlogin_r.texi: Likewise.
24282         * tests/test-getlogin.c: Include <errno.h>.
24283         (main): Avoid test failure on HP-UX 11.11.
24284         * tests/test-getlogin_r.c (main): Likewise.
24285
24286 2010-12-20  Bruno Haible  <bruno@clisp.org>
24287
24288         getlogin_r: Add missing declaration on HP-UX 11.
24289         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24290         declared also when it exists as a function.
24291         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24292
24293 2010-12-20  Bruno Haible  <bruno@clisp.org>
24294
24295         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24296         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24297         through wcrtomb.
24298
24299 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24300
24301         ftoastr: fix comment
24302         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24303         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24304
24305 2010-12-19  Bruno Haible  <bruno@clisp.org>
24306
24307         isnan: Ensure it is a macro.
24308         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24309         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24310         Solaris.
24311
24312 2010-12-19  Bruno Haible  <bruno@clisp.org>
24313
24314         ldexpl test: Fix link error on OSF/1 5.1.
24315         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24316
24317 2010-12-19  Bruno Haible  <bruno@clisp.org>
24318
24319         wctype: Make it work in C++ mode on OSF/1 5.1.
24320         * lib/wctype.in.h (iswblank): Declare but not define here.
24321         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24322         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24323         * modules/wctype (Files): Add lib/iswblank.c.
24324
24325 2010-12-19  Bruno Haible  <bruno@clisp.org>
24326
24327         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24328         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24329         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24330
24331 2010-12-19  Bruno Haible  <bruno@clisp.org>
24332
24333         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24334         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24335         _POSIX_PII_SOCKET.
24336         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24337         * doc/posix-functions/recvfrom.texi: Likewise.
24338         * doc/posix-functions/send.texi: Likewise.
24339         * doc/posix-functions/sendto.texi: Likewise.
24340
24341 2010-12-19  Bruno Haible  <bruno@clisp.org>
24342
24343         tcgetsid: Add missing declaration on OSF/1 5.1.
24344         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24345         HAVE_TCGETSID.
24346         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24347         Don't set HAVE_TCGETSID.
24348         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24349         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24350         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24351         HAVE_TCGETSID.
24352         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24353
24354 2010-12-19  Bruno Haible  <bruno@clisp.org>
24355
24356         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24357         * lib/stdio.in.h: During the include_next statement, let recursive
24358         includes of this file include only the system header file.
24359
24360 2010-12-19  Bruno Haible  <bruno@clisp.org>
24361
24362         iconv_open: Fix regression from 2010-12-04.
24363         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24364         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24365
24366 2010-12-19  Bruno Haible  <bruno@clisp.org>
24367
24368         stdbool test: Avoid a gcc warning.
24369         * tests/test-stdbool.c (main): Fail if e1 is false.
24370         Reported by Jim Meyering.
24371
24372 2010-12-19  Jim Meyering  <meyering@redhat.com>
24373
24374         setenv: restore to working order
24375         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24376         mistakenly removed.
24377         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24378         HAVE_SETENV.
24379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24380         HAVE_SETENV.
24381
24382 2010-12-19  Bruno Haible  <bruno@clisp.org>
24383
24384         Document some different function declarations on OSF/1 5.1.
24385         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24386         * doc/posix-functions/inet_ntop.texi: Likewise.
24387         * doc/posix-functions/gethostname.texi: Likewise.
24388         * lib/unistd.in.h (gethostname): Update comment.
24389
24390 2010-12-19  Bruno Haible  <bruno@clisp.org>
24391
24392         doc: Mention vasprintf-posix module.
24393         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24394         the 'vasprintf-posix' module.
24395         * doc/glibc-functions/vasprintf.texi: Likewise.
24396
24397 2010-12-19  Bruno Haible  <bruno@clisp.org>
24398
24399         unsetenv: Add missing declaration on OSF/1 5.1.
24400         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24401         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24402         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24404         not HAVE_UNSETENV.
24405         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24406         HAVE_UNSETENV.
24407         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24408
24409 2010-12-19  Bruno Haible  <bruno@clisp.org>
24410
24411         setenv: Add missing declaration on OSF/1 5.1.
24412         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24413         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24414         declared. Don't set HAVE_SETENV.
24415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24416         not HAVE_SETENV.
24417         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24418         HAVE_SETENV.
24419         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24420
24421 2010-12-19  Bruno Haible  <bruno@clisp.org>
24422
24423         nl_langinfo tests: Avoid gcc warning.
24424         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24425
24426 2010-12-19  Bruno Haible  <bruno@clisp.org>
24427
24428         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24429         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24430         _GL_CXXALIAS_SYS.
24431
24432 2010-12-19  Bruno Haible  <bruno@clisp.org>
24433
24434         stdbool: Relax test.
24435         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24436         address to 'bool' work in static initializer, for compilers other than
24437         GCC.
24438
24439 2010-12-19  Bruno Haible  <bruno@clisp.org>
24440
24441         ftello: Add missing declaration on OSF/1 5.1.
24442         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24443         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24445         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24446         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24447
24448 2010-12-19  Bruno Haible  <bruno@clisp.org>
24449
24450         fseeko: Add missing declaration on OSF/1 5.1.
24451         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24452         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24454         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24455         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24456
24457 2010-12-19  Bruno Haible  <bruno@clisp.org>
24458
24459         fchdir: Add missing declaration on OSF/1 5.1.
24460         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24461         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24463         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24464         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24465
24466 2010-12-19  Bruno Haible  <bruno@clisp.org>
24467
24468         relocatable-prog-wrapper: Separate from relocatable-prog.
24469         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24470         uninstall-relocwrapper rule here.
24471         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24472         Reported by Ian Beckwith <ianb@erislabs.net>.
24473
24474 2010-12-19  Bruno Haible  <bruno@clisp.org>
24475
24476         unistr/u8-mbsnlen: Add missing dependency.
24477         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24478         Reported by Ian Beckwith <ianb@erislabs.net>.
24479
24480 2010-12-19  Bruno Haible  <bruno@clisp.org>
24481
24482         iconv: Make it possible again to use this module without 'iconv-h'.
24483         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24484         if it is not defined.
24485         Reported by Ian Beckwith <ianb@erislabs.net>.
24486
24487 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24488
24489         acl: port to Solaris 8 when copying from tmpfs to ufs
24490         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24491         error number.  Problem observed on Solaris 8 with latest
24492         coreutils, with "mv A B", where A is on a tmpfs file system and B
24493         is on a ufs file system.  This caused coreutils' mv/part-symlink
24494         test to fail.
24495
24496         tests: set fail=0 at start
24497         * tests/init.sh (setup_): Move fail=0 initialization here ...
24498         (mktempd_): ... from here, so that tests can rely on fail being
24499         set to 0 initially.  This fixes a problem in coreutils; see:
24500         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24501
24502 2010-12-18  Bruno Haible  <bruno@clisp.org>
24503
24504         memmem-simple: Stylistic changes.
24505         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24506         Fix preprocessor directive indentation.
24507
24508 2010-12-15  Pádraig Brady <P@draigBrady.com>
24509
24510         memmem, memmem-simple: reorganize and expand empty needle check
24511         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24512         functional checks to memmem-simple so that one has a fully functional
24513         memmem by using just this module.
24514         Restrict the performance only check to the memmem module.
24515         Also expand the empty needle check to ensure the correct
24516         pointer is returned, not just a non NULL pointer.
24517         * doc/glibc-functions/memmem.texi: Rearrange the portability
24518         documentation to correlate with the rearranged checks.
24519         Clarify exactly how the memmem and memmem-simple modules
24520         relate to each other.
24521
24522 2010-12-15  Pádraig Brady <P@draigBrady.com>
24523             Bruno Haible  <bruno@clisp.org>
24524
24525         Improve cross-compilation guesses for uClibc.
24526         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24527         that uClibc does not have the glibc bug.
24528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24529         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24530
24531 2010-12-14  Eric Blake  <eblake@redhat.com>
24532
24533         configmake: provide fallbacks for oldest supported autotools
24534         * m4/configmake.m4: New file.
24535         * modules/configmake (Files): Ship it.
24536         (configure.ac): Use it to guarantee fallbacks.
24537
24538 2010-12-13  Pádraig Brady <P@draigBrady.com>
24539
24540         read-file: Improve handling of large files
24541         * lib/read-file.c (fread_file): Minimize realloc()s
24542         for regular files, and better manage sizes around SIZE_MAX.
24543
24544 2010-12-13  Eric Blake  <eblake@redhat.com>
24545
24546         cloexec, fcntl: relax license
24547         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24548         consent from all contributors.
24549         * modules/fcntl (License): Likewise.
24550
24551 2010-12-10  Bruno Haible  <bruno@clisp.org>
24552
24553         Tests for module 'pipe-posix'.
24554         * modules/pipe-posix-tests: New file.
24555         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24556
24557 2010-12-10  Bruno Haible  <bruno@clisp.org>
24558
24559         pipe-posix: Make it work in C++ mode.
24560         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24561         (pipe): Use common idiom, not a macro definition.
24562         * lib/pipe.c: New file.
24563         * m4/pipe.m4: New file.
24564         * modules/pipe-posix (Description): Enhance.
24565         (Files): Add lib/pipe.c, m4/pipe.m4.
24566         (configure.ac): Invoke gl_FUNC_PIPE.
24567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
24568         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
24569         * tests/test-unistd-c++.cc: Check the signature of pipe.
24570
24571 2010-12-10  Bruno Haible  <bruno@clisp.org>
24572
24573         Rename module 'pipe' to 'spawn-pipe'.
24574         * modules/spawn-pipe: New file, renamed from modules/pipe.
24575         (Files, configure.ac, Makefile.am): Update.
24576         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
24577         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
24578         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
24579         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
24580         "spawn-pipe.h" instead of "pipe.h".
24581         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
24582         to gl_SPAWN_PIPE.
24583         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
24584         (Files, Makefile.am): Update.
24585         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
24586         Update.
24587         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
24588         Include "spawn-pipe.h" instead of "pipe.h".
24589         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
24590         * lib/javacomp.c: Likewise.
24591         * lib/javaversion.c: Likewise.
24592         * lib/pipe-filter-gi.c: Likewise.
24593         * lib/pipe-filter-ii.c: Likewise.
24594         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
24595         * modules/javacomp (Depends-on): Likewise.
24596         * modules/javaversion (Depends-on): Likewise.
24597         * modules/pipe-filter-gi (Depends-on): Likewise.
24598         * modules/pipe-filter-ii (Depends-on): Likewise.
24599         * MODULES.html.sh (Executing programs): Update.
24600         * NEWS: Mention the change.
24601
24602 2010-12-10  Eric Blake  <eblake@redhat.com>
24603
24604         pipe-posix: new module
24605         * modules/pipe-posix: New file.
24606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
24607         (gl_UNISTD_H): Check for declaration.
24608         * modules/unistd (Makefile.am): Substitute it.
24609         * lib/unistd.in.h (pipe): Provide it for mingw.
24610         * doc/posix-functions/pipe.texi (pipe): Update documentation.
24611         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
24612
24613 2010-12-07  Bruno Haible  <bruno@clisp.org>
24614
24615         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
24616         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
24617         u8_strcmp_gnu.
24618         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
24619
24620 2010-12-06  Bruno Haible  <bruno@clisp.org>
24621
24622         Update internal documentation.
24623         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
24624
24625 2010-12-04  Bruno Haible  <bruno@clisp.org>
24626
24627         Put more information about failed tests into the test return codes.
24628         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
24629         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
24630         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
24631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
24632         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
24633         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24634         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24635         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24636         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
24637         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24638         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
24639         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
24640         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
24641         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24642         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
24643         returns a bit mask.
24644         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
24645         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
24646         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
24647         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
24648         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24649         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24650         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24651         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24652         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24653         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24654         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24655         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24656         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24657         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24658         * m4/link.m4 (gl_FUNC_LINK): Likewise.
24659         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24660         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
24661         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
24662         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24663         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
24664         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24665         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24666         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
24667         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24668         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24669         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24670         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
24671         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24672         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24673         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
24674         gl_PRINTF_PRECISION): Likewise.
24675         * m4/regex.m4 (gl_REGEX): Likewise.
24676         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24677         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24678         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
24679         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24680         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24681         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24682         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
24683         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
24684         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24685         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24686         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24687         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24688         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24689         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
24690         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24691         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24692         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
24693         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24695         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
24696         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
24697         enumerated value.
24698         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
24699
24700 2010-12-04  Bruno Haible  <bruno@clisp.org>
24701
24702         Update for Solaris 11 2010-11.
24703         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
24704         Express, released in November 2010.
24705
24706 2010-12-04  Bruno Haible  <bruno@clisp.org>
24707
24708         nproc: Relax license.
24709         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
24710         and Paul Eggert.
24711         Requested by Ludovic Courtès <ludo@gnu.org>.
24712
24713 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
24714
24715         utimecmp: fine-grained src to nearby coarse-grained dest
24716
24717         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
24718         and the source is on a file system with higher-resolution time
24719         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
24720         not work, and the time stamps are close together, the algorithm to
24721         determine the exact resolution from the read-back mtime was buggy:
24722         it had a "!=" where it should have had an "==".  This bug has been
24723         in the code ever since it was introduced to gnulib.
24724         Problem reported by Dan Jacobson in
24725         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
24726
24727 2010-11-30  Bruno Haible  <bruno@clisp.org>
24728
24729         strerror_r-posix: Fix autoconf test.
24730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
24731
24732 2010-11-28  Bruno Haible  <bruno@clisp.org>
24733             Paul Eggert  <eggert@cs.ucla.edu>
24734
24735         Tests for module 'getdomainname'.
24736         * modules/getdomainname-tests: New file.
24737         * tests/test-getdomainname.c: New file, based on
24738         tests/test-gethostname.c.
24739
24740 2010-11-28  Bruno Haible  <bruno@clisp.org>
24741             Paul Eggert  <eggert@cs.ucla.edu>
24742
24743         getdomainname: Use the system function when possible.
24744         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
24745         (getdomainname): Replace if needed. Provide the declaration if it is
24746         missing. Don't use _GL_CXXALIAS_SYS_CAST.
24747         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
24748         (getdomainname): When the system has getdomainname, call the system
24749         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
24750         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24751         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
24752         found in libnsl. Look for the declaration also in <netdb.h>. Replace
24753         the function if its second argument is of type 'int' or if it is found
24754         in libnsl.
24755         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
24756         <sys/systeminfo.h> and sysinfo().
24757         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
24758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24759         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
24760         HAVE_GETDOMAINNAME.
24761         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
24762         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
24763         * doc/glibc-functions/getdomainname.texi: Document the problems with
24764         the getdomainname declaration.
24765
24766 2010-11-28  Bruno Haible  <bruno@clisp.org>
24767
24768         sys_socket: Ensure ss_family field on AIX.
24769         * lib/sys_socket.in.h (ss_family): New macro definition.
24770         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24771         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24772         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24773         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24774         * modules/sys_socket (Makefile.am): Substitute
24775         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24776         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24777
24778 2010-11-27  Bruno Haible  <bruno@clisp.org>
24779
24780         readline: Improve configure output.
24781         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24782         "checking for readline..." result understandable.
24783
24784 2010-11-27  Bruno Haible  <bruno@clisp.org>
24785
24786         *printf-posix: Detect a bug on Solaris 10/x86.
24787         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24788         for floating-point output.
24789         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24790         directive.
24791         * tests/test-snprintf-posix.h (test_function): Likewise.
24792         * tests/test-sprintf-posix.h (test_function): Likewise.
24793         * tests/test-vasprintf-posix.c (test_function): Likewise.
24794         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24795         * doc/posix-functions/printf.texi: Likewise.
24796         * doc/posix-functions/snprintf.texi: Likewise.
24797         * doc/posix-functions/sprintf.texi: Likewise.
24798         * doc/posix-functions/vfprintf.texi: Likewise.
24799         * doc/posix-functions/vprintf.texi: Likewise.
24800         * doc/posix-functions/vsnprintf.texi: Likewise.
24801         * doc/posix-functions/vsprintf.texi: Likewise.
24802         * doc/glibc-functions/obstack_printf.texi: Likewise.
24803         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24804
24805 2010-11-27  Bruno Haible  <bruno@clisp.org>
24806
24807         Fix link error when module libunistring-optional is in use.
24808         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24809         * modules/striconveha-tests (Makefile.am): Likewise.
24810
24811 2010-11-27  Bruno Haible  <bruno@clisp.org>
24812
24813         regex: Mention link dependencies.
24814         * modules/regex (Link): New section.
24815         * modules/rpmatch (Link): Likewise.
24816         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24817
24818 2010-11-27  Bruno Haible  <bruno@clisp.org>
24819
24820         ftoastr: Fix compilation error on Solaris.
24821         * lib/ftoastr.c: Include <config.h>.
24822
24823 2010-11-27  Bruno Haible  <bruno@clisp.org>
24824
24825         getloadavg: Update documentation.
24826         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24827
24828 2010-11-27  Bruno Haible  <bruno@clisp.org>
24829
24830         sys_socket: Fix test whether the functions are declared.
24831         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24832         not <sys/select.h>.
24833
24834 2010-11-27  Bruno Haible  <bruno@clisp.org>
24835
24836         getpass: Make sure to get system declaration on some platforms.
24837         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24838         gl_USE_SYSTEM_EXTENSIONS.
24839         * modules/getpass (Depends-on): Add extensions.
24840
24841 2010-11-26  Bruno Haible  <bruno@clisp.org>
24842
24843         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24844         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24845         'iconv' module is present.
24846         (ICONV_CONST): New macro.
24847         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24848         ICONV_CONST.
24849         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24850         set ICONV_CONST.
24851         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24852         here.
24853         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24854         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24855         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24856         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24857         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24858         present.
24859
24860 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24861
24862         ftoastr: comment fix
24863         * lib/ftoastr.c: "little" -> "little or no" in comment
24864
24865 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24866
24867         stdint: port to GCC 4.3 + OSX + Octave
24868         On this platform, stdint.h is buggy and defines int64_t to long
24869         long int.  The replacement defined it to long int, causing
24870         problems with C++ style name mangling.  Instead, trust the system
24871         definition if INT64_MAX is defined, and likewise for the unsigned
24872         variant.   Problem reported by Jarno Rajahalme in
24873         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24874         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24875         and don't mess with int64_t and INT64_MAX in this case.
24876         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24877
24878 2010-11-24  Bruno Haible  <bruno@clisp.org>
24879
24880         doc: Corrections regarding MacOS X 10.4 and 10.5.
24881         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24882         MacOS X.
24883         Reported by Simon Josefsson.
24884
24885 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24886
24887         Uninstall ".bin" files installed by relocwrapper.
24888         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24889         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24890         unless it is already there.
24891
24892 2010-11-21  Bruno Haible  <bruno@clisp.org>
24893
24894         Update for NetBSD 5.0.
24895         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24896         NetBSD; the test fails on NetBSD 5.0.
24897         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24898         about NetBSD.
24899
24900 2010-11-21  Bruno Haible  <bruno@clisp.org>
24901
24902         Update for HP-UX 11.23 and HP-UX 11.31.
24903         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24904         HP-UX.
24905
24906 2010-11-21  Bruno Haible  <bruno@clisp.org>
24907
24908         Update for MacOS X 10.5.
24909         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24910         MacOS X; the test fails on MacOS X 10.5.8.
24911         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24912         about MacOS X.
24913
24914 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24915
24916         bootstrap: add bootstrap_sync option.
24917         See discussion at
24918         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24919         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24920         * build-aux/bootstrap: Accept --bootstrap-sync to update
24921         bootstrap if it is not identical to the local gnulib's
24922         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24923         enable this by default.  Accept --no-bootstrap-sync to disable
24924         it.
24925
24926 2010-11-20  Bruno Haible  <bruno@clisp.org>
24927
24928         Ensure that <features.h> is included before __GLIBC__ is tested.
24929         * lib/printf-parse.h: Include <features.h>.
24930         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24931         Reported by Mike Frysinger <vapier@gentoo.org>.
24932
24933         Ensure that <features.h> is included before __GLIBC__ is tested.
24934         * lib/wchar.in.h: Include <features.h>.
24935         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24936         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24937         Reported by Mike Frysinger <vapier@gentoo.org>.
24938
24939         Ensure that <features.h> is included before __GLIBC__ is tested.
24940         * lib/arpa_inet.in.h: Include <features.h>.
24941         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24942         * modules/arpa_inet (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         * build-aux/link-warning.h: Include <features.h>.
24947         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24948         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24949         Reported by Mike Frysinger <vapier@gentoo.org>.
24950
24951         Ensure that <features.h> is included before __GLIBC__ is tested.
24952         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24953         Reported by Mike Frysinger <vapier@gentoo.org>.
24954
24955 2010-11-20  Bruno Haible  <bruno@clisp.org>
24956
24957         memmem: Fix autoconf test.
24958         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24959
24960 2010-11-20  Bruno Haible  <bruno@clisp.org>
24961
24962         Port to uClibc.
24963         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24964         * lib/fcntl.in.h: Likewise.
24965         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24966         * lib/mbrtowc.c (mbrtowc): Likewise.
24967         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24968         * lib/strerror_r.c: Likewise.
24969         * lib/unistr/u8-strnlen.c: Likewise.
24970         * lib/vasnprintf.c (decimal_point_char): Likewise.
24971         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24972         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24973         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24974         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24975         * tests/test-sigaction.c (handler, main): Likewise.
24976         * lib/freading.h: Treat uClibc like a non-glibc platform.
24977         * lib/freading.c: Likewise.
24978         * lib/gettext.h: Likewise.
24979         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24980         Likewise.
24981         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24982         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24983         * lib/propername.c (proper_name_utf8): Likewise.
24984         * lib/spawn.in.h: Likewise.
24985         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24986         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24987         mem_cd_iconveh_internal): Likewise.
24988         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24989         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24990         strstr, strcasestr): Likewise.
24991         * lib/unicodeio.c (unicode_to_mb): Likewise.
24992         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24993         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24994         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24995         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24996         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24997         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24998         * lib/unistr/u8-stpncpy.c: Likewise.
24999         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25000         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25001         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25002         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25003         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25004         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25005         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25006         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25007         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25008         Likewise.
25009         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25010         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25011         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25012         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25013         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25014         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25015         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25016         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25017         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25018         * tests/test-striconveha.c (main): Likewise.
25019         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25020         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25021         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25022         * doc/posix-functions/getline.texi: Likewise.
25023         Reported by Mike Frysinger <vapier@gentoo.org>.
25024
25025 2010-11-20  Bruno Haible  <bruno@clisp.org>
25026
25027         nproc: Fix condition.
25028         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25029         HAVE_PTHREAD_AFFINITY_NP.
25030
25031 2010-11-20  Bruno Haible  <bruno@clisp.org>
25032
25033         Fix a comment.
25034         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25035
25036 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25037
25038         ftoastr: don't assume snprintf
25039         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25040         Implement a subset of snprintf here, by using sprintf safely.
25041         * modules/ftoastr (Depends-on): Remove snprintf.
25042
25043 2010-11-19  Jim Meyering  <meyering@redhat.com>
25044
25045         test-rename.h: fix compilation failure
25046         * tests/test-rename.h (test_rename): Add omitted "}".
25047
25048 2010-11-17  Jim Meyering  <meyering@redhat.com>
25049
25050         maint.mk: add a URL discussing the no-@acronym policy
25051         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25052
25053 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25054
25055         ftoastr: depend on snprintf, improve comments
25056         * lib/ftoastr.c: Also mention Loitsch's draft.
25057         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25058         needed in the current implementation, but it might simplify
25059         speeding up the code later.
25060         * modules/ftoastr: Depend on snprintf; this improves portability.
25061         Suggested by Bruno Haible in the same email.
25062
25063         ftoastr: port to hosts lacking strtof and strtold
25064         Problem reported by Bruno Haible in
25065         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25066         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25067         environment and strtold (and presumably strtof) are not available.
25068         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25069         (configure.ac): Require gl_C99_STRTOLD.
25070
25071 2010-11-18  Bruno Haible  <bruno@clisp.org>
25072
25073         c-strtold: Avoid link error on AIX 7.
25074         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25075         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25076         (gl_C_STRTOLD): Test whether strtold_l exists.
25077         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25078
25079 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25080
25081         intprops: new macro INT_BITS_STRLEN_BOUND
25082         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25083         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25084         not exposed.  Also, it uses a slightly tighter bound than before;
25085         though this makes no practical difference, we might as well be as
25086         tight as we easily can.
25087
25088         ftoastr: new module, for lossless conversion of floats to short strings
25089         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25090         * modules/ftoastr: New files.
25091
25092 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25093
25094         bootstrap: port to Solaris sed
25095         * build-aux/bootstrap (get_version): Port to Solaris sed.
25096         See Ralf Wildenhues's note in
25097         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25098
25099 2010-11-14  Jim Meyering  <meyering@redhat.com>
25100
25101         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25102         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25103         and move definition closer to sole use.
25104
25105 2010-11-13  Jim Meyering  <meyering@redhat.com>
25106
25107         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25108         Now we require at least autoconf-2.59, which means the work-around
25109         is no longer needed.
25110         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25111         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25112         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25113         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25114         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25115
25116 2010-11-13  Bruno Haible  <bruno@clisp.org>
25117
25118         rename, renameat: Avoid test failures at NFS mounted locations.
25119         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25120         functions.
25121         (test_rename): Use assert_nonexistent.
25122         * tests/test-rename.c: Include <dirent.h>.
25123         * tests/test-renameat.c: Likewise.
25124         Reported by Gary V. Vaughan <gary@gnu.org>.
25125
25126         rename, renameat: Document Linux bug with NFS
25127         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25128         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25129         * doc/posix-functions/renameat.texi: Likewise.
25130         Suggested by Eric Blake.
25131
25132 2010-11-13  Bruno Haible  <bruno@clisp.org>
25133
25134         rename test: Add comments.
25135         * tests/test-rename.h (test_rename): Add structure and comments.
25136
25137 2010-11-13  Eric Blake  <eblake@redhat.com>
25138
25139         maintainer-makefile: cover a few more files
25140         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25141         scripts generated within C files, for libvirt.
25142
25143 2010-11-13  Bruno Haible  <bruno@clisp.org>
25144
25145         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25146         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25147         character, return the number of bytes that belong together, not always
25148         1.
25149         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25150         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25151         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25152         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25153         number of bytes of an invalid character.
25154         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25155         (main): Invoke it.
25156         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25157         results.
25158         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25159         malformed byte sequences.
25160         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25161         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25162         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25163         Reported by Ben Pfaff and Paolo Bonzini.
25164
25165 2010-11-13  Bruno Haible  <bruno@clisp.org>
25166
25167         openat: Work around glibc bug with fchownat() and empty file names.
25168         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25169         (gl_FUNC_FCHOWNAT): Invoke it.
25170         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25171         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25172         Reported by Gary V. Vaughan <gary@gnu.org>.
25173
25174 2010-11-13  Bruno Haible  <bruno@clisp.org>
25175
25176         openat: Ensure autoconf macro ordering.
25177         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25178         gl_USE_SYSTEM_EXTENSIONS.
25179         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25180
25181 2010-11-13  Bruno Haible  <bruno@clisp.org>
25182
25183         Update comments.
25184         * lib/unistr/u8-check.c: Update file name in comments.
25185         * lib/unistr/u8-mblen.c: Likewise.
25186         * lib/unistr/u8-prev.c: Likewise.
25187         * lib/unistr/u8-strmblen.c: Likewise.
25188         * lib/unistr/u8-strmbtouc.c: Likewise.
25189
25190 2010-11-13  Jim Meyering  <meyering@redhat.com>
25191
25192         tests: avoid test failure on Solaris 10 due to lack of PATH export
25193         * tests/test-update-copyright.sh: Don't forget to export PATH.
25194
25195         init.sh: ensure that IFS is defined, just in case...
25196         * tests/init.sh (setup_): Ensure that IFS is defined,
25197         so that saving and restoring it works as expected.  This
25198         appears to be useful at least for an old version of dash
25199         from a long time ago (RH 6).  See here for details:
25200         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25201
25202         maint.mk: tighten "test a == b" check
25203         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25204         test to files that contain something like #!/bin/sh.
25205         Without this, coreutils would get two false positives in
25206         the comments of C source files.
25207
25208 2010-11-12  Eric Blake  <eblake@redhat.com>
25209
25210         bootstrap: fix typo in previous attempt
25211         * build-aux/bootstrap (buildreq): Correct the grouping.
25212         Reported by Paul Eggert.
25213
25214         maintainer-makefile: prohibit test x == x
25215         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25216         Based on a report by Matthias Bolte.
25217
25218         bootstrap: allow FreeBSD gzip
25219         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25220         which has no '.' and goes to stderr.
25221         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25222         Reported by Matthias Bolte.
25223
25224         maintainer-makefile: check for i18n setup
25225         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25226         will likely work.
25227
25228 2010-11-12  Bruno Haible  <bruno@clisp.org>
25229
25230         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25231         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25232         * lib/nanosleep.c (nanosleep): Likewise.
25233
25234 2010-11-11  Bruno Haible  <bruno@clisp.org>
25235
25236         fcntl-h: Fix for use of C++ on glibc systems.
25237         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25238         also on glibc systems in C++ mode.
25239         Reported by Gary V. Vaughan <gary@gnu.org>.
25240
25241 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25242
25243         mknod: avoid false failure with dash
25244         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
25245
25246 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
25247
25248         unlink: Fix "is it should" typo in diagnostic.
25249         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
25250         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
25251
25252 2010-11-11  Bruno Haible  <bruno@clisp.org>
25253
25254         Tests for module 'strerror_r-posix'.
25255         * modules/strerror_r-posix-tests: New file.
25256         * tests/test-strerror_r.c: New file.
25257         * tests/test-string-c++.cc: Check the signature of strerror_r.
25258
25259         New module 'strerror_r-posix'.
25260         * lib/string.in.h (strerror_r): New declaration.
25261         * lib/strerror_r.c: New file.
25262         * m4/strerror_r.m4: New file.
25263         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25264         of strerror_r.
25265         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25266         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25267         * modules/strerror_r-posix: New file.
25268         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25269         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25270         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25271         portability problems.
25272
25273 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25274
25275         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25276         line is also considered for output. Quoted function name in shell
25277         command, so temporary files for functions like MyClass::operator()
25278         are removed correctly without errors.
25279
25280 2010-11-09  Bruno Haible  <bruno@clisp.org>
25281
25282         * doc/posix-functions/strerror.texi: List more failing platforms.
25283
25284         * doc/posix-functions/strerror.texi: Add a comment.
25285
25286 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25287
25288         fdopendir: fix bug on MacOS X when low on file descriptors
25289
25290         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25291         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25292         All callers changed.
25293         (fdopendir): Invoke save_cwd at the top level, not after using
25294         multiple dup() calls to use up file descriptors.  Then retry
25295         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25296         less than the maximum number of open file descriptors, because
25297         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25298         on Mac OS X 10.6.4 for tar 1.24
25299         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25300         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25301         and for tar 1.25
25302         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25303
25304 2010-11-07  Bruno Haible  <bruno@clisp.org>
25305
25306         vasnprintf: Support I flag on glibc systems.
25307         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25308         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25309         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25310         snprintf function.
25311         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25312         glibc systems.
25313         * tests/test-vasnprintf-posix3.c: New file.
25314         * modules/vasnprintf-posix-tests (Files): Add it.
25315         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25316
25317 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25318
25319         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25320         * MODULES.html.sh: For compiler warnings, use name
25321         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25322
25323 2010-11-05  Eric Blake  <eblake@redhat.com>
25324
25325         ceil, floor: avoid spurious failure with icc
25326         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25327         [denormals-as-zero] when optimizing without -mieee-fp option.
25328         * tests/test-floorf2.c (floorf_reference): Likewise.
25329         * tests/test-ceilf1.c (dummy): New function.
25330         (main): Use it to outsmart icc's optimization.
25331         * tests/test-floorf1.c (dummy, main): Likewise.
25332
25333         tests: require working signbit
25334         * modules/ceilf-tests (Depends-on): Add signbit.
25335         * modules/ceill-tests (Depends-on): Likewise.
25336         * modules/floorf-tests (Depends-on): Likewise.
25337         * modules/floorl-tests (Depends-on): Likewise.
25338         * modules/round-tests (Depends-on): Likewise.
25339         * modules/roundf-tests (Depends-on): Likewise.
25340         * modules/roundl-tests (Depends-on): Likewise.
25341         * modules/trunc-tests (Depends-on): Likewise.
25342         * modules/truncf-tests (Depends-on): Likewise.
25343         * modules/truncl-tests (Depends-on): Likewise.
25344
25345         strtod: work around icc bug
25346         * lib/strtod.c (minus_zero): Define to working value.
25347         (strtod): Use it to avoid icc bug.
25348
25349         copysign: enhance tests
25350         * modules/copysign-tests (Files): Add minus-zero.h.
25351         * tests/test-copysign.c (main): Also test zeros.
25352
25353 2010-11-04  Eric Blake  <eblake@redhat.com>
25354
25355         ceil, floor, round, trunc: enhance tests of -0
25356         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25357         * tests/test-ceill.c (main): Likewise.
25358         * tests/test-floorf1.c (main): Likewise.
25359         * tests/test-floorl.c (main): Likewise.
25360         * tests/test-round1.c (main): Likewise.
25361         * tests/test-roundf1.c (main): Likewise.
25362         * tests/test-roundl.c (main): Likewise.
25363         * tests/test-trunc1.c (main): Likewise.
25364         * tests/test-truncf1.c (main): Likewise.
25365         * tests/test-truncl.c (main): Likewise.
25366
25367 2010-11-04  Eric Blake  <eblake@redhat.com>
25368
25369         frexp, tests: work around ICC bug with -zero
25370         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25371         works with more compilers.
25372         * tests/minus-zero.h: New file.
25373         * modules/ceilf-tests (Files): Include it.
25374         * modules/ceill-tests (Files): Likewise.
25375         * modules/floorf-tests (Files): Likewise.
25376         * modules/floorl-tests (Files): Likewise.
25377         * modules/frexp-nolibm-tests (Files): Likewise.
25378         * modules/frexp-tests (Files): Likewise.
25379         * modules/frexpl-nolibm-tests (Files): Likewise.
25380         * modules/frexpl-tests (Files): Likewise.
25381         * modules/isnan-tests (Files): Likewise.
25382         * modules/isnand-nolibm-tests (Files): Likewise.
25383         * modules/isnand-tests (Files): Likewise.
25384         * modules/isnanf-nolibm-tests (Files): Likewise.
25385         * modules/isnanf-tests (Files): Likewise.
25386         * modules/isnanl-nolibm-tests (Files): Likewise.
25387         * modules/isnanl-tests (Files): Likewise.
25388         * modules/round-tests (Files): Likewise.
25389         * modules/roundf-tests (Files): Likewise.
25390         * modules/roundl-tests (Files): Likewise.
25391         * modules/ldexpl-tests (Files): Likewise.
25392         * modules/signbit-tests (Files): Likewise.
25393         * modules/snprintf-posix-tests (Files): Likewise.
25394         * modules/sprintf-posix-tests (Files): Likewise.
25395         * modules/strtod-tests (Files): Likewise.
25396         * modules/trunc-tests (Files): Likewise.
25397         * modules/truncf-tests (Files): Likewise.
25398         * modules/truncl-tests (Files): Likewise.
25399         * modules/vsnprintf-posix-tests (Files): Likewise.
25400         * modules/vsprintf-posix-tests (Files): Likewise.
25401         * modules/vasnprintf-posix-tests (Files): Likewise.
25402         * modules/vasprintf-posix-tests (Files): Likewise.
25403         * tests/test-ceilf1.c (main): Use it.
25404         * tests/test-ceill.c (main): Likewise.
25405         * tests/test-floorf1.c (main): Likewise.
25406         * tests/test-floorl.c (main): Likewise.
25407         * tests/test-frexp.c (main): Likewise.
25408         * tests/test-frexpl.c (main): Likewise.
25409         * tests/test-isnan.c (main): Likewise.
25410         * tests/test-isnand.h (main): Likewise.
25411         * tests/test-isnanf.h (main): Likewise.
25412         * tests/test-isnanl.h (main): Likewise.
25413         * tests/test-ldexpl.c (main): Likewise.
25414         * tests/test-round.c (main): Likewise.
25415         * tests/test-roundf.c (main): Likewise.
25416         * tests/test-roundl.c (main): Likewise.
25417         * tests/test-signbit.c (test_signbitf, test_signbitd)
25418         (test_signbitl): Likewise.
25419         * tests/test-snprintf-posix.h (test_function): Likewise.
25420         * tests/test-sprintf-posix.h (test_function): Likewise.
25421         * tests/test-strtod.c (main): Likewise.
25422         * tests/test-trunc1.c (main): Likewise.
25423         * tests/test-truncf1.c (main): Likewise.
25424         * tests/test-truncl.c (main): Likewise.
25425
25426         isnanl: work around icc bug
25427         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25428
25429 2010-11-03  Eric Blake  <eblake@redhat.com>
25430
25431         tests: fix compiler warnings
25432         * tests/test-getopt.h (test_getopt): Fix condition.
25433         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25434         * tests/test-pipe2.c (main): Likewise.
25435         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25436
25437         utimens: fix broken m4 test
25438         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25439
25440 2010-10-28  Bruno Haible  <bruno@clisp.org>
25441
25442         posix_spawn*, getdtablesize: Relax license.
25443         * modules/posix_spawn (License): Change to LGPLv2+.
25444         * modules/posix_spawnp (License): Likewise.
25445         * modules/posix_spawn-internal (License): Likewise.
25446         * modules/posix_spawnattr_init (License): Likewise.
25447         * modules/posix_spawnattr_getflags (License): Likewise.
25448         * modules/posix_spawnattr_setflags (License): Likewise.
25449         * modules/posix_spawnattr_getpgroup (License): Likewise.
25450         * modules/posix_spawnattr_setpgroup (License): Likewise.
25451         * modules/posix_spawnattr_getschedparam (License): Likewise.
25452         * modules/posix_spawnattr_setschedparam (License): Likewise.
25453         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25454         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25455         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25456         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25457         * modules/posix_spawnattr_getsigmask (License): Likewise.
25458         * modules/posix_spawnattr_setsigmask (License): Likewise.
25459         * modules/posix_spawnattr_destroy (License): Likewise.
25460         * modules/posix_spawn_file_actions_init (License): Likewise.
25461         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25462         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25463         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25464         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25465         * modules/getdtablesize (License): Likewise.
25466         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25467
25468 2010-10-26  Bruno Haible  <bruno@clisp.org>
25469
25470         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25471         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25472         Cygwin and mingw.
25473         Suggested by Eric Blake.
25474
25475 2010-10-26  Bruno Haible  <bruno@clisp.org>
25476
25477         stdio: Work around compilation error due to renameat() on Solaris 10.
25478         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25479         * lib/renameat.c: Don't include <unistd.h> here.
25480         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25481         Reported by Paul Eggert and Eric Blake.
25482
25483 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25484
25485         renameat: port to Solaris 10, which declares renameat in unistd.h
25486
25487         * lib/renameat.c: Include unistd.h before stdio.h, because
25488         Solaris 10 declares renameat in unistd.h.  Problem encountered
25489         when building GNU tar 1.24 on Solaris 10.
25490
25491 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25492
25493         fdopendir: fix C89 compilation
25494         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25495         compilers.
25496
25497 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25498
25499         inttostr: simplify by removing unnecessary redundancy
25500         * lib/anytostr.c: Don't include verify.h.
25501         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25502         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25503         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25504         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25505         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25506         Likewise.
25507         * modules/inttostr (Depends-on): Remove 'verify'.
25508
25509 2010-10-23  Bruno Haible  <bruno@clisp.org>
25510
25511         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25512         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25513         Reported by Eric Blake.
25514
25515 2010-10-23  Bruno Haible  <bruno@clisp.org>
25516
25517         Tests: Fix LOCALE_JA on MirBSD 10.
25518         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25519         to an UTF-8 locale.
25520         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25521         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25522         Reported by Eric Blake.
25523
25524 2010-10-21  Bruno Haible  <bruno@clisp.org>
25525
25526         nl_langinfo test: Avoid test failure on NetBSD 5.
25527         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25528         Reported by Eric Blake.
25529
25530 2010-10-21  Eric Blake  <eblake@redhat.com>
25531
25532         c-stack: work around libsigsegv 2.8 bug
25533         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25534         overflow on at least PowerPC64.
25535
25536 2010-10-17  Bruno Haible  <bruno@clisp.org>
25537
25538         userspec: Drop redundant file.
25539         * modules/userspec (Files): Remove lib/inttostr.h.
25540
25541 2010-10-17  Bruno Haible  <bruno@clisp.org>
25542
25543         nl_langinfo tests: Silence some warnings.
25544         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25545         Reported by Jim Meyering.
25546
25547 2010-10-17  Bruno Haible  <bruno@clisp.org>
25548
25549         Make use of GCC's attribute __alloc_size__.
25550         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25551         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25552         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25553         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25554         __alloc_size__.
25555         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25556         Suggested by Jim Meyering.
25557
25558 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25559
25560         bootstrap: anchor .gitignore entries.
25561         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25562         with...
25563         (insert_vc_ignore): ... this new function, which prepends `/' to
25564         all .gitignore entries before passing them to
25565         insert_sorted_if_absent.
25566
25567 2010-10-16  Bruno Haible  <bruno@clisp.org>
25568
25569         nextafter: Fix configure check.
25570         * modules/nextafter (configure.ac): Correct expected prototype.
25571
25572 2010-10-16  Bruno Haible  <bruno@clisp.org>
25573
25574         termios: Update documentation.
25575         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
25576
25577 2010-10-16  Bruno Haible  <bruno@clisp.org>
25578
25579         tests: Make them compile with TinyCC.
25580         * tests/test-strstr.c (main): Remove parentheses around array
25581         initializer.
25582
25583 2010-10-15  Eric Blake  <eblake@redhat.com>
25584
25585         ignore-value: make header idempotent
25586         * lib/ignore-value.h: Add double-inclusion guards.
25587         Reported by Stefan Berger.
25588
25589 2010-10-15  Jim Meyering  <meyering@redhat.com>
25590
25591         GNUmakefile: handle "stable" target, not "major"
25592         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
25593         lists in maint.mk and announce-gen.  Without this, "make stable"
25594         would fail to ensure that $(VERSION) is up to date.
25595
25596 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
25597
25598         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
25599         & co.
25600
25601 2010-10-14  Bruno Haible  <bruno@clisp.org>
25602
25603         vasnprintf: Don't set errno to 0.
25604         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
25605         block that sets it to 0.
25606         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
25607
25608 2010-10-14  Bruno Haible  <bruno@clisp.org>
25609
25610         socketlib: Fix.
25611         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
25612         gl_PREREQ_SYS_H_WINSOCK2.
25613         Reported by Ian Beckwith <ianb@erislabs.net>.
25614
25615 2010-10-13  Jim Meyering  <meyering@redhat.com>
25616
25617         test-select-stdin.c: avoid warn_unused_result warnings
25618         * tests/test-select-stdin.c: Include "macros.h".
25619         ASSERT that read and fflush succeed.
25620
25621 2010-10-13  Jim Meyering  <meyering@redhat.com>
25622
25623         git-version-gen: do require git-VC'd files in cwd
25624         * build-aux/git-version-gen: Reject a git version string
25625         if there are no commits associated with the current directory.
25626         This avoids an unlikely false-positive (unrelated dir whose parent
25627         repository also contains a tag matching v*), as pointed out
25628         by Giuseppe Scrivano in
25629         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
25630
25631 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
25632
25633         argv-iter: omit nonconforming declaration
25634         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
25635         enum arg_iter_err declaration, which doesn't conform to C99.
25636         Solaris 10 cc warns about this.
25637
25638 2010-10-13  Eric Blake  <eblake@redhat.com>
25639
25640         termios: fix compilation on mingw
25641         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
25642         (gl_TERMIOS_H): Adjust it on mingw.
25643         * modules/termios (Makefile.am): Substitute new key.
25644         * lib/termios.in.h (includes): Make include_next conditional.
25645         * doc/posix-headers/termios.texi (termios.h): Update
25646         documentation.
25647         Reported by Daniel P. Berrange.
25648
25649 2010-10-13  Jim Meyering  <meyering@redhat.com>
25650
25651         git-version-gen: don't require that .git/ be in the current dir
25652         * build-aux/git-version-gen: Adjust this script so that it works
25653         when run from any working directory beneath the top-level .git/-
25654         containing directory.  Inspired by a patch from Giuseppe Scrivano,
25655         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
25656
25657         test-select: avoid warn_unused_result warnings
25658         * tests/test-select.c: Include "macros.h".
25659         ASSERT that each call to read, write, and pipe succeeds.
25660         While not technically required, also check each "close".
25661         * modules/select-tests (Files): Add tests/macros.h.
25662
25663         test-symlinkat: remove declaration of unused local
25664         * tests/test-symlinkat.c (main): Remove unused local, "buf".
25665
25666         test-inttostr: avoid shadowing warnings
25667         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
25668         and use malloc rather than the stack for the same reason as
25669         mentioned in the comment justifying the other allocation.
25670
25671 2010-10-11  Bruno Haible  <bruno@clisp.org>
25672
25673         stdlib: Allow multiple gnulib generated replacements to coexist.
25674         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
25675         Reported by Sam Steingold <sds@gnu.org>.
25676
25677 2010-10-11  Jim Meyering  <meyering@redhat.com>
25678
25679         fix a documentation typo
25680         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
25681
25682 2010-10-11  Eric Blake  <eblake@redhat.com>
25683
25684         futimens: work around Solaris 11 bug
25685         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
25686         * tests/test-futimens.h (test_futimens): Enhance, rather than
25687         weaken test.
25688         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25689
25690 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25691
25692         Indentation.
25693         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
25694         higher-level operators more to the left.
25695
25696 2010-10-11  Jim Meyering  <meyering@redhat.com>
25697
25698         test-futimens: avoid unwarranted test failure on Solaris 5.11
25699         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
25700         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
25701         because it tries to dereference the NULL name argument.
25702
25703 2010-10-11  Bruno Haible  <bruno@clisp.org>
25704
25705         Indentation.
25706         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
25707         indentation.
25708
25709 2010-10-11  Jim Meyering  <meyering@redhat.com>
25710
25711         spawn.in.h: make indentation consistent with parentheses
25712         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
25713         Make indentation consistent with parentheses.
25714
25715 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
25716
25717         Fix mismatched parens in previous commit
25718         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
25719         parens.
25720
25721 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
25722
25723         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
25724
25725         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
25726         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
25727         * lib/malloca.c: Include "verify.h".
25728         (verify1): Remove, replacing with a verify call.
25729         * lib/relocwrapper.c (verify1): Likewise.
25730         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
25731         Likewise.
25732         * modules/malloca (Depends-on): Add 'verify'.
25733         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
25734         * modules/vasnprintf (Depends-on): Add 'verify'.
25735         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25736         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25737         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25738         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25739         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25740         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25741         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25742
25743         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
25744
25745         Formerly the style was sometimes 2*X - 1, because the C standard
25746         was wrongly thought to disallow ?: in integral constant expressions.
25747         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
25748         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
25749         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25750         * lib/stdint.in.h (_verify_intmax_size): Likewise.
25751         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
25752         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
25753         verify that time_t cannot be floating.
25754
25755 2010-10-08  Eric Blake  <eblake@redhat.com>
25756
25757         time: enforce recent POSIX ruling that time_t is integral
25758         * lib/time.in.h (__time_t_must_be_integral): Detect any
25759         problematic systems, allowing the rest of gnulib to assume POSIX.
25760
25761 2010-10-08  Jim Meyering  <meyering@redhat.com>
25762
25763         fdopendir: fix a bug on systems lacking openat and /proc support
25764         OpenBSD 4.7 is one such system.  The most noticeable effect was
25765         failure of any application making nontrivial use of fts: rm, du,
25766         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25767           ./rm: traversal failed: `a': Bad file descriptor
25768         Debugging that, you see that even though FD 6 was closed just
25769         prior to the opendir call in fd_clone_opendir, its resulting
25770         dir->dd_fd was 8, rather than the expected value of 6:
25771
25772         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25773         93                close (fd);
25774         (gdb) n
25775         94                dir = fd_clone_opendir (dupfd);
25776         (gdb) n
25777         95                saved_errno = errno;
25778         (gdb) p dir->dd_fd
25779         $11 = 8
25780
25781         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25782         The problem is that on OpenBSD, fd_clone_opendir has to resort
25783         to using the old-style save/restore CWD mechanism, due to its
25784         lack of openat/proc support, and *that* would steal the FD (6)
25785         that opendir was supposed to use.
25786
25787         The fix is to squirrel away the desired FD so that save_cwd uses a
25788         different one, and then free the dest FD right before calling opendir.
25789         That guarantees opendir will use the required file descriptor.
25790
25791         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25792
25793 2010-10-08  Bruno Haible  <bruno@clisp.org>
25794
25795         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25796         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25797
25798 2010-10-08  Bruno Haible  <bruno@clisp.org>
25799
25800         nanosleep: Make replacement POSIX compliant.
25801         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25802         is out of range.
25803         Reported by Jim Meyering.
25804
25805 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25806
25807         bootstrap: add hook for altering gnulib.mk, for Bison
25808         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25809         the Bison bootstrapping process can rewrite file names and variables
25810         in this file before later parts of 'bootstrap' use the file.
25811         Bison wants to include lib/gnulib.mk from the top-level makefile,
25812         so it needs the file names in this file to be relative to the top
25813         level, not relative to lib; plus it needs variable names to be
25814         rewritten.
25815         (slurp): Use the new function.
25816
25817         bootstrap: reformat for readability
25818         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25819
25820 2010-10-08  Eric Blake  <eblake@redhat.com>
25821
25822         docs: update cygwin progress
25823         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25824         1.7.7.
25825         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25826         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25827         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25828         * doc/posix-functions/carg.texi (carg): Likewise.
25829         * doc/posix-functions/cargf.texi (cargf): Likewise.
25830         * doc/posix-functions/casin.texi (casin): Likewise.
25831         * doc/posix-functions/casinf.texi (casinf): Likewise.
25832         * doc/posix-functions/casinh.texi (casinh): Likewise.
25833         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25834         * doc/posix-functions/catan.texi (catan): Likewise.
25835         * doc/posix-functions/catanf.texi (catanf): Likewise.
25836         * doc/posix-functions/catanh.texi (catanh): Likewise.
25837         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25838         * doc/posix-functions/ccos.texi (ccos): Likewise.
25839         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25840         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25841         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25842         * doc/posix-functions/cexp.texi (cexp): Likewise.
25843         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25844         * doc/posix-functions/cimag.texi (cimag): Likewise.
25845         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25846         * doc/posix-functions/clog.texi (clog): Likewise.
25847         * doc/posix-functions/clogf.texi (clogf): Likewise.
25848         * doc/posix-functions/conj.texi (conj): Likewise.
25849         * doc/posix-functions/conjf.texi (conjf): Likewise.
25850         * doc/posix-functions/cpow.texi (cpow): Likewise.
25851         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25852         * doc/posix-functions/cproj.texi (cproj): Likewise.
25853         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25854         * doc/posix-functions/creal.texi (creal): Likewise.
25855         * doc/posix-functions/crealf.texi (crealf): Likewise.
25856         * doc/posix-functions/csin.texi (csin): Likewise.
25857         * doc/posix-functions/csinf.texi (csinf): Likewise.
25858         * doc/posix-functions/csinh.texi (csinh): Likewise.
25859         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25860         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25861         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25862         * doc/posix-functions/ctan.texi (ctan): Likewise.
25863         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25864         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25865         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25866         * doc/posix-headers/complex.texi (complex.h): Likewise.
25867
25868 2010-10-07  Jim Meyering  <meyering@redhat.com>
25869
25870         parse-datetime: avoid compilation failure on OpenBSD 4.7
25871         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25872         This works around a compilation failure on OpenBSD 4.7:
25873         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25874
25875 2010-10-07  Eric Blake  <eblake@redhat.com>
25876
25877         docs: update cygwin progress
25878         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25879         1.7.6.
25880         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25881         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25882         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25883         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25884         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25885         Likewise.
25886         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25887         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25888         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25889         Likewise.
25890         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25891         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25892         Likewise.
25893         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25894         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25895         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25896         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25897         Likewise.
25898         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25899         Likewise.
25900         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25901
25902         docs: update parse-datetime history
25903         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25904         documentation of this function's history and alternatives.
25905
25906         cygwin: use more robust version check
25907         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25908         exclude an eventual cygwin 1.9.1.
25909         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25910         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25911         (gl_FUNC_STRCASESTR): Likewise.
25912         Reported by Bruno Haible.
25913
25914 2010-10-06  Bruno Haible  <bruno@clisp.org>
25915
25916         string, sys_select: Avoid #including large headers unless necessary.
25917         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25918         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25919         OSF/1, BeOS, Haiku.
25920         Reported by Jim Meyering.
25921
25922 2010-10-05  Eric Blake  <eblake@redhat.com>
25923
25924         memmem, strstr, strcasestr: fix bug with long periodic needle
25925         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25926         periodic needle having false positive.
25927         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25928         and cygwin 1.7.7.
25929         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25930         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25931         (gl_FUNC_STRCASESTR): Likewise.
25932         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25933         * tests/test-memmem.c (main): Expose the bug.
25934         * tests/test-strcasestr.c (main): Likewise.
25935         * tests/test-strstr.c (main): Likewise.
25936         * tests/test-c-strcasestr.c (main): Likewise.
25937         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25938         * doc/posix-functions/strstr.texi (strstr): Likewise.
25939         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25940         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25941
25942 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25943
25944         parse-datetime: do some more renaming
25945         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25946         parse_datetime, not get_date.  Mention the renaming.
25947         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25948         in comments.
25949         * m4/bison.m4: Likewise.
25950
25951 2010-10-05  Eric Blake  <eblake@redhat.com>
25952
25953         parse-datetime: better name than get_date
25954         * NEWS: Reword the deprecation notice.
25955         * modules/get_date: Rename to modules/parse-datetime.
25956         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25957         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25958         * lib/get_date.y: Rename to lib/parse-datetime.y.
25959         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25960         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25961         * doc/getdate.texi: Provide fallback wrapper.
25962         * lib/getdate.h: Move guts, and wrap...
25963         * lib/parse-datetime.h: ...new file.
25964         * lib/parse-datetime.y (get_date): Rename...
25965         (parse_datetime): ...to this.
25966         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25967         (gl_PARSE_DATETIME): ...to this.
25968         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25969         documentation.
25970         * modules/getdate (Files): Provide fallback docs and header.
25971         (Notice, Depends-on): Update references.
25972         * tests/test-parse-datetime.c: Likewise.
25973         * DEPENDENCIES: Likewise.
25974         * MODULES.html.sh (Date and time <time.h>): Likewise.
25975         * doc/parse-datetime.texi (Date input formats)
25976         (Authors of parse_datetime): Likewise.
25977         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25978         (Include): Likewise.
25979         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25980         * gnulib-tool: Likewise.
25981         * m4/bison.m4 (gl_BISON): Likewise.
25982         Suggested by Bruno Haible.
25983
25984 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25985
25986         more ports to Solaris tr, which needs [] around ranges
25987         * gnulib-tool: Solaris tr needs [] around ranges.
25988         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25989         * tests/test-pipe-filter-gi1.c (main): Likewise.
25990         * tests/test-pipe-filter-ii1.c (main): Likewise.
25991
25992 2010-10-05  Eric Blake  <eblake@redhat.com>
25993
25994         bootstrap: fix Solaris regression
25995         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25996         around ranges.
25997         Reported by Pádraig Brady.
25998
25999         bootstrap: work with pkg-config
26000         * build-aux/bootstrap (check_versions): Also transliterate - in
26001         prerequisite name.
26002         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26003         prerequisites that were already found, to avoid confusion.
26004         Reported by Justin Clift.
26005
26006         faccessat: remove unused wrappers
26007         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26008         presence of these wrappers dragged in -lgen on Solaris.
26009         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26010
26011 2010-10-05  Jim Meyering  <meyering@redhat.com>
26012
26013         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26014         * Makefile (sc_pragma_columns): New syntax-check rule.
26015
26016 2010-10-04  Bruno Haible  <bruno@clisp.org>
26017
26018         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26019         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26020         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26021         Reported by Bruce Korb and Eric Blake.
26022
26023 2010-10-04  Bruno Haible  <bruno@clisp.org>
26024
26025         threadlib: Make option --with-libpth-prefix work.
26026         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26027         use $LIBPTH, not just -lpth.
26028
26029 2010-10-04  Bruno Haible  <bruno@clisp.org>
26030
26031         Avoid line length limitation from HP NonStop system header files.
26032         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26033         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26034         * lib/ctype.in.h: Likewise.
26035         * lib/dirent.in.h: Likewise.
26036         * lib/errno.in.h: Likewise.
26037         * lib/fcntl.in.h: Likewise.
26038         * lib/float.in.h: Likewise.
26039         * lib/getopt.in.h: Likewise.
26040         * lib/iconv.in.h: Likewise.
26041         * lib/inttypes.in.h: Likewise.
26042         * lib/langinfo.in.h: Likewise.
26043         * lib/locale.in.h: Likewise.
26044         * lib/math.in.h: Likewise.
26045         * lib/netdb.in.h: Likewise.
26046         * lib/netinet_in.in.h: Likewise.
26047         * lib/poll.in.h: Likewise.
26048         * lib/pthread.in.h: Likewise.
26049         * lib/pty.in.h: Likewise.
26050         * lib/sched.in.h: Likewise.
26051         * lib/se-selinux.in.h: Likewise.
26052         * lib/search.in.h: Likewise.
26053         * lib/signal.in.h: Likewise.
26054         * lib/spawn.in.h: Likewise.
26055         * lib/stdarg.in.h: Likewise.
26056         * lib/stddef.in.h: Likewise.
26057         * lib/stdint.in.h: Likewise.
26058         * lib/stdio.in.h: Likewise.
26059         * lib/stdlib.in.h: Likewise.
26060         * lib/string.in.h: Likewise.
26061         * lib/strings.in.h: Likewise.
26062         * lib/sys_file.in.h: Likewise.
26063         * lib/sys_ioctl.in.h: Likewise.
26064         * lib/sys_select.in.h: Likewise.
26065         * lib/sys_socket.in.h: Likewise.
26066         * lib/sys_stat.in.h: Likewise.
26067         * lib/sys_time.in.h: Likewise.
26068         * lib/sys_times.in.h: Likewise.
26069         * lib/sys_utsname.in.h: Likewise.
26070         * lib/sys_wait.in.h: Likewise.
26071         * lib/sysexits.in.h: Likewise.
26072         * lib/termios.in.h: Likewise.
26073         * lib/time.in.h: Likewise.
26074         * lib/unistd.in.h: Likewise.
26075         * lib/wchar.in.h: Likewise.
26076         * lib/wctype.in.h: Likewise.
26077         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26078         * modules/ctype (Makefile.am): Likewise.
26079         * modules/dirent (Makefile.am): Likewise.
26080         * modules/errno (Makefile.am): Likewise.
26081         * modules/fcntl-h (Makefile.am): Likewise.
26082         * modules/float (Makefile.am): Likewise.
26083         * modules/getopt-posix (Makefile.am): Likewise.
26084         * modules/iconv-h (Makefile.am): Likewise.
26085         * modules/inttypes (Makefile.am): Likewise.
26086         * modules/langinfo (Makefile.am): Likewise.
26087         * modules/locale (Makefile.am): Likewise.
26088         * modules/math (Makefile.am): Likewise.
26089         * modules/netdb (Makefile.am): Likewise.
26090         * modules/netinet_in (Makefile.am): Likewise.
26091         * modules/poll-h (Makefile.am): Likewise.
26092         * modules/pthread (Makefile.am): Likewise.
26093         * modules/pty (Makefile.am): Likewise.
26094         * modules/sched (Makefile.am): Likewise.
26095         * modules/search (Makefile.am): Likewise.
26096         * modules/selinux-h (Makefile.am): Likewise.
26097         * modules/signal (Makefile.am): Likewise.
26098         * modules/spawn (Makefile.am): Likewise.
26099         * modules/stdarg (Makefile.am): Likewise.
26100         * modules/stddef (Makefile.am): Likewise.
26101         * modules/stdint (Makefile.am): Likewise.
26102         * modules/stdio (Makefile.am): Likewise.
26103         * modules/stdlib (Makefile.am): Likewise.
26104         * modules/string (Makefile.am): Likewise.
26105         * modules/strings (Makefile.am): Likewise.
26106         * modules/sys_file (Makefile.am): Likewise.
26107         * modules/sys_ioctl (Makefile.am): Likewise.
26108         * modules/sys_select (Makefile.am): Likewise.
26109         * modules/sys_socket (Makefile.am): Likewise.
26110         * modules/sys_stat (Makefile.am): Likewise.
26111         * modules/sys_time (Makefile.am): Likewise.
26112         * modules/sys_times (Makefile.am): Likewise.
26113         * modules/sys_utsname (Makefile.am): Likewise.
26114         * modules/sys_wait (Makefile.am): Likewise.
26115         * modules/sysexits (Makefile.am): Likewise.
26116         * modules/termios (Makefile.am): Likewise.
26117         * modules/time (Makefile.am): Likewise.
26118         * modules/unistd (Makefile.am): Likewise.
26119         * modules/wchar (Makefile.am): Likewise.
26120         * modules/wctype (Makefile.am): Likewise.
26121
26122 2010-10-04  Bruno Haible  <bruno@clisp.org>
26123
26124         read-file tests: Avoid a test failure on NonStop Kernel.
26125         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26126         a regular file.
26127         Reported by Joachim Schmitz <schmitz@hp.com>.
26128
26129 2010-10-03  Bruno Haible  <bruno@clisp.org>
26130
26131         gnulib-tool: Fixes for --create-testdir with --libtool.
26132         * gnulib-tool (func_get_automake_snippet): Don't augment
26133         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26134         an executable.
26135         (func_create_testdir): Handle module 'alloca' like func_import.
26136         Reported by Bruce Korb <bruce.korb@gmail.com>.
26137
26138 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26139
26140         Avoid some lines longer than 80 characters.
26141         * lib/stdint.in.h: Break long comment lines.
26142         * lib/math.in.h: Likewise.
26143         (_GL_NUM_UINT_WORDS): New macro, for readability.
26144         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26145         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26146         * lib/stdlib.in.h: Likewise.
26147         * lib/spawn.in.h: Likewise.
26148         * lib/sys_socket.in.h: Update an URL.
26149         * lib/sys_stat.in.h: Break long line.
26150
26151 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26152
26153         Improve pmccabe2html.
26154         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26155         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26156         when the sources change. Remove the line in the HTML about "Used
26157         ranges" (which implied that there might be other unused ranges),
26158         rename "Resume" to "Summary" (easier to understand for more users).
26159         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26160         styles, and some unnecessary blank lines.
26161
26162 2010-10-03  Bruno Haible  <bruno@clisp.org>
26163             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26164
26165         acl: Add support for ACLs on NonStop Kernel.
26166         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26167         Check whether the function aclsort() exists.
26168         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26169         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26170         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26171         (acl_nontrivial [HAVE_ACLSORT]: New function.
26172         (file_has_acl): Implement for NonStop Kernel.
26173         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26174         (qset_acl): Implement for NonStop Kernel.
26175         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26176         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26177         (main): Implement for NonStop Kernel.
26178         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26179         Kernel. Handle this flavor.
26180         * tests/test-set-mode-acl.sh: Likewise.
26181         * tests/test-copy-acl.sh: Likewise.
26182         * tests/test-copy-file.sh: Likewise.
26183
26184 2010-10-03  Bruno Haible  <bruno@clisp.org>
26185
26186         Info about ACLs on NonStop Kernel.
26187         * doc/acl-resources.txt: Add info about NonStop Kernel.
26188         References by Joachim Schmitz <schmitz@hp.com>.
26189
26190 2010-10-02  Bruno Haible  <bruno@clisp.org>
26191
26192         Define missing EDQUOT on NonStop Kernel.
26193         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26194         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26195         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26196         missing.
26197         * doc/posix-headers/errno.texi: Mention the NSK bug.
26198         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26199         Reported by Joachim Schmitz <schmitz@hp.com>.
26200
26201 2010-10-02  Bruno Haible  <bruno@clisp.org>
26202
26203         Update doc for POSIX:2008.
26204         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26205         Update URL of POSIX specification.
26206
26207 2010-10-02  Bruno Haible  <bruno@clisp.org>
26208
26209         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26210         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26211         from gnulib, not from Automake.
26212
26213 2010-10-02  Bruno Haible  <bruno@clisp.org>
26214
26215         New module 'system-posix'.
26216         * modules/system-posix: New file.
26217         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26218         module is present.
26219         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26220         GNULIB_SYSTEM_POSIX.
26221         * modules/stdlib (Depends-on): Remove sys_wait.
26222         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26223         * doc/posix-functions/system.texi: Mention the new module.
26224         * doc/posix-headers/stdlib.texi: Likewise.
26225         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26226         define test_sys_wait_macros to a no-op.
26227         Reported by Sam Steingold <sds@gnu.org>.
26228
26229 2010-09-30  Bruno Haible  <bruno@clisp.org>
26230
26231         More renaming from 'getdate' to 'get_date'.
26232         * doc/get_date.texi: Renamed from doc/getdate.texi.
26233         * modules/get_date (Files): Update.
26234         * MODULES.html.sh (Date and time <time.h>): Update.
26235         * DEPENDENCIES: Update.
26236         * gnulib-tool: Update comment.
26237         * m4/bison.m4 (gl_BISON): Likewise.
26238         * m4/get_date.m4 (gl_GET_DATE): Likewise.
26239
26240 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
26241
26242         bootstrap: support ACLOCAL_FLAGS during aclocal
26243         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
26244         can add additional -I dir for third-party .m4 files.
26245
26246 2010-09-30  Eric Blake  <eblake@redhat.com>
26247
26248         bootstrap: use glibtoolize on MacOS
26249         * build-aux/bootstrap (check_versions): Convert libtool into
26250         libtoolize.
26251         (tool search): Move libtool check earlier, and look for
26252         glibtoolize for MacOS.
26253         (gnulib_tool_options): Auto-add --libtool when appropriate.
26254         Reported by Justin Clift.
26255
26256         poll: fix typo that broke test on MacOS
26257         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26258         Reported by Justin Clift.
26259
26260         getdate: rename to get_date
26261         Note: getdate.h is not renamed, to minimize client impact.
26262         * modules/getdate: Mark obsolete.  Move old contents...
26263         * modules/get_date: ...to new module name.
26264         * modules/getdate-tests: Move...
26265         * modules/get_date-tests: ...here.
26266         * m4/getdate.m4: Move...
26267         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26268         * lib/getdate.y: Move...
26269         * lib/get_date.y: ...here.
26270         * tests/test-getdate.c: Move...
26271         * tests/test-get_date.c: ...here.
26272         * doc/posix-functions/getdate.texi (getdate): Update name.
26273         * NEWS: Mention the change.
26274
26275 2010-09-29  Bruno Haible  <bruno@clisp.org>
26276
26277         Separate the module 'waitpid' from the module 'sys_wait'.
26278         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26279         present.
26280         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26281         gl_MODULE_INDICATOR_FOR_TESTS.
26282         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26283         * modules/sys_wait (Depends-on): Remove waitpid.
26284         (Makefile.am): Substitute GNULIB_WAITPID.
26285         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26286         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26287         signature only if the 'waitpid' module is present.
26288         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26289         * NEWS: Mention the change.
26290         * modules/grantpt (Depends-on): Add waitpid.
26291         * modules/wait-process (Depends-on): Likewise.
26292
26293 2010-09-29  Bruno Haible  <bruno@clisp.org>
26294
26295         More tests for module 'sys_wait'.
26296         * modules/sys_wait-c++-tests: New file.
26297         * tests/test-sys_wait-c++.cc: New file.
26298         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26299         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26300
26301 2010-09-29  Bruno Haible  <bruno@clisp.org>
26302
26303         New module 'waitpid'.
26304         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26305         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26306         Don't include <process.h>.
26307         (waitpid): Declare only, using modern idiom.
26308         * m4/waitpid.m4: New file.
26309         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26310         * modules/waitpid: New file.
26311         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26312         (Makefile.am): Update.
26313         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26314
26315 2010-09-28  Bruno Haible  <bruno@clisp.org>
26316
26317         poll: Assume ANSI C.
26318         * lib/poll.c (poll): Use an ANSI C declaration.
26319
26320 2010-09-28  Bruno Haible  <bruno@clisp.org>
26321
26322         poll-h: Create poll.h on all platforms.
26323         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26324         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26325         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26326         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26327         (gl_REPLACE_POLL_H): Don't set POLL_H.
26328         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26329         * modules/poll-h (Depends-on): Add include_next.
26330         (Makefile.am): Create poll.h unconditionally. Substitute also
26331         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26332
26333 2010-09-28  Bruno Haible  <bruno@clisp.org>
26334
26335         Tests for module 'poll-h'.
26336         * modules/poll-h-c++-tests: New file.
26337         * tests/test-poll-h-c++.cc: New file.
26338
26339         Tests for module 'poll-h'.
26340         * modules/poll-h-tests: New file.
26341         * tests/test-poll-h.c: New file.
26342
26343 2010-09-28  Bruno Haible  <bruno@clisp.org>
26344
26345         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26346         * modules/poll-h (Depends-on): Add 'extensions'.
26347
26348 2010-09-28  Bruno Haible  <bruno@clisp.org>
26349
26350         New module 'poll-h'.
26351         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26352         (poll): Use modern idiom.
26353         * modules/poll-h: New file.
26354         * modules/poll (Files): Remove lib/poll.in.h.
26355         (Depends-on): Add poll-h.
26356         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26357         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26358         * m4/poll_h.m4: New file.
26359         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26360         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26361         and invoke gl_REPLACE_POLL_H.
26362         * lib/poll.c: Use common idiom.
26363         * tests/test-poll.c: Likewise.
26364         * doc/posix-headers/poll.texi: Mention the poll-h module.
26365         Suggested by Eric Blake.
26366
26367 2010-09-26  Bruno Haible  <bruno@clisp.org>
26368
26369         sys_wait: Implement WSTOPSIG.
26370         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26371         Reported by Simon Josefsson.
26372
26373 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26374
26375         stdlib, sys_wait: Avoid compilation error on mingw.
26376         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26377
26378 2010-09-26  Bruno Haible  <bruno@clisp.org>
26379
26380         stdlib tests: Avoid code duplication.
26381         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26382         * modules/sys_wait-tests (Files): Likewise.
26383         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26384         * tests/test-stdlib.c: Include test-sys_wait.h.
26385         (main): Invoke test_sys_wait_macros.
26386         * tests/test-sys_wait.c: Include test-sys_wait.h.
26387         (main): Invoke test_sys_wait_macros.
26388
26389 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26390
26391         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26392         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26393         sure Windows sockets are working before calling getaddrinfo.
26394         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26395         * doc/gnulib.texi (Windows sockets): Fix typo.
26396
26397 2010-09-25  Bruno Haible  <bruno@clisp.org>
26398
26399         Tests for module 'regex-quote'.
26400         * modules/regex-quote-tests: New file.
26401         * tests/test-regex-quote.c: New file.
26402
26403         New module 'regex-quote'.
26404         * lib/regex-quote.h: New file.
26405         * lib/regex-quote.c: New file.
26406         * modules/regex-quote: New file.
26407         Suggested by Reuben Thomas <rrt@sc3d.org>.
26408
26409 2010-09-24  Bruno Haible  <bruno@clisp.org>
26410
26411         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26412         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26413
26414 2010-09-23  Bruno Haible  <bruno@clisp.org>
26415
26416         setenv: Relax license.
26417         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26418         Blake.
26419         Requested by Eric Blake.
26420
26421 2010-09-22  Bruno Haible  <bruno@clisp.org>
26422
26423         termios: Relax license.
26424         * modules/termios (License): Change to LGPLv2+.
26425         Requested by Eric Blake.
26426
26427 2010-09-22  Bruno Haible  <bruno@clisp.org>
26428
26429         threadlib: Allow the package to change the default to 'no'.
26430         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26431         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26432         Reported by Paul Eggert.
26433
26434 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26435             Bruno Haible  <bruno@clisp.org>
26436
26437         Fix endless loop in mbmemcasecoll.
26438         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26439         byte.
26440         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26441
26442 2010-09-22  Bruno Haible  <bruno@clisp.org>
26443
26444         Tests for module 'memcoll'.
26445         * modules/memcoll-tests: New file.
26446         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26447
26448         memcoll, xmemcoll: Clarify size vs. length.
26449         * modules/memcoll.c (memcoll0): Clarify specification.
26450         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26451         passed to collate_error.
26452
26453 2010-09-22  Bruno Haible  <bruno@clisp.org>
26454
26455         Tests for module 'memcasecmp'.
26456         * modules/memcasecmp-tests: New file.
26457         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26458
26459 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26460
26461         * lib/pthread.in.h: Add split double-inclusion guard, and include
26462         system <pthread.h> if there is one.  Use @@-style as in other
26463         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26464         pthread.h doesn't.
26465         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26466         (pthread_mutexattr_settype, pthread_mutex_trylock):
26467         New static inline functions, if there's no system <pthread.h>.
26468         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26469         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26470         Approximate with mutexes if the system lacks spinlocks, as in
26471         MacOS.
26472         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26473         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26474         @@-style.  Check for spinlocks separately.
26475         (gl_PTHREAD_DEFAULTS): New macro.
26476         * modules/pthread: Redo to use a more typical style for in.h files.
26477
26478 2010-09-21  Eric Blake  <eblake@redhat.com>
26479
26480         net_if: enhance tests
26481         * tests/test-net_if.c (main): Move signature checks earlier.
26482         Print failures to stderr.
26483         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26484         Document the bug that we do not yet fix.
26485
26486 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26487
26488         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26489         about gnulib, not GSS.
26490
26491 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26492
26493         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26494         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26495         for Emacs.
26496         * build-aux/pmccabe2html: Make Makefile.am example code more
26497         cut-and-paste friendly.
26498
26499 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26500
26501         * tests/test-net_if.c: New file.
26502         * modules/net_if-tests: New file.
26503
26504 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26505
26506         pthread: add pthread_spin_destroy
26507         * lib/pthread.in.h (pthread_spin_destroy): New function.
26508
26509 2010-09-19  Bruno Haible  <bruno@clisp.org>
26510
26511         gnulib-tool: Fix --help output.
26512         * gnulib-tool (func_usage): Fix help message.
26513         Reported by Reuben Thomas <rrt@sc3d.org>.
26514
26515 2010-09-18  Jim Meyering  <meyering@redhat.com>
26516
26517         maint.mk: avoid unexpanded \n in two diagnostics
26518         * top/maint.mk (sc_prohibit_always_true_header_tests):
26519         Don't use a literal \n in a halt=... assignment.  It would not be
26520         expanded, and the two \n bytes would appear in the diagnostic output
26521         rather than the desired newline.  Use halt=$$(printf ... instead.
26522         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26523
26524 2010-09-18  Bruno Haible  <bruno@clisp.org>
26525
26526         netinet_in: Doc tweak.
26527         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26528         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26529
26530 2010-09-18  Jim Meyering  <meyering@redhat.com>
26531
26532         init.sh: correct an outdated comment
26533         * tests/init.sh (create_exe_shims_):  s/function/alias/
26534
26535         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26536         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26537         a file named "*.exe" is removed between the glob expansion and the
26538         processing of that oddly named file.
26539
26540 2010-09-17  Eric Blake  <eblake@redhat.com>
26541
26542         mirbsd: add some more support
26543         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26544         in BSD family.
26545         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26546         devices as OpenBSD.
26547         * m4/host-os.m4 (mirbsd): Add MirBSD.
26548
26549         tests: fix unportable assumption on sys/wait.h
26550         * tests/test-sys_wait.c (main): Relax test.
26551         * tests/test-stdlib.c (main): Likewise.
26552
26553         init.sh: accommodate directory with no .exes
26554         * tests/init.sh: Accomodate directory containing only scripts.
26555
26556         tests: avoid compiler warning
26557         * tests/test-stdlib.c (main): Use the variable.
26558
26559         fdutimens, fdutimensat: update signature, again
26560         * lib/utimens.h (gl_futimens): Delete, and move signature...
26561         (fdutimens): ...here.
26562         (fdutimensat): Rearrange signature.
26563         (lutimensat): Rename variable for clarity.
26564         * lib/fdutimensat.c (fdutimensat): Update signature.
26565         * lib/utimens.c (fdutimens): Likewise.
26566         (gl_futimens): Delete.
26567         (utimens, lutimens): Update callers.
26568         * lib/futimens.c (futimens): Likewise.
26569         * tests/test-fdutimensat.c: Likewise.
26570         * tests/test-utimens.c: Likewise.
26571         * tests/test-futimens.h: Update comment.
26572         * NEWS: Mention this.
26573         Suggested by Paul Eggert.
26574
26575 2010-09-17  Bruno Haible  <bruno@clisp.org>
26576
26577         Take over the maintenance of some older macros from Autoconf.
26578         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
26579         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
26580         GNU Autoconf.
26581         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
26582         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
26583
26584 2010-09-17  Eric Blake  <eblake@redhat.com>
26585
26586         fdutimensat: drop atflag validation
26587         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
26588         with valid fd, to close a race scenario where futimens is
26589         unsupported and FILE was replaced by a symlink.
26590         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
26591         accordingly.
26592         Suggested by Paul Eggert.
26593
26594 2010-09-16  Bruno Haible  <bruno@clisp.org>
26595
26596         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
26597         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
26598
26599 2010-09-16  Bruno Haible  <bruno@clisp.org>
26600
26601         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
26602         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
26603         login_tty exists.
26604         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26605
26606 2010-09-16  Bruno Haible  <bruno@clisp.org>
26607
26608         login_tty: Make the replacement code work on BSD systems.
26609         * lib/login_tty.c: Include <sys/ioctl.h>.
26610         (login_tty): Use ioctl TIOCSCTTY when available.
26611         * modules/login_tty (Depends-on): Add sys_ioctl.
26612         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26613
26614 2010-09-16  Bruno Haible  <bruno@clisp.org>
26615
26616         login_tty: Stricter unit test.
26617         * modules/login_tty-tests (Depends-on): Add tcgetsid.
26618         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
26619         and tcgetsid() after login_tty.
26620         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26621
26622 2010-09-16  Bruno Haible  <bruno@clisp.org>
26623
26624         New module 'tcgetsid'.
26625         * lib/tcgetsid.c: New file.
26626         * m4/tcgetsid.m4: New file.
26627         * modules/tcgetsid: New file.
26628         * modules/termios (Depends-on): Add c++defs, warn-on-use.
26629         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
26630         GNULIB_TCGETSID, HAVE_TCGETSID.
26631         * lib/termios.in.h: Include <sys/types.h>.
26632         (tcgetsid): New declaration.
26633         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
26634         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
26635         * doc/posix-functions/tcgetsid.texi: Mention the new module.
26636         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
26637
26638 2010-09-16  Bruno Haible  <bruno@clisp.org>
26639
26640         Tests for module 'termios'.
26641         * modules/termios-c++-tests: New file.
26642         * modules/termios-tests: New file.
26643         * tests/test-termios-c++.cc: New file.
26644         * tests/test-termios.c: New file.
26645
26646         New module 'termios'.
26647         * modules/termios: New file.
26648         * lib/termios.in.h: New file.
26649         * m4/termios_h.m4: New file.
26650         * doc/posix-headers/termios.texi: Mention the new module.
26651
26652 2010-09-16  Eric Blake  <eblake@redhat.com>
26653
26654         fdutimensat: add an atflag parameter
26655         * lib/fdutimensat.c (fdutimensat): Add new parameter.
26656         * lib/utimens.h (fdutimensat): Update prototype.
26657         * tests/test-fdutimensat.c: Adjust test to match.
26658         * NEWS: Document the change.
26659         Suggested by Paul Eggert.
26660
26661 2010-09-16  Bruno Haible  <bruno@clisp.org>
26662
26663         Fix typos in comments.
26664         * lib/striconveh.h: Fix typo in comment.
26665         * lib/login_tty.c (login_tty): Likewise.
26666
26667 2010-09-15  Bruno Haible  <bruno@clisp.org>
26668
26669         stdlib: clarify MirBSD WEXITSTATUS bug
26670         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
26671         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26672
26673 2010-09-15  Eric Blake  <eblake@redhat.com>
26674
26675         stdlib: work around MirBSD WEXITSTATUS bug
26676         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
26677         * modules/stdlib (Depends-on): Add sys_wait.
26678         * tests/test-sys_wait.c (main): Enhance test.
26679         * tests/test-stdlib.c (main): Likewise.
26680         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
26681
26682         docs: mention MacOS issue with WEXITSTATUS(constant)
26683         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
26684         issue.
26685         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26686
26687         strnlen: add tests
26688         * modules/strnlen-tests: New file.
26689         * tests/test-strnlen.c: Likewise.
26690
26691 2010-09-14  Bruno Haible  <bruno@clisp.org>
26692
26693         unistr/base: Avoid link errors when module 'libunistring' is also used.
26694         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
26695         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
26696         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
26697         Declare also when HAVE_LIBUNISTRING is set.
26698         Reported by Pádraig Brady <P@draigbrady.com>.
26699
26700 2010-09-14  Eric Blake  <eblake@redhat.com>
26701
26702         test-rawmemchr: make more robust
26703         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
26704         (Depends-on, configure.ac): Add needed prerequisites to use it.
26705         * modules/memchr-tests (Files, Depends-on, configure.ac):
26706         Likewise, to avoid implicit reliance on memchr module prereqs.
26707         * tests/test-memchr.c (main): Ensure proper masking.
26708         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
26709         reads.
26710
26711         memchr: detect glibc Alpha bug
26712         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
26713         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
26714         Alpha.
26715         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
26716         * tests/test-memchr.c (main): Enhance test.
26717         Reported by Nelson H. F. Beebe.
26718
26719 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26720
26721         fts, getcwd, glob: audit for dirfd returning -1
26722         * lib/fts.c (opendir): Remove #define; no longer used.
26723         (opendirat): New arg PDIR_FD.  All callers changed.
26724         (fts_build, _opendir2): Use new opendirat to avoid the need for
26725         dirfd, or for checking whether dirfd returns a negative value.
26726         Don't use opendir; always use openat followed by fdopendir.
26727         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
26728         it.
26729         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
26730         returns -1 here.
26731         * modules/fts (Depends-on): Remove dirfd.
26732         * modules/getcwd (Depends-on): Likewise.
26733
26734 2010-09-13  Eric Blake  <eblake@redhat.com>
26735
26736         float: fix broken MirBSD header
26737         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
26738         * doc/posix-headers/float.texi (float.h): Document it.
26739
26740 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26741
26742         fts: use O_NOFOLLOW to avoid race condition when opening a directory
26743         * lib/fts.c (opendirat): New arg extra_flags.
26744         (__opendir2): Use it to avoid following symlinks when opening
26745         a directory, if symlinks are not supposed to be followed.  See
26746         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
26747
26748         fdopendir: preserve argument fd before returning
26749         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
26750         (fdopendir_with_dup, fd_clone_opendir): New static functions.
26751         (fdopendir): Use them, arranging for FD to be open to the same
26752         directory that it was when it started.  (It might be temporarily
26753         closed while fdopendir is running, so this not thread- or
26754         signal-safe.)  Be careful to do the right thing even when file
26755         descriptors are scarce and dup fails with errno == EMFILE.  See
26756         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
26757
26758 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
26759
26760         regex: Pass the system regex if its only problem is 32-bit regoff_t.
26761         * NEWS: Document change.
26762         * m4/regex.m4: Disable test for regoff_t size.
26763
26764 2010-09-13  Jim Meyering  <meyering@redhat.com>
26765
26766         fts: don't operate on an invalid file descriptor after failed dup
26767         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26768         negative file descriptor.
26769
26770 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26771
26772         savedir: add streamsavedir, deprecate fdsavedir
26773         * NEWS: Mention deprecation of fdsavedir.
26774         * lib/savedir.c (streamsavedir): New extern function, whose name
26775         ends in "savedir" to be consistent with the others.  This differs
26776         from savedirstream in that it doesn't close its argument.  The
26777         next version of GNU tar will use this instead of fdsavedir, to
26778         avoid some race conditions and conserve file descriptors.
26779         (savedirstream): Reimplement as a wrapper around streamsavedir.
26780         (fdsavedir): Add a comment deprecating this function.  As far as
26781         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26782         * lib/savedir.h (streamsavedir): New decl.
26783         (fdsavedir): Add a comment deprecating this.
26784
26785 2010-09-10  Bruno Haible  <bruno@clisp.org>
26786
26787         langinfo: Fix last commit.
26788         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26789         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26790         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26791
26792 2010-09-10  Bruno Haible  <bruno@clisp.org>
26793
26794         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26795         * lib/progreloc.c (O_EXEC): Define fallback.
26796
26797 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26798
26799         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26800         * NEWS: Document recent changes to fcntl-h.
26801         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26802         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26803         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26804         Similarly for O_SEARCH; this last was already true, but not documented.
26805         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26806         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26807         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26808         Likewise.
26809         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26810         is zero, not whether it is defined.
26811         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26812         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26813         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26814
26815 2010-09-10  Bruno Haible  <bruno@clisp.org>
26816
26817         langinfo, nl_langinfo: Fix for IRIX 5.3.
26818         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26819         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26820         HAVE_LANGINFO_YESEXPR.
26821         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26822         HAVE_LANGINFO_YESEXPR.
26823         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26824         HAVE_LANGINFO_T_FMT_AMPM is 0.
26825         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26826         HAVE_LANGINFO_YESEXPR is 0.
26827         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26828         NOEXPR.
26829         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26830         * doc/posix-functions/nl_langinfo.texi: Likewise.
26831         Reported by Eric Blake.
26832
26833 2010-09-10  Bruno Haible  <bruno@clisp.org>
26834
26835         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26836         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26837         on FreeBSD 8.0 and OpenBSD 4.6.
26838         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26839         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26840         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26841         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26842         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26843         ac_includes_default.
26844         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26845
26846 2010-09-09  Eric Blake  <eblake@redhat.com>
26847
26848         strsignal: work around NetBSD bug
26849         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26850         * lib/string.in.h (includes): Likewise.
26851         * doc/posix-functions/strsignal.texi (strsignal): Document the
26852         bug.
26853         Reported by Nelson H. F. Beebe.
26854
26855         gnulib-tool: work with NetBSD /bin/sh
26856         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26857         (func_get_description, func_get_comment, func_get_status)
26858         (func_get_notice, func_get_applicability, func_get_filelist)
26859         (func_get_dependencies, func_get_autoconf_early_snippet)
26860         (func_get_autoconf_snippet, func_get_automake_snippet)
26861         (func_get_include_directive, func_get_link_directive)
26862         (func_get_license, func_get_maintainer, func_import): Avoid
26863         shell syntax errors from parsing syntax extensions.
26864
26865 2010-09-09  Bruno Haible  <bruno@clisp.org>
26866
26867         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26868         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26869         a reliable way to determine whether the 'alias' command works.
26870
26871 2010-09-08  Jim Meyering  <meyering@redhat.com>
26872
26873         init.sh: penalize a set-x-impaired shell; don't disqualify it
26874         * tests/init.sh: Too many shells corrupt application stderr when
26875         you set -x, so we can't afford to disqualify them, since at least
26876         on Irix-6.5, that would disqualify all bourne shells.
26877         Instead, use a two-pass approach.
26878         On the first pass, try to find a shell that meets the stricter
26879         condition that set -x does not corrupt stderr.
26880         If no shell meets the stricter condition, retest each candidate
26881         shell, but without that extra condition.  Finally, when
26882         VERBOSE=yes is requested and set -x might cause trouble, simply
26883         issue a warning and refrain from enabling debug output.
26884
26885 2010-09-08  Eric Blake  <eblake@redhat.com>
26886
26887         unsetenv: fix OpenBSD bug
26888         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26889         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26890         documentation.
26891         Reported by Jim Meyering.
26892
26893         strtod: work around IRIX 6.5 bug
26894         * lib/strtod.c (strtod): Reparse number on shorter string if
26895         exponent parse was invalid.
26896         * tests/test-strtod.c (main): Add check for "0x1p 2".
26897         Reported by Tom G. Christensen.
26898
26899         getopt: optimize previous patch
26900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26901         empty variable.  Speed up awk script.
26902         Reported by Paolo Bonzini.
26903
26904 2010-09-08  Jim Meyering  <meyering@redhat.com>
26905
26906         test.sh: disqualify shells for which set -x corrupts stderr
26907         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26908         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26909         appear in stderr output.  For example, this command:
26910             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26911         prints "P=1" on those two systems:
26912
26913 2010-09-08  Bruno Haible  <bruno@clisp.org>
26914
26915         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26916         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26917         commands, because some shells ignore redirections when there is an
26918         error in the command lookup.
26919         Reported by Eric Blake.
26920
26921 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26922
26923         * lib/regex.h: Fix a mention of `regex_compile' (should be
26924         `re_compile_pattern').
26925         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26926         (re_set_registers): Correct name of parameter in comment.
26927
26928         * doc/regex.texi: Add documentation for missing syntax flags.
26929         Remove commented-out documentation of defunct syntax option
26930         RE_NO_EMPTY_ALTS.
26931         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26932         Add documentation of re_set_registers.
26933         Document trick to re-use a pattern buffer by setting fastmap manually.
26934         Update documentation of struct re_pattern_buffer per public members.
26935         Uncomment documentation of equivalence class operators and
26936         collating symbol operators, since they are now implemented,
26937         Explain leftmost-longest matching in relation to alternatives.
26938         Tidy documentation of substring matching.
26939         Remove POSIX documentation, which is done better in
26940         glibc, and refer the reader there. Keep BSD API documentation, as
26941         that is not readily available elsewhere.
26942
26943 2010-09-07  Eric Blake  <eblake@redhat.com>
26944
26945         getopt: handle POSIXLY_CORRECT set but not exported
26946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26947         export state of POSIXLY_CORRECT, due to bash set -o posix.
26948         Reported by Dustin J. Mitchell.
26949
26950 2010-09-05  Bruno Haible  <bruno@clisp.org>
26951
26952         gnulib-tool: Highlight the changed options.
26953         * gnulib-tool (func_usage): Display the --import, --add-import,
26954         --remove-import explanations in bold font.
26955
26956 2010-09-06  Karl Berry  <karl@gnu.org>
26957
26958         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26959
26960 2010-09-05  Bruno Haible  <bruno@clisp.org>
26961
26962         uniwidth/width: Update comment.
26963         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26964         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26965
26966 2010-09-05  Bruno Haible  <bruno@clisp.org>
26967
26968         isinf, isnan: Relax license.
26969         * modules/isinf (License): Change from GPL to LGPL, with consent from
26970         Ben Pfaff.
26971         * modules/isnan (License): Likewise.
26972         Requested by Ludovic Courtès.
26973
26974 2010-09-04  Bruno Haible  <bruno@clisp.org>
26975
26976         gnulib-tool: Help migration from --import to --add-import or --update.
26977         * gnulib-tool: Emit a verbose error message when --import is used
26978         without any module name.
26979
26980 2010-09-04  Bruno Haible  <bruno@clisp.org>
26981
26982         Update doc about gnulib-tool.
26983         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26984         'gnulib-tool --update' in more detail.
26985         Reported by Eric Blake.
26986
26987 2010-09-04  Bruno Haible  <bruno@clisp.org>
26988
26989         gnulib-tool: Change --import. New options --add/remove-import.
26990         * gnulib-tool: New options --add-import, --remove-import.
26991         (func_usage): Document them.
26992         (have_associative): Define always.
26993         (func_import): In import mode, don't merge the specified settings with
26994         the cached settings. Implement remove-import mode.
26995         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26996         Explain when to use them versus --import.
26997         (Simple update): Use --add-import instead of --import.
26998         * NEWS: Mention the change.
26999
27000 2010-09-04  Bruno Haible  <bruno@clisp.org>
27001
27002         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27003         separate gnulib.mk.
27004
27005 2010-09-04  Bruno Haible  <bruno@clisp.org>
27006
27007         gnulib-tool: Don't talk about CVS any more.
27008         * gnulib-tool (func_usage, func_import): Write "version control"
27009         instead of CVS.
27010
27011 2010-09-04  Jim Meyering  <meyering@redhat.com>
27012
27013         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27014         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27015         false positives (whose names may be ill-chosen) when searching
27016         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27017         would cause a false-positive.
27018
27019         avoid coreutils "make distcheck" failure
27020         Coreutils tests with an absolute build directory name that contains
27021         a space.  Not quoting this directory name caused a failure.
27022         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27023         * tests/test-vc-list-files-cvs.sh: Likewise.
27024
27025 2010-09-04  Bruno Haible  <bruno@clisp.org>
27026
27027         gnulib-tool: Avoid error when run in a package without Makefile.am.
27028         * gnulib-tool: When collecting the m4dirs in a package that does not
27029         have a Makefile.am, eliminate those directories that contain no
27030         gnulib-cache.m4. Fix expression that counts these directories.
27031
27032 2010-09-04  Bruno Haible  <bruno@clisp.org>
27033
27034         update-copyright test: Improve output when perl is missing or too old.
27035         * tests/test-update-copyright.sh: Move test of Perl version down after
27036         the test whether Perl exists. Provide an explanation relating Perl's
27037         error message to Automake's SKIP: message.
27038
27039 2010-09-04  Bruno Haible  <bruno@clisp.org>
27040
27041         Don't augment PATH in TESTS_ENVIRONMENT.
27042         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27043         set abs_aux_dir instead of augmenting PATH.
27044         * modules/vc-list-files-tests (Makefile.am): Likewise.
27045         * tests/test-update-copyright.sh: Augment PATH here.
27046         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27047         path_prepend_.
27048         * tests/test-vc-list-files-git.sh: Likewise.
27049
27050 2010-09-04  Jim Meyering  <meyering@redhat.com>
27051
27052         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27053         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27054
27055 2010-09-04  Bruno Haible  <bruno@clisp.org>
27056
27057         strdup: Fix compilation error in C++ mode.
27058         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27059         the macro.
27060
27061 2010-09-04  Bruno Haible  <bruno@clisp.org>
27062
27063         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27064         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27065         macro into a function.
27066         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27067
27068 2010-09-04  Bruno Haible  <bruno@clisp.org>
27069
27070         Set PATH_SEPARATOR the same way autoconf does.
27071         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27072         the value of PATH_SEPARATOR the same way autoconf-generated configure
27073         scripts do.
27074         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27075         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27076
27077 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27078
27079         Set PATH_SEPARATOR the same way autoconf does.
27080         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27081         the same way autoconf-generated configure scripts do.
27082         * posix-modules: Likewise.
27083
27084 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27085
27086         hash: fix safe_hasher const typo
27087         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27088         const; otherwise, there is a type error later.
27089
27090 2010-09-02  Jim Meyering  <meyering@redhat.com>
27091
27092         test-update-copyright.sh: require perl 5.8.0
27093         * tests/test-update-copyright.sh: Require 5.8.0,
27094         which Tom G. Christensen has confirmed is adequate,
27095         while 5.6.1 is not.
27096
27097 2010-09-02  Eric Blake  <eblake@redhat.com>
27098
27099         tests: init.sh improvements for re-exec'ing with zsh
27100         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27101         -vx through shell re-exec.
27102         Reported by Tom G. Christensen.
27103
27104         wctype: fix typo in previous commit
27105         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27106         Reported by Ludovic Courtès.
27107
27108 2010-09-02  Jim Meyering  <meyering@redhat.com>
27109
27110         test-update-copyright.sh: skip test if Perl is too old
27111         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27112         Reported by Tom G. Christensen.
27113
27114 2010-09-02  Bruno Haible  <bruno@clisp.org>
27115
27116         wctype: Avoid compilation error on IRIX 6.5.30.
27117         * lib/wctype.in.h (iswblank): Declare with a replacement if
27118         REPLACE_ISWBLANK is set.
27119         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27120         declared. Set REPLACE_ISWBLANK.
27121         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27122         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27123         * doc/posix-headers/wctype.texi: Likewise.
27124         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27125
27126 2010-09-01  Bruno Haible  <bruno@clisp.org>
27127
27128         New module 'socketlib'.
27129         * modules/socketlib: New file.
27130         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27131         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27132         * modules/sockets (Depends-on): Add socketlib.
27133         Suggested by Sam Steingold <sds@gnu.org>.
27134
27135 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27136
27137         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27138
27139         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27140         when one needs search access to a directory but not read access.
27141         On systems where it is available, it works in some cases where
27142         O_RDONLY does not, namely on directories that are searchable but
27143         not readable, and which need only to be searchable.  If O_SEARCH
27144         is not available, fall back to the traditional method of using
27145         O_RDONLY.
27146
27147         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27148         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27149         when opening a directory that needs only to be searchable.
27150         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27151         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27152         * lib/openat-proc.c (openat_proc_name): Likewise.
27153         * lib/openat.c (openat_needs_fchdir): Likewise.
27154         * lib/save-cwd.c (save_cwd): Likewise.
27155         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27156
27157 2010-08-28  Bruno Haible  <bruno@clisp.org>
27158
27159         New module 'host-cpu-c-abi'.
27160         * modules/host-cpu-c-abi: New file.
27161         * m4/host-cpu-c-abi.m4: New file, based on part of
27162         clisp/src/m4/general.m4.
27163         Requested by Sam Steingold <sds@gnu.org>.
27164
27165 2010-08-31  Eric Blake  <eblake@redhat.com>
27166         and Jim Meyering  <meyering@redhat.com>
27167
27168         hash: factor, and guard against misbehaving hasher function
27169         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27170         of table->hasher's return value.  Also protect against a hash value
27171         so large that adding it to table->bucket results in a NULL pointer.
27172         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27173         Use it in place of open-coded check-and-abort.
27174
27175 2010-08-30  Bruno Haible  <bruno@clisp.org>
27176
27177         hash: silence spurious clang warning
27178         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27179         Reported by Eric Blake.
27180
27181 2010-08-30  Eric Blake  <eblake@redhat.com>
27182
27183         strstr, memmem, strcasestr: avoid leaked shell message
27184         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27185         FreeBSD.
27186         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27187         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27188
27189         tests: silence clang warning
27190         * tests/test-malloca.c (do_allocation): Avoid dead store.
27191
27192 2010-08-29  Bruno Haible  <bruno@clisp.org>
27193
27194         gettext: Fix recent mistake.
27195         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27196
27197 2010-08-29  Bruno Haible  <bruno@clisp.org>
27198
27199         selinux-h: Offer a --without-selinux option.
27200         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27201         --without-selinux was specified, skip all tests and define
27202         HAVE_SELINUX_SELINUX_H to 0.
27203         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27204         set LIB_SELINUX to empty.
27205         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27206         gl_LIBSELINUX. If --without-selinux was specified, replace
27207         selinux/context.h.
27208         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27209
27210 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27211             Bruno Haible  <bruno@clisp.org>
27212
27213         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27214         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27215         of HAVE_REALLOC.
27216         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27217         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27218         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27219         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27220
27221 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27222             Bruno Haible  <bruno@clisp.org>
27223
27224         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27225         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27226         HAVE_CALLOC.
27227         * lib/xmalloc.c: Update accordingly.
27228         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27229         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27230         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27231
27232 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27233             Bruno Haible  <bruno@clisp.org>
27234
27235         Make the module 'malloc-gnu' work again on AIX and OSF/1.
27236         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
27237         HAVE_MALLOC.
27238         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
27239         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
27240         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27241
27242 2010-08-29  Bruno Haible  <bruno@clisp.org>
27243
27244         Update modules list.
27245         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
27246         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27247         (String handling <string.h>): Add astrxfrm.
27248         (File system functions): Add readlinkat.
27249
27250 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27251
27252         Tests for module 'realloc-gnu'.
27253         * modules/realloc-gnu-tests: New file.
27254         * tests/test-realloc-gnu.c: New file.
27255
27256         Tests for module 'calloc-gnu'.
27257         * modules/calloc-gnu-tests: New file.
27258         * tests/test-calloc-gnu.c: New file.
27259
27260         Tests for module 'malloc-gnu'.
27261         * modules/malloc-gnu-tests: New file.
27262         * tests/test-malloc-gnu.c: New file.
27263
27264 2010-08-28  Bruno Haible  <bruno@clisp.org>
27265
27266         Rename module 'realloc' -> 'realloc-gnu'.
27267         * modules/realloc-gnu: New file, copied from modules/realloc.
27268         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27269         obsolete.
27270         * modules/mgetgroups (Depends-on): Update.
27271         * doc/posix-functions/realloc.texi: Update.
27272         * NEWS: Mention the change.
27273
27274         Rename module 'calloc' -> 'calloc-gnu'.
27275         * modules/calloc-gnu: New file, copied from modules/calloc.
27276         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27277         obsolete.
27278         * doc/posix-functions/calloc.texi: Update.
27279         * NEWS: Mention the change.
27280
27281         Rename module 'malloc' -> 'malloc-gnu'.
27282         * modules/malloc-gnu: New file, copied from modules/malloc.
27283         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27284         obsolete.
27285         * modules/argp (Depends-on): Update.
27286         * modules/regex (Depends-on): Update.
27287         * doc/posix-functions/malloc.texi: Update.
27288         * NEWS: Mention the change.
27289
27290 2010-08-28  Eric Blake  <eblake@redhat.com>
27291
27292         pread, pwrite: add missing dependency
27293         * modules/pread (Depends-on): Add extensions.
27294         * modules/pwrite (Depends-on): Likewise.
27295
27296 2010-08-28  Bruno Haible  <bruno@clisp.org>
27297
27298         unistr/u*-strchr: Fix tests dependencies.
27299         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27300         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27301         Reported by Ian Beckwith <ianb@erislabs.net>.
27302
27303 2010-08-28  Bruno Haible  <bruno@clisp.org>
27304
27305         read-file: Don't occupy too much unused memory.
27306         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27307
27308 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27309             Eric Blake  <eblake@redhat.com>
27310             Bruno Haible  <bruno@clisp.org>
27311
27312         read-file: Avoid memory reallocations with regular files.
27313         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27314         (fread_file): With regular files, use the remaining length as the
27315         initial buffer size.  Check against overflow.
27316         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27317         sys_stat.
27318
27319 2010-08-28  Bruno Haible  <bruno@clisp.org>
27320
27321         ftello: Relax license.
27322         * modules/ftello (License): Relax to LGPLv2+.
27323         Reported by Eric Blake.
27324
27325 2010-08-28  Bruno Haible  <bruno@clisp.org>
27326
27327         Avoid relocwrapper link errors due to gnulib replacement functions.
27328         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27329         function.
27330         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27331
27332 2010-08-28  Bruno Haible  <bruno@clisp.org>
27333
27334         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27335         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27336         defined.
27337         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27338         Suggested by Eric Blake.
27339
27340 2010-08-28  Bruno Haible  <bruno@clisp.org>
27341
27342         sys_socket, netdb: Ensure socklen_t gets defined.
27343         * modules/sys_socket (Depends-on): Add socklen.
27344         * modules/netdb (Depends-on): Likewise.
27345         * modules/getaddrinfo (Depends-on): Remove socklen.
27346         * modules/getsockopt (Depends-on): Likewise.
27347         * modules/setsockopt (Depends-on): Likewise.
27348         * tests/test-sys_socket.c: Check that socklen_t is defined.
27349         * tests/test-netdb.c: Likewise.
27350         * m4/socklen.m4: Update comments.
27351         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27352
27353 2010-08-27  Eric Blake  <eblake@redhat.com>
27354
27355         login_tty: add missing dependency
27356         * modules/login_tty (Depends-on): Add pty.
27357
27358 2010-08-26  Eric Blake  <eblake@redhat.com>
27359
27360         lib-symbol-versions: fix m4 quoting
27361         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27362         format for AC_LINK_IFELSE.
27363
27364         glob: fix compile test
27365         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27366
27367         btowc: fix missing file
27368         * modules/btowc (Files): Also ship locale-fr.m4.
27369
27370         lseek: fix link test
27371         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27372         AC_LINK_IFELSE.
27373
27374         include_next: silence autoconf 2.68 warning
27375         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27376         AC_COMPILE_IFELSE as special.
27377         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27378         autoconf < 2.68.
27379
27380         acl: fix compilation test
27381         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27382         AC_COMPILE_IFELSE.
27383
27384 2010-08-26  Bruno Haible  <bruno@clisp.org>
27385
27386         Modernize AC_TRY_RUN invocations.
27387         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27388         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27389         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27390         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27391         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27392         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27393         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27394         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27395         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27396         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27397         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27398         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27399         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27400         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27401         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27402         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27403         gl_MBRLEN_NUL_RETVAL): Likewise.
27404         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27405         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27406         Likewise.
27407         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27408         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27409         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27410         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27411         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27412         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27413         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27414         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27415         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27416         Likewise.
27417         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27418         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27419         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27420         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27421         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27422         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27423         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27424         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27425         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27426         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27427
27428 2010-08-26  Bruno Haible  <bruno@clisp.org>
27429
27430         Modernize AC_TRY_LINK invocations.
27431         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27432         AC_TRY_LINK.
27433         * m4/argp.m4 (gl_ARGP): Likewise.
27434         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27435         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27436         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27437         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27438         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27439         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27440         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27441         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27442         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27443         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27444         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27445         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27446         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27447         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27448         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27449         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27450         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27451         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27452         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27453         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27454         Likewise.
27455         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27456         Likewise.
27457         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27458         Likewise.
27459         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27460         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27461         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27462         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27463         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27464         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27465         * m4/servent.m4 (gl_SERVENT): Likewise.
27466         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27467         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27468         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27469         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27470         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27471         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27472         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27473         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27474         * modules/tsearch-tests (configure.ac): Likewise.
27475
27476 2010-08-26  Bruno Haible  <bruno@clisp.org>
27477
27478         Modernize AC_TRY_COMPILE invocations.
27479         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27480         AC_TRY_COMPILE.
27481         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27482         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27483         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27484         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27485         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27486         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27487         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27488         * m4/lock.m4 (gl_LOCK): Likewise.
27489         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27490         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27491         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27492         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27493         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27494         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27495         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27496         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27497         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27498         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27499         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27500         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27501         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27502         extraneous semicolon.
27503
27504 2010-08-26  Jim Meyering  <meyering@redhat.com>
27505
27506         stat-time: relax license LGPL
27507         * modules/stat-time (License): Change from GPL to LGPL,
27508         with consent from all contributors, for use in libguile.
27509         Requested by Ludovic Courtès.
27510
27511 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27512
27513         poll: return immediately on POLLHUP.
27514         * lib/poll.c (poll): Always set timeout before wait_timeout is
27515         computed.
27516
27517 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27518
27519         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27520         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27521         rmdir ("dir/.//"), unlinkat.
27522
27523 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27524
27525         stdbool: avoid spurious failure with modern xlc
27526         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27527
27528 2010-08-24  Bruno Haible  <bruno@clisp.org>
27529
27530         getloadavg: simplify code
27531         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27532         gl_have_func. Update comments.
27533
27534 2010-08-24  Eric Blake  <eblake@redhat.com>
27535
27536         getloadavg: don't define SVR4 on cygwin
27537         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27538         only define SVR4 when -lkvm is required.
27539         Reported by Yaakov Selkowitz.
27540
27541 2010-08-24  Bruno Haible  <bruno@clisp.org>
27542
27543         priv-set: fix comment
27544         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27545
27546 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27547
27548         priv-set: fix comments
27549         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27550         to match code, as suggested by David Bartley in:
27551         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27552
27553 2010-08-23  Eric Blake  <eblake@redhat.com>
27554
27555         stdbool: avoid rejecting clang
27556         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27557         * tests/test-stdbool.c: Enable more tests if using the system
27558         <stdbool.h> instead of the gnulib replacement.
27559         (main): Move xlc bug test to a runtime test for all compilers.
27560         Reported by Anders Kaseorg.
27561
27562         argz: fix shell quoting issue
27563         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
27564         Reported by Charles Wilson.
27565
27566 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
27567             Erik Faye-Lund <kusmabite@gmail.com>
27568
27569         poll, select: handle ERROR_BROKEN_PIPE.
27570         * lib/poll.c (win32_compute_revents): Return POLLHUP when
27571         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27572         * lib/select.c (win32_compute_revents): Do not mark a pipe
27573         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27574
27575 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
27576
27577         fts: allow compilation with C++
27578         * lib/fts_.h: Specify extern "C" linkage with C++.
27579
27580 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27581
27582         Fix gnulib-tool sed script de-commentation for AIX sed.
27583         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
27584         sed.
27585
27586 2010-08-17  Eric Blake  <eblake@redhat.com>
27587
27588         test-stddef: test for (some) offsetof bugs
27589         * tests/test-stddef.c: Enhance test to ensure correct type of
27590         offsetof.
27591         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
27592         that we are not fixing at this time.
27593
27594 2010-08-15  Bruno Haible  <bruno@clisp.org>
27595
27596         stpncpy: Allow stpncpy to be defined as a macro.
27597         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
27598         if it's already correctly declared.
27599         * lib/string.in.h (stpncpy): Undefine before redefining.
27600         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
27601
27602 2010-08-14  Bruno Haible  <bruno@clisp.org>
27603
27604         Rename module 'memxfrm' to 'amemxfrm'.
27605         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
27606         (amemxfrm): Renamed from memxfrm.
27607         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
27608         (amemxfrm): Renamed from memxfrm.
27609         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
27610         * NEWS: Mention the change.
27611         * MODULES.html.sh (String handling <string.h>): Update.
27612         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
27613         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
27614         * lib/unicase/u16-casexfrm.c: Likewise.
27615         * lib/unicase/u32-casexfrm.c: Likewise.
27616         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
27617         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
27618         * lib/uninorm/u16-normxfrm.c: Likewise.
27619         * lib/uninorm/u32-normxfrm.c: Likewise.
27620         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
27621         memxfrm.
27622         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
27623         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
27624         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
27625         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
27626         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
27627         Suggested by Paul Eggert.
27628
27629 2010-08-14  Bruno Haible  <bruno@clisp.org>
27630
27631         Tests for module 'astrxfrm'.
27632         * modules/astrxfrm-tests: New file.
27633         * tests/test-astrxfrm.c: New file.
27634
27635         New module 'astrxfrm'.
27636         * lib/astrxfrm.h: New file.
27637         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
27638         * modules/astrxfrm: New file.
27639
27640 2010-08-14  Reuben Thomas <rrt@sc3d.org>
27641
27642         regex: Tweak doc.
27643         * doc/regex.texi (Overview): Don't mention regex.c.
27644         (GNU Regular Expression Compiling): Likewise.
27645         (Match-end-of-line Operator): Mention 'not_eol'.
27646
27647 2010-08-14  Brian Gough  <bjg@gnu.org>
27648             Bruno Haible  <bruno@clisp.org>
27649
27650         git-merge-changelog: add doc relating to use with bzr and hg.
27651         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
27652
27653 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
27654
27655         pthread: fix pthread.h creation for srcdir != builddir
27656         * modules/pthread (Makefile.am): Fix the rule to work also in a
27657         non-srcdir build.
27658
27659 2010-08-13  Karl Berry  <karl@gnu.org>
27660
27661         * doc/regex.texi (Predefined Syntaxes): @smallexample.
27662         * doc/posix-*/*: force line break before @url of POSIX
27663         specifications.
27664         Suggested by Werner Lemberg.
27665
27666 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27667
27668         strtod: fix const diagnostic
27669         * lib/strtod.c (strtod): Don't assign const char * to char *,
27670         as this elicits a warning from GCC when warnings are enabled.
27671
27672 2010-08-10  Pádraig Brady <P@draigbrady.com>
27673         and Eric Blake  <eblake@redhat.com>
27674
27675         copy-acl: ignore ENOTSUP on HP-UX
27676         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
27677         so that it is available for HP-UX.
27678         * lib/copy-acl.c (qcopy_acl): Use it.
27679         Reported by Patrick M. Callahan.
27680
27681 2010-08-10  Eric Blake  <eblake@redhat.com>
27682
27683         open, chown: relax license
27684         * modules/open (License): Change to LGPLv2+, with consent by all
27685         authors, for use in augeas.
27686         * modules/chown (License): Likewise.
27687         * modules/lchown (Likewise): Likewise.
27688         Requested by Adam Stokes.
27689
27690 2010-08-09  Karl Berry  <karl@gnu.org>
27691
27692         * build-aux/ar-lib: new file, import from Automake.
27693         * config/srclist.txt: autocheck for updates.
27694
27695 2010-08-09  Eric Blake  <eblake@redhat.com>
27696
27697         readlinkat: adjust client modules
27698         * modules/areadlinkat (Depends-on): Use readlinkat, not
27699         symlinkat.
27700         * modules/areadlinkat-with-size (Depends-on): Likewise.
27701
27702         mknod: be more vocal about danger of running tests as root
27703         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
27704         root, since that is just asking for problems.
27705         Suggested by Bruno Haible, based on a report by Rainer Tammer.
27706
27707         readlinkat: split into its own module
27708         * modules/symlinkat: Split readlinkat...
27709         * modules/readlinkat: ...into separate module.
27710         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
27711         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
27712         * lib/symlinkat.c (readlinkat): Move...
27713         * lib/readlinkat.c: ...into new file.
27714         * modules/symlinkat-tests: Split readlinkat test...
27715         * modules/readlinkat-tests: ...into separate module.
27716         * tests/test-symlinkat.c: Split...
27717         * tests/test-readlinkat.c: ...into new file.
27718         * NEWS: Document the split.
27719         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27720         * lib/unistd.in.h (readlinkat): Likewise.
27721         Suggested by Bruno Haible.
27722
27723 2010-08-08  Bruno Haible  <bruno@clisp.org>
27724
27725         memxfrm: Speed up.
27726         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
27727         that usually only one call to strxfrm is necessary for each string
27728         part.
27729         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27730
27731 2010-08-07  Karl Berry  <karl@gnu.org>
27732
27733         * doc/posix-headers/limits.texi,
27734         * doc/posix-functions/malloc.texi,
27735         * doc/posix-functions/strsignal.texi: missing @item.
27736         * doc/ld-version-script.texi: spurious leading i.
27737         * doc/regex.texi (Interval Operators): no commas inside @var.
27738
27739 2010-08-01  Bruno Haible  <bruno@clisp.org>
27740
27741         Integrate the regex documentation.
27742         * doc/gnulib.texi: Define 'cn' index.
27743         (Regular expressions): New a chapter that includes regex.texi and
27744         regexprops-generic.texi.
27745         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
27746         syntax.
27747
27748         Whitespace cleanup.
27749         * doc/regex.texi: Remove trailing spaces.
27750
27751         Add regex documentation.
27752         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
27753         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
27754         Written by Kathy A. Hargreaves and Karl Berry.
27755
27756 2010-08-01  Bruno Haible  <bruno@clisp.org>
27757
27758         link: Update documentation.
27759         * doc/posix-functions/link.texi: Update regarding Solaris.
27760
27761 2010-07-31  Bruno Haible  <bruno@clisp.org>
27762
27763         Update modules list.
27764         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
27765         (String handling <string.h>): Add memcmp2, memxfrm.
27766         (Container data structures): Add xlist, xsublist, xoset.
27767         (Core language properties): Add alignof, unused-parameter.
27768         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27769         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27770         (Unibyte characters <ctype.h>): New section.
27771         (String handling <string.h>): New section.
27772         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27773         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27774         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27775         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27776         tan, tanh, tanl, y0, y1, yn.
27777         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27778         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27779         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27780         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27781         unlockpt, vdprintf, vdprintf-posix.
27782         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27783         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27784         xconcat-filename.
27785         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27786         getdtablesize, pipe2, pipe2-safer.
27787         (Security): New section.
27788         (Networking functions): Add accept4.
27789         (Signal handling): Add sigpipe.
27790         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27791         mbmemcasecoll.
27792         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27793         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27794         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27795         pipe-filter-ii.
27796         (Misc): Add argp-version-etc, login_tty, parse-duration.
27797
27798 2010-07-31  Bruno Haible  <bruno@clisp.org>
27799
27800         Improve doc in MODULES.html.
27801         * modules/linkat (Description): Add the word "function".
27802         * modules/mkfifo (Description): Likewise.
27803         * modules/mknod (Description): Likewise.
27804         * modules/remove (Description): Likewise.
27805         * modules/renameat (Description): Likewise.
27806         * modules/stat (Description): Likewise.
27807         * modules/symlink (Description): Likewise.
27808         * modules/unlink (Description): Likewise.
27809
27810 2010-07-31  Bruno Haible  <bruno@clisp.org>
27811
27812         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27813         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27814         option --enable/disable-c++ instead of --enable/disable-cxx.
27815         * NEWS: Mention the change.
27816
27817 2010-07-31  Bruno Haible  <bruno@clisp.org>
27818
27819         readlink, areadlink: Relax test a bit.
27820         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27821         alternative to ENOTDIR.
27822         * tests/test-areadlink.h (test_areadlink): Likewise.
27823         Reported by Rainer Tammer.
27824
27825 2010-07-31  Bruno Haible  <bruno@clisp.org>
27826
27827         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27828         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27829         character, perform the search using U_STRCHR.
27830         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27831         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27832         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27833         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27834         Suggested by Paolo Bonzini.
27835
27836 2010-07-31  Bruno Haible  <bruno@clisp.org>
27837
27838         unistr/u*-strstr: Fix dependencies.
27839         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27840         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27841         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27842
27843 2010-07-31  Bruno Haible  <bruno@clisp.org>
27844
27845         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27846         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27847         the beginning of the loop.
27848         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27849         cases in 'switch' statement.
27850
27851         unistr/u8-strchr: Fix several bugs.
27852         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27853         the string. When not found, return NULL, not a pointer near the end.
27854
27855         More tests for unistr/u8-strchr.
27856         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27857         that the function does not read past the first occurrence of the byte
27858         being searched.
27859         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27860         * tests/unistr/test-u16-strchr.c (main): New function.
27861         * tests/unistr/test-u32-strchr.c (main): New function.
27862
27863 2010-07-31  Bruno Haible  <bruno@clisp.org>
27864
27865         posix-modules: Ignore backup files of documentation files.
27866         * posix-modules: grep only through files named *.texi.
27867
27868 2010-07-31  Bruno Haible  <bruno@clisp.org>
27869
27870         symlinkat: Fix documentation.
27871         * doc/posix-functions/readlinkat.texi: Fix module name.
27872
27873 2010-07-31  Bruno Haible  <bruno@clisp.org>
27874
27875         fchownat: Replace also when chown has the trailing slash bug.
27876         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27877         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27878         introduced on 2010-04-10.
27879         Reported by Rainer Tammer.
27880
27881 2010-07-31  Bruno Haible  <bruno@clisp.org>
27882
27883         linkat: Work around AIX 7.1 bug.
27884         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27885         whether linkat handles trailing slash correctly. If not, replace linkat
27886         and define LINKAT_TRAILING_SLASH_BUG.
27887         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27888         check whether (fd1,file1) points to a directory if file1 or file2 ends
27889         in a slash. Code taken from lib/link.c.
27890         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27891         Reported by Rainer Tammer.
27892
27893 2010-07-31  Bruno Haible  <bruno@clisp.org>
27894
27895         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27896         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27897         This disables an xlc optimization that was causing wrong test results.
27898         Reported by Rainer Tammer.
27899
27900 2010-07-31  Bruno Haible  <bruno@clisp.org>
27901
27902         iconv: Work around AIX 6.1..7.1 bug.
27903         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27904         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27905         cross-compiling, guess no on all versions of AIX.
27906         Reported by Rainer Tammer.
27907
27908 2010-07-31  Bruno Haible  <bruno@clisp.org>
27909
27910         readlink: Relax test a bit.
27911         * tests/test-readlink.h (test_readlink): Allow different errno value
27912         when readlink is called with a file name that ends in / and refers to
27913         a file.
27914         Suggested by Eric Blake.
27915         Reported by Rainer Tammer.
27916
27917 2010-07-31  Bruno Haible  <bruno@clisp.org>
27918
27919         copysign: Does not require -lm on glibc systems.
27920         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27921         gl_COMMON_DOUBLE_MATHFUNC.
27922         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27923
27924 2010-07-31  Bruno Haible  <bruno@clisp.org>
27925
27926         duplocale: Work around AIX 7.1 bug.
27927         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27928         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27929         * lib/duplocale.c (rpl_duplocale): Update comment.
27930         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27931         Reported by Rainer Tammer.
27932
27933 2010-07-30  Bruno Haible  <bruno@clisp.org>
27934
27935         dirfd: Avoid link error on AIX 7.1.
27936         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27937         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27938         exist, set REPLACE_DIRFD.
27939         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27940         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27941         * doc/posix-functions/dirfd.texi: Update.
27942         Reported by Rainer Tammer.
27943
27944 2010-07-30  Eric Blake  <eblake@redhat.com>
27945
27946         strtod: next round of AIX fixes
27947         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27948         exponent.
27949         * tests/test-strtod.c (main): Enhance tests.
27950         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27951         Reported by Rainer Tammer.
27952
27953         futimens: fix configure check
27954         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27955         Reported by Bruno Haible.
27956
27957 2010-07-30  Bruno Haible  <bruno@clisp.org>
27958
27959         getline: Update regarding AIX.
27960         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27961         Reported by Rainer Tammer.
27962
27963 2010-07-30  Bruno Haible  <bruno@clisp.org>
27964
27965         wcwidth: Drop replacement on AIX 7.
27966         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27967         AIX 7.
27968         Reported by Rainer Tammer.
27969
27970 2010-07-30  Bruno Haible  <bruno@clisp.org>
27971
27972         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27973         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27974         a 'char *'.
27975         Reported by Rainer Tammer.
27976
27977 2010-07-30  Bruno Haible  <bruno@clisp.org>
27978
27979         unlink: Update regarding AIX.
27980         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27981         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27982         Reported by Rainer Tammer.
27983
27984 2010-07-30  Bruno Haible  <bruno@clisp.org>
27985
27986         symlink: Update regarding AIX.
27987         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27988         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27989         Reported by Rainer Tammer.
27990
27991 2010-07-30  Bruno Haible  <bruno@clisp.org>
27992
27993         strndup: Update regarding AIX.
27994         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27995         AIX 7.
27996         Reported by Rainer Tammer.
27997
27998 2010-07-30  Bruno Haible  <bruno@clisp.org>
27999
28000         stat: Update regarding AIX.
28001         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28002         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28003         Reported by Rainer Tammer.
28004
28005 2010-07-30  Bruno Haible  <bruno@clisp.org>
28006
28007         truncl: Fix autoconf test.
28008         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28009         whether truncl works.
28010         Reported by Rainer Tammer.
28011
28012 2010-07-30  Bruno Haible  <bruno@clisp.org>
28013
28014         round: Update regarding AIX.
28015         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28016         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28017         Reported by Rainer Tammer.
28018
28019 2010-07-30  Bruno Haible  <bruno@clisp.org>
28020
28021         rename: Update regarding AIX.
28022         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28023         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28024         Reported by Rainer Tammer.
28025
28026 2010-07-30  Bruno Haible  <bruno@clisp.org>
28027
28028         printf.m4: Update regarding AIX.
28029         * m4/printf.m4: Update comments regarding AIX.
28030         Reported by Rainer Tammer.
28031
28032 2010-07-30  Bruno Haible  <bruno@clisp.org>
28033
28034         iconv: Update regarding AIX.
28035         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28036         AIX 7.
28037         Reported by Rainer Tammer.
28038
28039 2010-07-30  Bruno Haible  <bruno@clisp.org>
28040
28041         getopt: Update regarding AIX.
28042         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28043         no on AIX.
28044         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28045         Reported by Rainer Tammer.
28046
28047 2010-07-30  Bruno Haible  <bruno@clisp.org>
28048
28049         ldexpl; Update regarding AIX.
28050         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28051         on AIX 7.
28052         Reported by Rainer Tammer.
28053
28054 2010-07-30  Bruno Haible  <bruno@clisp.org>
28055
28056         frexpl: Update regarding AIX.
28057         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28058         on AIX 7.
28059         Reported by Rainer Tammer.
28060
28061 2010-07-30  Bruno Haible  <bruno@clisp.org>
28062
28063         open, fopen: Update regarding AIX.
28064         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28065         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28066         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28067         * doc/posix-functions/fopen.texi: Likewise.
28068         Reported by Rainer Tammer.
28069
28070 2010-07-30  Bruno Haible  <bruno@clisp.org>
28071
28072         chown: Update doc regarding AIX.
28073         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28074         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28075         Reported by Rainer Tammer.
28076
28077 2010-07-30  Eric Blake  <eblake@redhat.com>
28078
28079         strtod: fix bug in replacement function on AIX
28080         * lib/strtod.c (strtod): Special case broken "0x" parse in
28081         underlying strtod.
28082         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28083         * doc/posix-functions/strtod.texi (strtod): Likewise.
28084         Reported by Rainer Tammer.
28085
28086 2010-07-30  Bruno Haible  <bruno@clisp.org>
28087
28088         mbrlen: Fix cross-compilation guess for AIX.
28089         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28090         guess. Leftover from 2008-12-22.
28091
28092 2010-07-30  Bruno Haible  <bruno@clisp.org>
28093
28094         mbrtowc: Fix cross-compilation guess for AIX.
28095         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28096         guess. Leftover from 2008-12-21.
28097
28098 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28099
28100         init.sh: work around trap limitation of some shells
28101         * tests/init.sh (setup_): Move exit trap outside of shell function.
28102
28103 2010-07-29  Eric Blake  <eblake@redhat.com>
28104
28105         strtod: aid debugging
28106         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28107         understanding why strtod is rejected.
28108
28109 2010-07-28  Bruno Haible  <bruno@clisp.org>
28110
28111         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28112         * lib/unistr/u8-chr.c: Include <string.h>.
28113         * tests/unistr/test-u8-chr.c: Likewise.
28114         * tests/unistr/test-u16-chr.c: Likewise.
28115         * tests/unistr/test-u32-chr.c: Likewise.
28116         * tests/unistr/test-u8-strchr.c: Likewise.
28117         * tests/unistr/test-u16-strchr.c: Likewise.
28118         * tests/unistr/test-u32-strchr.c: Likewise.
28119         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28120         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28121         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28122         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28123
28124 2010-07-28  Bruno Haible  <bruno@clisp.org>
28125
28126         Use spaces for indentation, not tabs.
28127         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28128
28129 2010-07-27  Bruno Haible  <bruno@clisp.org>
28130
28131         mbspcasecmp: Fix function specification.
28132         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28133         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28134         Reported by Eric Blake <eblake@redhat.com>.
28135
28136 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28137
28138         timespec: use cast and not conditional, as truncation isn't possible
28139         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28140         instead of a conditional.  Comment about the situation in more detail.
28141         This undoes most of the 2009-10-29 patch.
28142
28143 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28144
28145         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28146         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28147         * lib/unistr/u8-strchr.c: Likewise.
28148         * modules/unistr/u8-chr: Depend on memchr.
28149
28150         unistr/u*-strchr: add tests
28151         * modules/unistr/u8-strchr-tests: New file.
28152         * modules/unistr/u16-strchr-tests: New file.
28153         * modules/unistr/u32-strchr-tests: New file.
28154         * tests/unistr/test-strchr.h: New file.
28155         * tests/unistr/test-u8-strchr.c: New file.
28156         * tests/unistr/test-u16-strchr.c: New file.
28157         * tests/unistr/test-u32-strchr.c: New file.
28158
28159         unistr/u*-chr: test multibyte sequences more
28160         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28161         test vector.
28162         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28163         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28164         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28165
28166         unistr/u*-chr: test multibyte sequences
28167         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28168
28169         unistr/u*-chr: prepare for multibyte tests
28170         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28171         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28172         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28173         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28174         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28175         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28176
28177 2010-07-18  Bruno Haible  <bruno@clisp.org>
28178
28179         unistr/u8-strchr: Optimize non-ASCII argument case.
28180         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28181         because the first byte often matches anyway.
28182         Reported by Pádraig Brady <P@draigbrady.com>.
28183
28184 2010-07-15  Karl Berry  <karl@gnu.org>
28185
28186         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28187
28188 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28189
28190         getcwd: on Solaris, work better if ancestors are inaccessible
28191         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28192         buffer and size, try again with a large buffer.  This works better
28193         on Solaris, since its getcwd succeeds even if the path to the root
28194         is inaccessible, and this is helpful in common cases such as .zfs
28195         hidden directories.  Problem reported by J Chapman Flack in
28196         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28197         Use system getcwd if it's declared, not merely if it's partly
28198         working; use the partly-working test only to avoid needless effort
28199         if the system getcwd fails.
28200         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28201         comment that was already obsolete and is now even more obsolete.
28202         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28203         now might call strdup.
28204
28205 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28206
28207         pthread: Add enough so that coreutils/src/sort.c compiles.
28208         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28209         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28210         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28211         Include <sys/types.h>, in case it defines pthread_t.
28212         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28213         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28214         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28215         (pthread_rwlockattr_t, pthread_spinlock_t):
28216         New typedefs, if HAVE_PTHREAD_T is not defined.
28217         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28218         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28219         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28220         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28221         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28222         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28223         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28224         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28225         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28226         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28227         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28228         New macros.
28229         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28230         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28231         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28232         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
28233         (pthread_spin_unlock): New dummy functions.
28234         (pthread_create): Return EAGAIN; don't set errno.
28235         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
28236         require AC_C_INLINE.
28237         * modules/pthread (Depends-on): Add sched, time.
28238         (pthread.h): Use AM_V_GEN.
28239
28240 2010-07-13  Bruno Haible  <bruno@clisp.org>
28241
28242         striconveh: Don't malloc memory if the result buffer is sufficient.
28243         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
28244         buffer if its size is sufficient.
28245         Reported by Ludovic Courtès <ludo@gnu.org>.
28246
28247 2010-07-13  Bruno Haible  <bruno@clisp.org>
28248
28249         strtod: Add safety check.
28250         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
28251
28252 2010-07-12  Bruno Haible  <bruno@clisp.org>
28253
28254         Unify tests that set gl_cv_func_ldexpl_no_libm.
28255         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28256         gl_FUNC_LDEXPL.
28257         (gl_FUNC_LDEXPL): Invoke it.
28258         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28259
28260 2010-07-12  Bruno Haible  <bruno@clisp.org>
28261
28262         Unify tests that set gl_cv_func_ldexp_no_libm.
28263         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28264         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28265         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28266         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28267         * modules/strtod (Files): Add m4/ldexp.m4.
28268
28269 2010-07-12  Bruno Haible  <bruno@clisp.org>
28270
28271         Unify tests that set gl_cv_func_frexpl_no_libm.
28272         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28273         gl_FUNC_FREXPL_NO_LIBM.
28274         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28275         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28276
28277 2010-07-12  Bruno Haible  <bruno@clisp.org>
28278
28279         Unify tests that set gl_cv_func_frexp_no_libm.
28280         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28281         gl_FUNC_FREXP_NO_LIBM.
28282         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28283         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28284
28285 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28286
28287         memcoll: clarify sizes versus lengths, document better, and tweak perf
28288         * lib/memcoll.c (strcoll_loop, memcoll0):
28289         Improve quality of descriptive comments.  Name variables
28290         consistently as to whether they are lengths (which do not include
28291         terminating null) versus sizes (which do).
28292         * lib/xmemcoll.c (xmemcoll0): Likewise.
28293         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28294         returned when s1size == 0; this is easier to compile and saves
28295         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28296
28297 2010-07-12  Bruno Haible  <bruno@clisp.org>
28298
28299         Tests for module '_Exit'.
28300         * modules/_Exit-tests: New file.
28301         * tests/test-_Exit.sh: New file.
28302         * tests/test-_Exit.c: New file.
28303
28304         New module '_Exit'.
28305         * lib/stdlib.in.h (__attribute__): New macro.
28306         (_Exit): New declaration.
28307         * lib/_Exit.c: New file.
28308         * m4/_Exit.m4: New file.
28309         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28310         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28311         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28312         * modules/_Exit: New file.
28313         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28314         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28315
28316 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28317
28318         strtod: make it more-accurate typically, and don't require libm
28319         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28320         Include limits.h.  Don't include string.h.
28321         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28322         (locale_isspace): New function, so that no casts are needed to
28323         check whether *s is a space.
28324         (ldexp): Provide an unused dummy if not available.
28325         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28326         (strtod): Use them.  This implementation prefers to use the
28327         underlying strtod if available, falling back on our own code
28328         only to fix known bugs.  This is more likely to produce an
28329         accurate result.  Also, it avoids the use of libm functions.
28330         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28331         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28332         was absent, but it caused a test failure with coreutils.
28333         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28334         with libm.
28335         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28336         * modules/strtod-tests (Makefile.am): Likewise.
28337
28338 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28339             Bruno Haible  <bruno@clisp.org>
28340
28341         unistr/u8-strchr: Optimize ASCII argument case.
28342         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28343
28344 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28345
28346         (x)memcoll: minor tweaks
28347         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28348         is after the type that it qualifies.
28349         (memcoll0): Likewise.
28350         * lib/memcoll.h (memcoll0): Likewise.
28351         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28352         * lib/xmemcoll.h (xmemcoll0): Likewise.
28353         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28354         differs from memcoll in that the NUL byte is part of the argument.
28355         Omit the abort-checks, as performance is a real issue here.  Plus,
28356         the checks were wrong anyway (an off-by-one error).  Omit local
28357         variable 'diff', as it's a bit clearer that way.
28358         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28359         no longer needed.
28360
28361 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28362
28363         (x)memcoll: speedup when input is known to be NUL delimited
28364         * lib/memcoll.c: Include stdlib.
28365         (memcoll0): New function.
28366         (strcoll_loop): New function, refactored for use in both memcoll
28367         and memcoll0.
28368         * lib/memcoll.h (memcoll0): Add prototype.
28369         * lib/xmemcoll.c (xmemcoll0): New function.
28370         (collate_error): New function, refactored for use in both xmemcoll
28371         and xmemcoll0.
28372         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28373         * m4/memcoll.m4: add inline invocation.
28374
28375 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28376
28377         * build-aux/bootstrap: Remove any local translations
28378         from the translation project synchronization directory,
28379         so that local only translations are not distributed.
28380
28381 2010-07-04  Bruno Haible  <bruno@clisp.org>
28382
28383         fsusage: Clarify which code applies to which platforms.
28384         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28385         platform.
28386         * lib/fsusage.c (get_fs_usage): Likewise.
28387
28388 2010-07-04  Bruno Haible  <bruno@clisp.org>
28389
28390         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28391         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28392         Reported by Martin Lambers <marlam@marlam.de>.
28393
28394 2010-07-04  Jim Meyering  <meyering@redhat.com>
28395
28396         hash: once again explicitly disallow insertion of NULL
28397         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28398         inserting a NULL pointer cannot work with these functions.
28399         Add a comment with details.
28400         This reverts part of the 2010-07-01 commit, 5bef1a35
28401         "hash: extend module to deal with non-pointer keys".
28402
28403 2010-07-01  Bruno Haible  <bruno@clisp.org>
28404
28405         stdbool: Update doc.
28406         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28407         Info from Christian Weisgerber <naddy@mips.inka.de>.
28408
28409 2010-07-01  Jim Meyering  <meyering@redhat.com>
28410
28411         hash: extend module to deal with non-pointer keys
28412         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28413         but that allows insertion of non-pointer entries.
28414         Do not disallow an ENTRY value of NULL.
28415         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28416         * lib/hash.h (hash_insert0): Declare.
28417
28418 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28419
28420         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28421         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28422         not present (i.e. with autoconf 2.59 and when using gettextize, not
28423         gnulib), require AC_GNU_SOURCE instead.
28424
28425 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28426
28427         idpriv-drop: Fix tests.
28428         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28429         not to the test-idpriv-droptemp program.
28430
28431 2010-06-29  Bruno Haible  <bruno@clisp.org>
28432
28433         string: Fix syntax error with g++ 2.96.
28434         * lib/string.in.h (__pure__): Remove definition.
28435         (_GL_ATTRIBUTE_PURE): New macro.
28436         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28437         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28438         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28439
28440 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28441
28442         unitypes: Fix bug introduced on 2010-05-18.
28443         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28444
28445 2010-06-22  Eric Blake  <eblake@redhat.com>
28446
28447         memmem: slight optimization
28448         * lib/str-two-way.h (critical_factorization): Update comments.
28449         Reduce work during factorization phase.
28450         Reported by Carlos Bueno <carlos@bueno.org>.
28451
28452 2010-06-21  Bruno Haible  <bruno@clisp.org>
28453
28454         Fix HAVE_CALLOC_POSIX misnomer.
28455         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28456         !HAVE_CALLOC_POSIX.
28457         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28458         HAVE_CALLOC_POSIX.
28459         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28460         instead of HAVE_CALLOC_POSIX.
28461         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28462         HAVE_CALLOC_POSIX.
28463
28464         Use modern idiom for calloc() replacement.
28465         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28466         AC_FUNC_CALLOC.
28467         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28468         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28469         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28470         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28471         (gl_REPLACE_CALLOC): New macro.
28472
28473 2010-06-21  Bruno Haible  <bruno@clisp.org>
28474
28475         Fix HAVE_REALLOC_POSIX misnomer.
28476         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28477         !HAVE_REALLOC_POSIX.
28478         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28479         HAVE_REALLOC_POSIX.
28480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28481         instead of HAVE_REALLOC_POSIX.
28482         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28483         HAVE_REALLOC_POSIX.
28484
28485         Use modern idiom for realloc() replacement.
28486         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28487         AC_FUNC_REALLOC.
28488         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28489         Autoconf's AC_FUNC_REALLOC.
28490         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28491         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28492         (gl_REPLACE_REALLOC): New macro.
28493         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28494
28495 2010-06-21  Bruno Haible  <bruno@clisp.org>
28496
28497         Fix HAVE_MALLOC_POSIX misnomer.
28498         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28499         !HAVE_MALLOC_POSIX.
28500         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28501         HAVE_MALLOC_POSIX.
28502         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28503         instead of HAVE_MALLOC_POSIX.
28504         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28505         HAVE_MALLOC_POSIX.
28506
28507         Use modern idiom for malloc() replacement.
28508         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28509         AC_FUNC_MALLOC.
28510         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28511         Autoconf's AC_FUNC_MALLOC.
28512         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28513         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28514         (gl_REPLACE_MALLOC): New macro.
28515         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28516
28517 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28518
28519         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28520         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28521         This macro takes 3 arguments, not 4.
28522
28523 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28524
28525         ipv6: fix detection under mingw
28526         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28527         in6_addr.
28528
28529 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28530
28531         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28532         that strtod() works when cross-compiling to a glibc version known
28533         to work.
28534
28535 2010-06-15  Bruno Haible  <bruno@clisp.org>
28536
28537         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28538
28539 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28540
28541         select: Correct timeout.
28542         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28543
28544 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28545
28546         git-version-gen: init shell var to avoid env var influence
28547         * build-aux/git-version-gen (v): Init shell var to empty.
28548
28549 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28550
28551         priv-set: Don't assume that priv.h exists merely because getppriv does.
28552         See Jan Andersen's bug report about AIX 5L in
28553         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28554         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28555         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28556         * lib/priv-set.h: Likewise.
28557         * tests/test-priv-set.c: Likewise.
28558
28559 2010-06-13  Bruno Haible  <bruno@clisp.org>
28560
28561         relocatable: Make it easier to test whether to install wrappers.
28562         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28563         RELOCATABLE_VIA_WRAPPER.
28564
28565 2010-06-13  Bruno Haible  <bruno@clisp.org>
28566
28567         gnulib-tool: Display specified modules and dependencies differently.
28568         * gnulib-tool (func_show_module_list): New function.
28569         (func_import, func_create_testdir): Invoke it.
28570         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28571
28572 2010-06-13  Bruno Haible  <bruno@clisp.org>
28573
28574         gnulib-tool: Align code of func_import and func_create_testdir.
28575         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
28576         specified_modules.
28577
28578 2010-06-12  Jim Meyering  <meyering@redhat.com>
28579
28580         test-inttostr: avoid spurious failure on Solaris 9
28581         * tests/test-inttostr.c (main): Skip the test when snprintf fails
28582         to accept "%ju".  Reported by Bruno Haible.
28583
28584 2010-06-11  Jim Meyering  <meyering@redhat.com>
28585
28586         test-sys_socket: mark variables as used more readably
28587         * tests/test-sys_socket.c (main): Mark otherwise unused variables
28588         as "used" explicitly via (void) statement casts.  This is more
28589         readable than using them in an artificial return expression.
28590         Suggestion from Bruno Haible.
28591
28592 2010-06-11  Bruno Haible  <bruno@clisp.org>
28593
28594         Avoid some more warnings from "gcc -Wwrite-strings".
28595         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
28596         to 'const char *'.
28597         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
28598         * tests/test-c-strcasestr.c (main): Likewise.
28599         * tests/test-mbscasestr1.c (main): Likewise.
28600         * tests/test-mbscasestr2.c (main): Likewise.
28601         * tests/test-memmem.c (main): Likewise.
28602         * tests/test-strstr.c (main): Likewise.
28603         * tests/test-strcasestr.c (main): Likewise.
28604
28605 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28606
28607         init.sh: change framework_failure_ to fail with status 99, not 1
28608         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
28609         automake's parallel-tests rule that this is an unexpected failure,
28610         even if the test is listed in XFAIL_TESTS.
28611
28612 2010-06-11  Jim Meyering  <meyering@redhat.com>
28613
28614         test-inttostr: avoid warnings about 4-6KB literal strings
28615         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
28616         Include "macros.h", for its definition of ASSERT.
28617         (CK): s/assert/ASSERT/
28618         * modules/inttostr-tests (Files): Add macros.h.
28619
28620         init.sh: don't use $ME_ or skip_ before they are defined
28621         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
28622         their first uses.  Also hoist their companions: warn_, fail_,
28623         framework_failure_, $stderr_fileno.  Prompted by a patch from
28624         Stefano Lattarini.
28625
28626         test-sys_socket: avoid set-but-not-used warnings from gcc
28627         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
28628         avoid warning about set-but-not-used variables.
28629
28630         test-xvasprintf: avoid 'const' discard warnings
28631         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
28632         "const" when assigning from literal strings.
28633         (test_xasprintf): Add "void" in function argument list to placate
28634         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
28635
28636         tests: avoid compilation warnings in argmatch and exclude tests...
28637         in packages that define ARGMATCH_DIE_DECL, like coreutils.
28638         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
28639         Since it always exits, declare with the "noreturn" attribute.
28640         * tests/test-argmatch.c: Likewise.
28641
28642         tests: avoid 'const' discard warnings in mbsstr tests
28643         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
28644         * tests/test-mbsstr2.c (main): Likewise.
28645
28646         test-verify: avoid warning from gcc's -Wmissing-declarations
28647         * tests/test-verify.c (function): Declare to be static.
28648
28649         test-inttostr.c: include <string.h> for use of strcmp
28650         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
28651
28652         test-linkat: avoid failed assertion on "other" architectures
28653         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
28654         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
28655         sparc: https://bugs.launchpad.net/bugs/591968
28656
28657 2010-06-11  Jim Meyering  <meyering@redhat.com>
28658
28659         printf.m4: avoid autoconf's "Expanded Before Required" warning
28660         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
28661         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
28662         autoconf warning.
28663
28664 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
28665
28666         Replacement header templates are now named with ".in", not "_".
28667         * doc/gnulib-intro.texi: Correct.
28668
28669 2010-06-10  Jim Meyering  <meyering@redhat.com>
28670
28671         inttostr-tests: depend on snprintf, not snprintf-posix
28672         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
28673         snprintf-posix, to avoid this aclocal failure:
28674           missing file gnulib-tests/vasnprintf.c
28675           configure.ac:45: error: expected source file, required through \
28676           AC_LIBSOURCES, not found
28677
28678 2010-06-10  Jim Meyering  <meyering@redhat.com>
28679
28680         inttostr: add a new function, inttostr, and tests
28681         The namesake function was not available.  The existence of the
28682         template file, inttostr.c makes its addition nontrivial.
28683         * lib/anytostr.c: Rename from inttostr.c.
28684         (anytostr): Rename from inttostr.
28685         * lib/inttostr.c: New file.
28686         * modules/inttostr (Files): Add anytostr.c.
28687         (Makefile.am): Set lib_SOURCES instead of ...
28688         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
28689         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
28690         * lib/offtostr.c: Likewise.
28691         * lib/uinttostr.c: Likewise.
28692         * lib/umaxtostr.c: Likewise.
28693         * modules/inttostr-tests: New file.
28694         * tests/test-inttostr.c: New file.  Test these functions.
28695
28696 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
28697             Bruno Haible  <bruno@clisp.org>
28698
28699         Add "Extending Gnulib" chapter to manual.
28700         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
28701         chapter.
28702         (Extending Gnulib): New chapter.
28703         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
28704         chapter.
28705
28706 2010-06-09  Bruno Haible  <bruno@clisp.org>
28707
28708         Avoid relocwrapper link errors due to gnulib replacement functions.
28709         * lib/areadlink.c: Use the system's malloc, realloc functions.
28710         (areadlink): Set errno to ENOMEM explicitly.
28711         * modules/areadlink (Depends-on): Remove malloc-posix.
28712         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28713
28714 2010-06-09  Bruno Haible  <bruno@clisp.org>
28715
28716         Avoid relocwrapper link errors due to gnulib replacement functions.
28717         * lib/canonicalize-lgpl.c: Use the system's malloc function.
28718         * lib/malloca.c: Likewise.
28719         * lib/relocatable.c: Likewise.
28720         * lib/progreloc.c: Use the system's malloc, sprintf functions.
28721         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
28722         * lib/setenv.c: Use the system's malloc, realloc functions.
28723         * lib/strerror.c: Use the system's sprintf function.
28724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28725
28726 2010-06-04  Bruno Haible  <bruno@clisp.org>
28727
28728         Prefer documented low-level autoconf macro names.
28729         * m4/lib-link.m4: Use m4_translit instead of translit.
28730         * m4/environ.m4: Likewise.
28731         * m4/mathfunc.m4: Likewise.
28732         * m4/onceonly.m4: Likewise.
28733         * m4/stdint.m4: Likewise.
28734         Suggested by Eric Blake.
28735
28736 2010-06-04  Martin Lambers  <marlam@marlam.de>
28737             Bruno Haible  <bruno@clisp.org>
28738
28739         havelib: Allow library names with '+' characters.
28740         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28741         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
28742
28743 2010-06-09  Bruno Haible  <bruno@clisp.org>
28744
28745         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
28746         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
28747         realloc failed.
28748
28749 2010-06-08  Peter Simons  <simons@cryp.to>
28750
28751         maint.mk: make the news-check rule more configurable
28752         * top/maint.mk (news-check-lines-spec): New variable.
28753         (news-check): Use "sed -n 1,10p" in place of "head".
28754
28755 2010-06-07  Jim Meyering  <meyering@redhat.com>
28756
28757         do-release-commit-and-tag: fix typo in --help
28758         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
28759
28760         regex: avoid new dead-code warning with gcc-4.6.0
28761         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
28762         if-block containing a while-loop.  It's been unused for at least
28763         5 years.
28764
28765 2010-06-05  Bruno Haible  <bruno@clisp.org>
28766
28767         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28768         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28769
28770 2010-06-04  Bruno Haible  <bruno@clisp.org>
28771
28772         Update to GNU gettext 0.18.1.
28773         * modules/gettext (configure.ac): Require gettext infrastructure from
28774         version 0.18.1.
28775
28776 2010-06-03  Bruno Haible  <bruno@clisp.org>
28777
28778         Don't use AC_LIBOBJ with file names in subdirectories.
28779         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28780         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28781         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28782         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28783         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28784         gl_LIBUNISTRING_LIBSOURCE.
28785         (Makefile.am): Augment lib_SOURCES here, conditionally.
28786         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28787
28788 2010-06-03  Bruno Haible  <bruno@clisp.org>
28789
28790         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28791         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28792         expansion does not end with a newline.
28793         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28794         unnecessary newline.
28795
28796 2010-06-03  Bruno Haible  <bruno@clisp.org>
28797
28798         Reduce dependencies.
28799         * tests/test-quotearg.h: New file, extracted from
28800         tests/test-quotearg.c.
28801         * tests/test-quotearg-simple.c: New file, extracted from
28802         tests/test-quotearg.c.
28803         * tests/test-quotearg.c: Don't include <ctype.h>.
28804         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28805         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28806         use_quote_double_quotes, use_quotearg_colon): Moved to
28807         tests/test-quotearg.h.
28808         (results_g, flag_results, custom_quotes, custom_results): Moved
28809         to tests/test-quotearg-simple.c.
28810         (main): Moved the part that does not depend on gettext to
28811         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28812         performed.
28813         * modules/quotearg-simple: New file.
28814         * modules/quotearg-simple-tests: New file.
28815         * modules/quotearg (Depends-on): Add quotearg-simple.
28816         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28817         (Files): Add tests/test-quotearg.h.
28818         Reported by Paolo Bonzini.
28819
28820 2010-06-03  Bruno Haible  <bruno@clisp.org>
28821
28822         Reduce dependencies.
28823         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28824
28825 2010-06-03  Bruno Haible  <bruno@clisp.org>
28826
28827         time: Undefine more broken macros.
28828         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28829         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28830         Reported by Eric Blake.
28831
28832 2010-06-03  Bruno Haible  <bruno@clisp.org>
28833
28834         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28835         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28836         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28837         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28838         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28839         Reported by Ludovic Courtès <ludo@gnu.org>.
28840
28841 2010-06-02  Eric Blake  <eblake@redhat.com>
28842
28843         time: work with mingw + pthreads-win32 library
28844         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28845         if timespec is defined only in pthread.h.
28846         * modules/time (Makefile.am): Substitute it.
28847         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28848         <pthread.h>, when needed.
28849         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28850         from the library.
28851
28852 2010-05-31  Bruno Haible  <bruno@clisp.org>
28853
28854         Avoid expanding two macros in the wrong order.
28855         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28856         gl_LIBUNISTRING if it is defined.
28857         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28858         autoconf >= 2.64.
28859         Reported by Ludovic Courtès <ludo@gnu.org>.
28860
28861 2010-05-27  Jim Meyering  <meyering@redhat.com>
28862
28863         maint.mk: also prohibit "#undef" of always-defined symbols
28864         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28865         Allow more than one space before the symbol name.
28866         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28867         the regexp uses alternation.
28868
28869 2010-05-26  Eric Blake  <eblake@redhat.com>
28870
28871         maint.mk: avoid echo -e
28872         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28873         Convert all uses of echo -* to printf.
28874         Reported by Matthias Bolte.
28875
28876 2010-05-25  Bruno Haible  <bruno@clisp.org>
28877
28878         Update to GNU gettext 0.18, part 2.
28879         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28880         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28881
28882 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28883
28884         Add missing include in test-pwrite.c.
28885         * tests/test-pwrite.c: Include string.h, for strcmp.
28886
28887 2010-05-24  Bruno Haible  <bruno@clisp.org>
28888
28889         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28890
28891 2010-05-24  Bruno Haible  <bruno@clisp.org>
28892
28893         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28894         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28895         iconveh_error argument.
28896         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28897         U_STRCONV_TO_LOCALE.
28898         * lib/unistr/u16-strcoll.c: Likewise.
28899         * lib/unistr/u32-strcoll.c: Likewise.
28900         * modules/unistr/u8-strcoll (Depends-on): Add
28901         uniconv/u8-strconv-to-enc, localcharset. Remove
28902         uniconv/u8-strconv-to-locale.
28903         (configure.ac): Bump version number.
28904         * modules/unistr/u16-strcoll (Depends-on): Add
28905         uniconv/u16-strconv-to-enc, localcharset. Remove
28906         uniconv/u16-strconv-to-locale.
28907         (configure.ac): Bump version number.
28908         * modules/unistr/u32-strcoll (Depends-on): Add
28909         uniconv/u32-strconv-to-enc, localcharset. Remove
28910         uniconv/u32-strconv-to-locale.
28911         (configure.ac): Bump version number.
28912
28913 2010-05-24  Bruno Haible  <bruno@clisp.org>
28914
28915         Avoid a test failure on NetBSD 5.0.
28916         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28917         an iconv() bug.
28918
28919 2010-05-24  Bruno Haible  <bruno@clisp.org>
28920
28921         Adjust #include directive style.
28922         * modules/regex (Includes): Recommend to write <regex.h>.
28923
28924 2010-05-24  Bruno Haible  <bruno@clisp.org>
28925
28926         regex: Don't require alloca.
28927         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28928         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28929         only inside if (0).
28930
28931 2010-05-23  Jim Meyering  <meyering@redhat.com>
28932
28933         test-renameat.c: include <sys/stat.h>
28934         * tests/test-renameat.c: Include <sys/stat.h>; required for
28935         definition of S_IS* macros.
28936
28937 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28938
28939         Update maintainer documentation for 'relocatable-prog' module.
28940         * doc/relocatable-maint.texi: Update.
28941         Comments by Bruno Haible.
28942
28943 2010-05-23  Bruno Haible  <bruno@clisp.org>
28944
28945         git-merge-changelog: Enable --split-merged-entry by default.
28946         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28947         (usage): Don't mention this option any more.
28948         Reported by Ralf Wildenhues.
28949
28950 2010-05-23  Jim Meyering  <meyering@redhat.com>
28951
28952         test-pwrite: do not leave behind a test file named "out"
28953         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28954         The trivial-looking use of init.sh is really necessary.
28955         It ensures that the temporary file, "out", is created in
28956         a temporary directory, and removed upon termination.
28957         * tests/test-pwrite.sh: Re-add file.
28958         * modules/pwrite-tests: Reference it.
28959
28960 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28961
28962         Fix output redirection buglet in init.sh.
28963         * tests/init.sh: Fix redirection of stderr.
28964
28965 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28966
28967         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28968
28969 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28970
28971         * modules/valgrind-tests: New file.
28972         * m4/valgrind-tests.m4: New file.
28973         * doc/valgrind-tests.texi: New file.
28974         * doc/gnulib.texi (Running self-tests under valgrind): New
28975         section.
28976
28977 2010-05-19  Bruno Haible  <bruno@clisp.org>
28978
28979         Clean up dead code in recent commit.
28980         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28981         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28982         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28983         Suggested by Paolo Bonzini.
28984
28985 2010-05-19  Bruno Haible  <bruno@clisp.org>
28986
28987         Avoid valgrind error reports from libunistring.
28988         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28989         * modules/libunistring (Files): Add it.
28990         * modules/libunistring-optional (Files): Likewise.
28991
28992 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28993             Bruno Haible  <bruno@clisp.org>
28994
28995         New module 'libunistring-optional'.
28996         * modules/libunistring-optional: New file.
28997         * m4/libunistring-base.m4: New file.
28998         * m4/libunistring-optional.m4: New file.
28999         * lib/unicase.in.h: Renamed from lib/unicase.h.
29000         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29001         * lib/unictype.in.h: Renamed from lib/unictype.h.
29002         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29003         * lib/uniname.in.h: Renamed from lib/uniname.h.
29004         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29005         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29006         * lib/unistr.in.h: Renamed from lib/unistr.h.
29007         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29008         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29009         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29010         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29011         gl_LIBUNISTRING. If the library was found, determine the installed
29012         version and set LIBUNISTRING_VERSION.
29013         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29014         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29015         handle a configuration option --with-included-libunistring.
29016         * modules/libunistring (Files): Add m4/absolute-header.m4.
29017         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29018         Add m4/libunistring-base.m4.
29019         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29020         (Makefile.am): Build unicase.h from unicase.in.h.
29021         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29022         Add m4/libunistring-base.m4.
29023         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29024         (Makefile.am): Build uniconv.h from uniconv.in.h.
29025         * modules/unictype/base (Files): Use unictype.in.h instead of
29026         unictype.h. Add m4/libunistring-base.m4.
29027         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29028         (Makefile.am): Build unictype.h from unictype.in.h.
29029         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29030         Add m4/libunistring-base.m4.
29031         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29032         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29033         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29034         Add m4/libunistring-base.m4.
29035         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29036         (Makefile.am): Build uniname.h from uniname.in.h.
29037         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29038         Add m4/libunistring-base.m4.
29039         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29040         (Makefile.am): Build uninorm.h from uninorm.in.h.
29041         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29042         unistdio.h. Add m4/libunistring-base.m4.
29043         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29044         (Makefile.am): Build unistdio.h from unistdio.in.h.
29045         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29046         Add m4/libunistring-base.m4.
29047         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29048         (Makefile.am): Build unistr.h from unistr.in.h.
29049         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29050         Add m4/libunistring-base.m4.
29051         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29052         (Makefile.am): Build unitypes.h from unitypes.in.h.
29053         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29054         Add m4/libunistring-base.m4.
29055         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29056         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29057         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29058         uniwidth.h. Add m4/libunistring-base.m4.
29059         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29060         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29061         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29062         instead of augmenting lib_SOURCES.
29063         * modules/unicase/empty-suffix-context: Likewise.
29064         * modules/unicase/locale-language: Likewise.
29065         * modules/unicase/tolower: Likewise.
29066         * modules/unicase/totitle: Likewise.
29067         * modules/unicase/toupper: Likewise.
29068         * modules/unicase/u8-casecmp: Likewise.
29069         * modules/unicase/u8-casecoll: Likewise.
29070         * modules/unicase/u8-casefold: Likewise.
29071         * modules/unicase/u8-casexfrm: Likewise.
29072         * modules/unicase/u8-ct-casefold: Likewise.
29073         * modules/unicase/u8-ct-tolower: Likewise.
29074         * modules/unicase/u8-ct-totitle: Likewise.
29075         * modules/unicase/u8-ct-toupper: Likewise.
29076         * modules/unicase/u8-is-cased: Likewise.
29077         * modules/unicase/u8-is-casefolded: Likewise.
29078         * modules/unicase/u8-is-lowercase: Likewise.
29079         * modules/unicase/u8-is-titlecase: Likewise.
29080         * modules/unicase/u8-is-uppercase: Likewise.
29081         * modules/unicase/u8-prefix-context: Likewise.
29082         * modules/unicase/u8-suffix-context: Likewise.
29083         * modules/unicase/u8-tolower: Likewise.
29084         * modules/unicase/u8-totitle: Likewise.
29085         * modules/unicase/u8-toupper: Likewise.
29086         * modules/unicase/u16-casecmp: Likewise.
29087         * modules/unicase/u16-casecoll: Likewise.
29088         * modules/unicase/u16-casefold: Likewise.
29089         * modules/unicase/u16-casexfrm: Likewise.
29090         * modules/unicase/u16-ct-casefold: Likewise.
29091         * modules/unicase/u16-ct-tolower: Likewise.
29092         * modules/unicase/u16-ct-totitle: Likewise.
29093         * modules/unicase/u16-ct-toupper: Likewise.
29094         * modules/unicase/u16-is-cased: Likewise.
29095         * modules/unicase/u16-is-casefolded: Likewise.
29096         * modules/unicase/u16-is-lowercase: Likewise.
29097         * modules/unicase/u16-is-titlecase: Likewise.
29098         * modules/unicase/u16-is-uppercase: Likewise.
29099         * modules/unicase/u16-prefix-context: Likewise.
29100         * modules/unicase/u16-suffix-context: Likewise.
29101         * modules/unicase/u16-tolower: Likewise.
29102         * modules/unicase/u16-totitle: Likewise.
29103         * modules/unicase/u16-toupper: Likewise.
29104         * modules/unicase/u32-casecmp: Likewise.
29105         * modules/unicase/u32-casecoll: Likewise.
29106         * modules/unicase/u32-casefold: Likewise.
29107         * modules/unicase/u32-casexfrm: Likewise.
29108         * modules/unicase/u32-ct-casefold: Likewise.
29109         * modules/unicase/u32-ct-tolower: Likewise.
29110         * modules/unicase/u32-ct-totitle: Likewise.
29111         * modules/unicase/u32-ct-toupper: Likewise.
29112         * modules/unicase/u32-is-cased: Likewise.
29113         * modules/unicase/u32-is-casefolded: Likewise.
29114         * modules/unicase/u32-is-lowercase: Likewise.
29115         * modules/unicase/u32-is-titlecase: Likewise.
29116         * modules/unicase/u32-is-uppercase: Likewise.
29117         * modules/unicase/u32-prefix-context: Likewise.
29118         * modules/unicase/u32-suffix-context: Likewise.
29119         * modules/unicase/u32-tolower: Likewise.
29120         * modules/unicase/u32-totitle: Likewise.
29121         * modules/unicase/u32-toupper: Likewise.
29122         * modules/unicase/ulc-casecmp: Likewise.
29123         * modules/unicase/ulc-casecoll: Likewise.
29124         * modules/unicase/ulc-casexfrm: Likewise.
29125         * modules/uniconv/u8-conv-from-enc: Likewise.
29126         * modules/uniconv/u8-conv-to-enc: Likewise.
29127         * modules/uniconv/u8-strconv-from-enc: Likewise.
29128         * modules/uniconv/u8-strconv-from-locale: Likewise.
29129         * modules/uniconv/u8-strconv-to-enc: Likewise.
29130         * modules/uniconv/u8-strconv-to-locale: Likewise.
29131         * modules/uniconv/u16-conv-from-enc: Likewise.
29132         * modules/uniconv/u16-conv-to-enc: Likewise.
29133         * modules/uniconv/u16-strconv-from-enc: Likewise.
29134         * modules/uniconv/u16-strconv-from-locale: Likewise.
29135         * modules/uniconv/u16-strconv-to-enc: Likewise.
29136         * modules/uniconv/u16-strconv-to-locale: Likewise.
29137         * modules/uniconv/u32-conv-from-enc: Likewise.
29138         * modules/uniconv/u32-conv-to-enc: Likewise.
29139         * modules/uniconv/u32-strconv-from-enc: Likewise.
29140         * modules/uniconv/u32-strconv-from-locale: Likewise.
29141         * modules/uniconv/u32-strconv-to-enc: Likewise.
29142         * modules/uniconv/u32-strconv-to-locale: Likewise.
29143         * modules/unictype/bidicategory-byname: Likewise.
29144         * modules/unictype/bidicategory-name: Likewise.
29145         * modules/unictype/bidicategory-of: Likewise.
29146         * modules/unictype/bidicategory-test: Likewise.
29147         * modules/unictype/block-list: Likewise.
29148         * modules/unictype/block-test: Likewise.
29149         * modules/unictype/category-C: Likewise.
29150         * modules/unictype/category-Cc: Likewise.
29151         * modules/unictype/category-Cf: Likewise.
29152         * modules/unictype/category-Cn: Likewise.
29153         * modules/unictype/category-Co: Likewise.
29154         * modules/unictype/category-Cs: Likewise.
29155         * modules/unictype/category-L: Likewise.
29156         * modules/unictype/category-Ll: Likewise.
29157         * modules/unictype/category-Lm: Likewise.
29158         * modules/unictype/category-Lo: Likewise.
29159         * modules/unictype/category-Lt: Likewise.
29160         * modules/unictype/category-Lu: Likewise.
29161         * modules/unictype/category-M: Likewise.
29162         * modules/unictype/category-Mc: Likewise.
29163         * modules/unictype/category-Me: Likewise.
29164         * modules/unictype/category-Mn: Likewise.
29165         * modules/unictype/category-N: Likewise.
29166         * modules/unictype/category-Nd: Likewise.
29167         * modules/unictype/category-Nl: Likewise.
29168         * modules/unictype/category-No: Likewise.
29169         * modules/unictype/category-P: Likewise.
29170         * modules/unictype/category-Pc: Likewise.
29171         * modules/unictype/category-Pd: Likewise.
29172         * modules/unictype/category-Pe: Likewise.
29173         * modules/unictype/category-Pf: Likewise.
29174         * modules/unictype/category-Pi: Likewise.
29175         * modules/unictype/category-Po: Likewise.
29176         * modules/unictype/category-Ps: Likewise.
29177         * modules/unictype/category-S: Likewise.
29178         * modules/unictype/category-Sc: Likewise.
29179         * modules/unictype/category-Sk: Likewise.
29180         * modules/unictype/category-Sm: Likewise.
29181         * modules/unictype/category-So: Likewise.
29182         * modules/unictype/category-Z: Likewise.
29183         * modules/unictype/category-Zl: Likewise.
29184         * modules/unictype/category-Zp: Likewise.
29185         * modules/unictype/category-Zs: Likewise.
29186         * modules/unictype/category-and: Likewise.
29187         * modules/unictype/category-and-not: Likewise.
29188         * modules/unictype/category-byname: Likewise.
29189         * modules/unictype/category-name: Likewise.
29190         * modules/unictype/category-none: Likewise.
29191         * modules/unictype/category-of: Likewise.
29192         * modules/unictype/category-or: Likewise.
29193         * modules/unictype/category-test: Likewise.
29194         * modules/unictype/combining-class: Likewise.
29195         * modules/unictype/ctype-alnum: Likewise.
29196         * modules/unictype/ctype-alpha: Likewise.
29197         * modules/unictype/ctype-blank: Likewise.
29198         * modules/unictype/ctype-cntrl: Likewise.
29199         * modules/unictype/ctype-digit: Likewise.
29200         * modules/unictype/ctype-graph: Likewise.
29201         * modules/unictype/ctype-lower: Likewise.
29202         * modules/unictype/ctype-print: Likewise.
29203         * modules/unictype/ctype-punct: Likewise.
29204         * modules/unictype/ctype-space: Likewise.
29205         * modules/unictype/ctype-upper: Likewise.
29206         * modules/unictype/ctype-xdigit: Likewise.
29207         * modules/unictype/decimal-digit: Likewise.
29208         * modules/unictype/digit: Likewise.
29209         * modules/unictype/mirror: Likewise.
29210         * modules/unictype/numeric: Likewise.
29211         * modules/unictype/property-alphabetic: Likewise.
29212         * modules/unictype/property-ascii-hex-digit: Likewise.
29213         * modules/unictype/property-bidi-arabic-digit: Likewise.
29214         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29215         * modules/unictype/property-bidi-block-separator: Likewise.
29216         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29217         * modules/unictype/property-bidi-common-separator: Likewise.
29218         * modules/unictype/property-bidi-control: Likewise.
29219         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29220         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29221         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29222         * modules/unictype/property-bidi-european-digit: Likewise.
29223         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29224         * modules/unictype/property-bidi-left-to-right: Likewise.
29225         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29226         * modules/unictype/property-bidi-other-neutral: Likewise.
29227         * modules/unictype/property-bidi-pdf: Likewise.
29228         * modules/unictype/property-bidi-segment-separator: Likewise.
29229         * modules/unictype/property-bidi-whitespace: Likewise.
29230         * modules/unictype/property-byname: Likewise.
29231         * modules/unictype/property-combining: Likewise.
29232         * modules/unictype/property-composite: Likewise.
29233         * modules/unictype/property-currency-symbol: Likewise.
29234         * modules/unictype/property-dash: Likewise.
29235         * modules/unictype/property-decimal-digit: Likewise.
29236         * modules/unictype/property-default-ignorable-code-point: Likewise.
29237         * modules/unictype/property-deprecated: Likewise.
29238         * modules/unictype/property-diacritic: Likewise.
29239         * modules/unictype/property-extender: Likewise.
29240         * modules/unictype/property-format-control: Likewise.
29241         * modules/unictype/property-grapheme-base: Likewise.
29242         * modules/unictype/property-grapheme-extend: Likewise.
29243         * modules/unictype/property-grapheme-link: Likewise.
29244         * modules/unictype/property-hex-digit: Likewise.
29245         * modules/unictype/property-hyphen: Likewise.
29246         * modules/unictype/property-id-continue: Likewise.
29247         * modules/unictype/property-id-start: Likewise.
29248         * modules/unictype/property-ideographic: Likewise.
29249         * modules/unictype/property-ids-binary-operator: Likewise.
29250         * modules/unictype/property-ids-trinary-operator: Likewise.
29251         * modules/unictype/property-ignorable-control: Likewise.
29252         * modules/unictype/property-iso-control: Likewise.
29253         * modules/unictype/property-join-control: Likewise.
29254         * modules/unictype/property-left-of-pair: Likewise.
29255         * modules/unictype/property-line-separator: Likewise.
29256         * modules/unictype/property-logical-order-exception: Likewise.
29257         * modules/unictype/property-lowercase: Likewise.
29258         * modules/unictype/property-math: Likewise.
29259         * modules/unictype/property-non-break: Likewise.
29260         * modules/unictype/property-not-a-character: Likewise.
29261         * modules/unictype/property-numeric: Likewise.
29262         * modules/unictype/property-other-alphabetic: Likewise.
29263         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29264         * modules/unictype/property-other-grapheme-extend: Likewise.
29265         * modules/unictype/property-other-id-continue: Likewise.
29266         * modules/unictype/property-other-id-start: Likewise.
29267         * modules/unictype/property-other-lowercase: Likewise.
29268         * modules/unictype/property-other-math: Likewise.
29269         * modules/unictype/property-other-uppercase: Likewise.
29270         * modules/unictype/property-paired-punctuation: Likewise.
29271         * modules/unictype/property-paragraph-separator: Likewise.
29272         * modules/unictype/property-pattern-syntax: Likewise.
29273         * modules/unictype/property-pattern-white-space: Likewise.
29274         * modules/unictype/property-private-use: Likewise.
29275         * modules/unictype/property-punctuation: Likewise.
29276         * modules/unictype/property-quotation-mark: Likewise.
29277         * modules/unictype/property-radical: Likewise.
29278         * modules/unictype/property-sentence-terminal: Likewise.
29279         * modules/unictype/property-soft-dotted: Likewise.
29280         * modules/unictype/property-space: Likewise.
29281         * modules/unictype/property-terminal-punctuation: Likewise.
29282         * modules/unictype/property-test: Likewise.
29283         * modules/unictype/property-titlecase: Likewise.
29284         * modules/unictype/property-unassigned-code-value: Likewise.
29285         * modules/unictype/property-unified-ideograph: Likewise.
29286         * modules/unictype/property-uppercase: Likewise.
29287         * modules/unictype/property-variation-selector: Likewise.
29288         * modules/unictype/property-white-space: Likewise.
29289         * modules/unictype/property-xid-continue: Likewise.
29290         * modules/unictype/property-xid-start: Likewise.
29291         * modules/unictype/property-zero-width: Likewise.
29292         * modules/unictype/scripts: Likewise.
29293         * modules/unictype/syntax-c-ident: Likewise.
29294         * modules/unictype/syntax-c-whitespace: Likewise.
29295         * modules/unictype/syntax-java-ident: Likewise.
29296         * modules/unictype/syntax-java-whitespace: Likewise.
29297         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29298         * modules/unilbrk/u8-width-linebreaks: Likewise.
29299         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29300         * modules/unilbrk/u16-width-linebreaks: Likewise.
29301         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29302         * modules/unilbrk/u32-width-linebreaks: Likewise.
29303         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29304         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29305         * modules/uniname/uniname: Likewise.
29306         * modules/uninorm/canonical-decomposition: Likewise.
29307         * modules/uninorm/composition: Likewise.
29308         * modules/uninorm/decomposing-form: Likewise.
29309         * modules/uninorm/decomposition: Likewise.
29310         * modules/uninorm/filter: Likewise.
29311         * modules/uninorm/nfc: Likewise.
29312         * modules/uninorm/nfd: Likewise.
29313         * modules/uninorm/nfkc: Likewise.
29314         * modules/uninorm/nfkd: Likewise.
29315         * modules/uninorm/u8-normalize: Likewise.
29316         * modules/uninorm/u8-normcmp: Likewise.
29317         * modules/uninorm/u8-normcoll: Likewise.
29318         * modules/uninorm/u8-normxfrm: Likewise.
29319         * modules/uninorm/u16-normalize: Likewise.
29320         * modules/uninorm/u16-normcmp: Likewise.
29321         * modules/uninorm/u16-normcoll: Likewise.
29322         * modules/uninorm/u16-normxfrm: Likewise.
29323         * modules/uninorm/u32-normalize: Likewise.
29324         * modules/uninorm/u32-normcmp: Likewise.
29325         * modules/uninorm/u32-normcoll: Likewise.
29326         * modules/uninorm/u32-normxfrm: Likewise.
29327         * modules/unistdio/u8-asnprintf: Likewise.
29328         * modules/unistdio/u8-asprintf: Likewise.
29329         * modules/unistdio/u8-snprintf: Likewise.
29330         * modules/unistdio/u8-sprintf: Likewise.
29331         * modules/unistdio/u8-u8-asnprintf: Likewise.
29332         * modules/unistdio/u8-u8-asprintf: Likewise.
29333         * modules/unistdio/u8-u8-snprintf: Likewise.
29334         * modules/unistdio/u8-u8-sprintf: Likewise.
29335         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29336         * modules/unistdio/u8-u8-vasprintf: Likewise.
29337         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29338         * modules/unistdio/u8-u8-vsprintf: Likewise.
29339         * modules/unistdio/u8-vasnprintf: Likewise.
29340         * modules/unistdio/u8-vasprintf: Likewise.
29341         * modules/unistdio/u8-vsnprintf: Likewise.
29342         * modules/unistdio/u8-vsprintf: Likewise.
29343         * modules/unistdio/u16-asnprintf: Likewise.
29344         * modules/unistdio/u16-asprintf: Likewise.
29345         * modules/unistdio/u16-snprintf: Likewise.
29346         * modules/unistdio/u16-sprintf: Likewise.
29347         * modules/unistdio/u16-u16-asnprintf: Likewise.
29348         * modules/unistdio/u16-u16-asprintf: Likewise.
29349         * modules/unistdio/u16-u16-snprintf: Likewise.
29350         * modules/unistdio/u16-u16-sprintf: Likewise.
29351         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29352         * modules/unistdio/u16-u16-vasprintf: Likewise.
29353         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29354         * modules/unistdio/u16-u16-vsprintf: Likewise.
29355         * modules/unistdio/u16-vasnprintf: Likewise.
29356         * modules/unistdio/u16-vasprintf: Likewise.
29357         * modules/unistdio/u16-vsnprintf: Likewise.
29358         * modules/unistdio/u16-vsprintf: Likewise.
29359         * modules/unistdio/u32-asnprintf: Likewise.
29360         * modules/unistdio/u32-asprintf: Likewise.
29361         * modules/unistdio/u32-snprintf: Likewise.
29362         * modules/unistdio/u32-sprintf: Likewise.
29363         * modules/unistdio/u32-u32-asnprintf: Likewise.
29364         * modules/unistdio/u32-u32-asprintf: Likewise.
29365         * modules/unistdio/u32-u32-snprintf: Likewise.
29366         * modules/unistdio/u32-u32-sprintf: Likewise.
29367         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29368         * modules/unistdio/u32-u32-vasprintf: Likewise.
29369         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29370         * modules/unistdio/u32-u32-vsprintf: Likewise.
29371         * modules/unistdio/u32-vasnprintf: Likewise.
29372         * modules/unistdio/u32-vasprintf: Likewise.
29373         * modules/unistdio/u32-vsnprintf: Likewise.
29374         * modules/unistdio/u32-vsprintf: Likewise.
29375         * modules/unistdio/ulc-asnprintf: Likewise.
29376         * modules/unistdio/ulc-asprintf: Likewise.
29377         * modules/unistdio/ulc-fprintf: Likewise.
29378         * modules/unistdio/ulc-snprintf: Likewise.
29379         * modules/unistdio/ulc-sprintf: Likewise.
29380         * modules/unistdio/ulc-vasnprintf: Likewise.
29381         * modules/unistdio/ulc-vasprintf: Likewise.
29382         * modules/unistdio/ulc-vfprintf: Likewise.
29383         * modules/unistdio/ulc-vsnprintf: Likewise.
29384         * modules/unistdio/ulc-vsprintf: Likewise.
29385         * modules/unistr/u8-check: Likewise.
29386         * modules/unistr/u8-chr: Likewise.
29387         * modules/unistr/u8-cmp: Likewise.
29388         * modules/unistr/u8-cmp2: Likewise.
29389         * modules/unistr/u8-cpy: Likewise.
29390         * modules/unistr/u8-cpy-alloc: Likewise.
29391         * modules/unistr/u8-endswith: Likewise.
29392         * modules/unistr/u8-mblen: Likewise.
29393         * modules/unistr/u8-mbsnlen: Likewise.
29394         * modules/unistr/u8-mbtouc: Likewise.
29395         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29396         * modules/unistr/u8-mbtoucr: Likewise.
29397         * modules/unistr/u8-move: Likewise.
29398         * modules/unistr/u8-next: Likewise.
29399         * modules/unistr/u8-prev: Likewise.
29400         * modules/unistr/u8-set: Likewise.
29401         * modules/unistr/u8-startswith: Likewise.
29402         * modules/unistr/u8-stpcpy: Likewise.
29403         * modules/unistr/u8-stpncpy: Likewise.
29404         * modules/unistr/u8-strcat: Likewise.
29405         * modules/unistr/u8-strchr: Likewise.
29406         * modules/unistr/u8-strcmp: Likewise.
29407         * modules/unistr/u8-strcoll: Likewise.
29408         * modules/unistr/u8-strcpy: Likewise.
29409         * modules/unistr/u8-strcspn: Likewise.
29410         * modules/unistr/u8-strdup: Likewise.
29411         * modules/unistr/u8-strlen: Likewise.
29412         * modules/unistr/u8-strmblen: Likewise.
29413         * modules/unistr/u8-strmbtouc: Likewise.
29414         * modules/unistr/u8-strncat: Likewise.
29415         * modules/unistr/u8-strncmp: Likewise.
29416         * modules/unistr/u8-strncpy: Likewise.
29417         * modules/unistr/u8-strnlen: Likewise.
29418         * modules/unistr/u8-strpbrk: Likewise.
29419         * modules/unistr/u8-strrchr: Likewise.
29420         * modules/unistr/u8-strspn: Likewise.
29421         * modules/unistr/u8-strstr: Likewise.
29422         * modules/unistr/u8-strtok: Likewise.
29423         * modules/unistr/u8-to-u16: Likewise.
29424         * modules/unistr/u8-to-u32: Likewise.
29425         * modules/unistr/u8-uctomb: Likewise.
29426         * modules/unistr/u16-check: Likewise.
29427         * modules/unistr/u16-chr: Likewise.
29428         * modules/unistr/u16-cmp: Likewise.
29429         * modules/unistr/u16-cmp2: Likewise.
29430         * modules/unistr/u16-cpy: Likewise.
29431         * modules/unistr/u16-cpy-alloc: Likewise.
29432         * modules/unistr/u16-endswith: Likewise.
29433         * modules/unistr/u16-mblen: Likewise.
29434         * modules/unistr/u16-mbsnlen: Likewise.
29435         * modules/unistr/u16-mbtouc: Likewise.
29436         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29437         * modules/unistr/u16-mbtoucr: Likewise.
29438         * modules/unistr/u16-move: Likewise.
29439         * modules/unistr/u16-next: Likewise.
29440         * modules/unistr/u16-prev: Likewise.
29441         * modules/unistr/u16-set: Likewise.
29442         * modules/unistr/u16-startswith: Likewise.
29443         * modules/unistr/u16-stpcpy: Likewise.
29444         * modules/unistr/u16-stpncpy: Likewise.
29445         * modules/unistr/u16-strcat: Likewise.
29446         * modules/unistr/u16-strchr: Likewise.
29447         * modules/unistr/u16-strcmp: Likewise.
29448         * modules/unistr/u16-strcoll: Likewise.
29449         * modules/unistr/u16-strcpy: Likewise.
29450         * modules/unistr/u16-strcspn: Likewise.
29451         * modules/unistr/u16-strdup: Likewise.
29452         * modules/unistr/u16-strlen: Likewise.
29453         * modules/unistr/u16-strmblen: Likewise.
29454         * modules/unistr/u16-strmbtouc: Likewise.
29455         * modules/unistr/u16-strncat: Likewise.
29456         * modules/unistr/u16-strncmp: Likewise.
29457         * modules/unistr/u16-strncpy: Likewise.
29458         * modules/unistr/u16-strnlen: Likewise.
29459         * modules/unistr/u16-strpbrk: Likewise.
29460         * modules/unistr/u16-strrchr: Likewise.
29461         * modules/unistr/u16-strspn: Likewise.
29462         * modules/unistr/u16-strstr: Likewise.
29463         * modules/unistr/u16-strtok: Likewise.
29464         * modules/unistr/u16-to-u32: Likewise.
29465         * modules/unistr/u16-to-u8: Likewise.
29466         * modules/unistr/u16-uctomb: Likewise.
29467         * modules/unistr/u32-check: Likewise.
29468         * modules/unistr/u32-chr: Likewise.
29469         * modules/unistr/u32-cmp: Likewise.
29470         * modules/unistr/u32-cmp2: Likewise.
29471         * modules/unistr/u32-cpy: Likewise.
29472         * modules/unistr/u32-cpy-alloc: Likewise.
29473         * modules/unistr/u32-endswith: Likewise.
29474         * modules/unistr/u32-mblen: Likewise.
29475         * modules/unistr/u32-mbsnlen: Likewise.
29476         * modules/unistr/u32-mbtouc: Likewise.
29477         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29478         * modules/unistr/u32-mbtoucr: Likewise.
29479         * modules/unistr/u32-move: Likewise.
29480         * modules/unistr/u32-next: Likewise.
29481         * modules/unistr/u32-prev: Likewise.
29482         * modules/unistr/u32-set: Likewise.
29483         * modules/unistr/u32-startswith: Likewise.
29484         * modules/unistr/u32-stpcpy: Likewise.
29485         * modules/unistr/u32-stpncpy: Likewise.
29486         * modules/unistr/u32-strcat: Likewise.
29487         * modules/unistr/u32-strchr: Likewise.
29488         * modules/unistr/u32-strcmp: Likewise.
29489         * modules/unistr/u32-strcoll: Likewise.
29490         * modules/unistr/u32-strcpy: Likewise.
29491         * modules/unistr/u32-strcspn: Likewise.
29492         * modules/unistr/u32-strdup: Likewise.
29493         * modules/unistr/u32-strlen: Likewise.
29494         * modules/unistr/u32-strmblen: Likewise.
29495         * modules/unistr/u32-strmbtouc: Likewise.
29496         * modules/unistr/u32-strncat: Likewise.
29497         * modules/unistr/u32-strncmp: Likewise.
29498         * modules/unistr/u32-strncpy: Likewise.
29499         * modules/unistr/u32-strnlen: Likewise.
29500         * modules/unistr/u32-strpbrk: Likewise.
29501         * modules/unistr/u32-strrchr: Likewise.
29502         * modules/unistr/u32-strspn: Likewise.
29503         * modules/unistr/u32-strstr: Likewise.
29504         * modules/unistr/u32-strtok: Likewise.
29505         * modules/unistr/u32-to-u16: Likewise.
29506         * modules/unistr/u32-to-u8: Likewise.
29507         * modules/unistr/u32-uctomb: Likewise.
29508         * modules/uniwbrk/u8-wordbreaks: Likewise.
29509         * modules/uniwbrk/u16-wordbreaks: Likewise.
29510         * modules/uniwbrk/u32-wordbreaks: Likewise.
29511         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29512         * modules/uniwbrk/wordbreak-property: Likewise.
29513         * modules/uniwidth/u8-strwidth: Likewise.
29514         * modules/uniwidth/u8-width: Likewise.
29515         * modules/uniwidth/u16-strwidth: Likewise.
29516         * modules/uniwidth/u16-width: Likewise.
29517         * modules/uniwidth/u32-strwidth: Likewise.
29518         * modules/uniwidth/u32-width: Likewise.
29519         * modules/uniwidth/width: Likewise.
29520         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29521         with $(LIBUNISTRING).
29522         * modules/unicase/ignorable-tests: Likewise.
29523         * modules/unicase/locale-language-tests: Likewise.
29524         * modules/unicase/tolower-tests: Likewise.
29525         * modules/unicase/totitle-tests: Likewise.
29526         * modules/unicase/toupper-tests: Likewise.
29527         * modules/unicase/u8-casecmp-tests: Likewise.
29528         * modules/unicase/u8-casecoll-tests: Likewise.
29529         * modules/unicase/u8-casefold-tests: Likewise.
29530         * modules/unicase/u8-is-cased-tests: Likewise.
29531         * modules/unicase/u8-is-casefolded-tests: Likewise.
29532         * modules/unicase/u8-is-lowercase-tests: Likewise.
29533         * modules/unicase/u8-is-titlecase-tests: Likewise.
29534         * modules/unicase/u8-is-uppercase-tests: Likewise.
29535         * modules/unicase/u8-tolower-tests: Likewise.
29536         * modules/unicase/u8-totitle-tests: Likewise.
29537         * modules/unicase/u8-toupper-tests: Likewise.
29538         * modules/unicase/u16-casecmp-tests: Likewise.
29539         * modules/unicase/u16-casecoll-tests: Likewise.
29540         * modules/unicase/u16-casefold-tests: Likewise.
29541         * modules/unicase/u16-is-cased-tests: Likewise.
29542         * modules/unicase/u16-is-casefolded-tests: Likewise.
29543         * modules/unicase/u16-is-lowercase-tests: Likewise.
29544         * modules/unicase/u16-is-titlecase-tests: Likewise.
29545         * modules/unicase/u16-is-uppercase-tests: Likewise.
29546         * modules/unicase/u16-tolower-tests: Likewise.
29547         * modules/unicase/u16-totitle-tests: Likewise.
29548         * modules/unicase/u16-toupper-tests: Likewise.
29549         * modules/unicase/u32-casecmp-tests: Likewise.
29550         * modules/unicase/u32-casecoll-tests: Likewise.
29551         * modules/unicase/u32-casefold-tests: Likewise.
29552         * modules/unicase/u32-is-cased-tests: Likewise.
29553         * modules/unicase/u32-is-casefolded-tests: Likewise.
29554         * modules/unicase/u32-is-lowercase-tests: Likewise.
29555         * modules/unicase/u32-is-titlecase-tests: Likewise.
29556         * modules/unicase/u32-is-uppercase-tests: Likewise.
29557         * modules/unicase/u32-tolower-tests: Likewise.
29558         * modules/unicase/u32-totitle-tests: Likewise.
29559         * modules/unicase/u32-toupper-tests: Likewise.
29560         * modules/unicase/ulc-casecmp-tests: Likewise.
29561         * modules/unicase/ulc-casecoll-tests: Likewise.
29562         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29563         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
29564         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
29565         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
29566         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
29567         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
29568         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
29569         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
29570         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
29571         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
29572         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
29573         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
29574         * modules/unictype/bidicategory-byname-tests: Likewise.
29575         * modules/unictype/bidicategory-name-tests: Likewise.
29576         * modules/unictype/bidicategory-of-tests: Likewise.
29577         * modules/unictype/bidicategory-test-tests: Likewise.
29578         * modules/unictype/block-list-tests: Likewise.
29579         * modules/unictype/block-of-tests: Likewise.
29580         * modules/unictype/block-test-tests: Likewise.
29581         * modules/unictype/category-C-tests: Likewise.
29582         * modules/unictype/category-Cc-tests: Likewise.
29583         * modules/unictype/category-Cf-tests: Likewise.
29584         * modules/unictype/category-Cn-tests: Likewise.
29585         * modules/unictype/category-Co-tests: Likewise.
29586         * modules/unictype/category-Cs-tests: Likewise.
29587         * modules/unictype/category-L-tests: Likewise.
29588         * modules/unictype/category-Ll-tests: Likewise.
29589         * modules/unictype/category-Lm-tests: Likewise.
29590         * modules/unictype/category-Lo-tests: Likewise.
29591         * modules/unictype/category-Lt-tests: Likewise.
29592         * modules/unictype/category-Lu-tests: Likewise.
29593         * modules/unictype/category-M-tests: Likewise.
29594         * modules/unictype/category-Mc-tests: Likewise.
29595         * modules/unictype/category-Me-tests: Likewise.
29596         * modules/unictype/category-Mn-tests: Likewise.
29597         * modules/unictype/category-N-tests: Likewise.
29598         * modules/unictype/category-Nd-tests: Likewise.
29599         * modules/unictype/category-Nl-tests: Likewise.
29600         * modules/unictype/category-No-tests: Likewise.
29601         * modules/unictype/category-P-tests: Likewise.
29602         * modules/unictype/category-Pc-tests: Likewise.
29603         * modules/unictype/category-Pd-tests: Likewise.
29604         * modules/unictype/category-Pe-tests: Likewise.
29605         * modules/unictype/category-Pf-tests: Likewise.
29606         * modules/unictype/category-Pi-tests: Likewise.
29607         * modules/unictype/category-Po-tests: Likewise.
29608         * modules/unictype/category-Ps-tests: Likewise.
29609         * modules/unictype/category-S-tests: Likewise.
29610         * modules/unictype/category-Sc-tests: Likewise.
29611         * modules/unictype/category-Sk-tests: Likewise.
29612         * modules/unictype/category-Sm-tests: Likewise.
29613         * modules/unictype/category-So-tests: Likewise.
29614         * modules/unictype/category-Z-tests: Likewise.
29615         * modules/unictype/category-Zl-tests: Likewise.
29616         * modules/unictype/category-Zp-tests: Likewise.
29617         * modules/unictype/category-Zs-tests: Likewise.
29618         * modules/unictype/category-and-not-tests: Likewise.
29619         * modules/unictype/category-and-tests: Likewise.
29620         * modules/unictype/category-byname-tests: Likewise.
29621         * modules/unictype/category-name-tests: Likewise.
29622         * modules/unictype/category-none-tests: Likewise.
29623         * modules/unictype/category-of-tests: Likewise.
29624         * modules/unictype/category-or-tests: Likewise.
29625         * modules/unictype/category-test-withtable-tests: Likewise.
29626         * modules/unictype/combining-class-tests: Likewise.
29627         * modules/unictype/ctype-alnum-tests: Likewise.
29628         * modules/unictype/ctype-alpha-tests: Likewise.
29629         * modules/unictype/ctype-blank-tests: Likewise.
29630         * modules/unictype/ctype-cntrl-tests: Likewise.
29631         * modules/unictype/ctype-digit-tests: Likewise.
29632         * modules/unictype/ctype-graph-tests: Likewise.
29633         * modules/unictype/ctype-lower-tests: Likewise.
29634         * modules/unictype/ctype-print-tests: Likewise.
29635         * modules/unictype/ctype-punct-tests: Likewise.
29636         * modules/unictype/ctype-space-tests: Likewise.
29637         * modules/unictype/ctype-upper-tests: Likewise.
29638         * modules/unictype/ctype-xdigit-tests: Likewise.
29639         * modules/unictype/decimal-digit-tests: Likewise.
29640         * modules/unictype/digit-tests: Likewise.
29641         * modules/unictype/mirror-tests: Likewise.
29642         * modules/unictype/numeric-tests: Likewise.
29643         * modules/unictype/property-alphabetic-tests: Likewise.
29644         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
29645         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
29646         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
29647         * modules/unictype/property-bidi-block-separator-tests: Likewise.
29648         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
29649         * modules/unictype/property-bidi-common-separator-tests: Likewise.
29650         * modules/unictype/property-bidi-control-tests: Likewise.
29651         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
29652         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
29653         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
29654         * modules/unictype/property-bidi-european-digit-tests: Likewise.
29655         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
29656         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
29657         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
29658         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
29659         * modules/unictype/property-bidi-pdf-tests: Likewise.
29660         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
29661         * modules/unictype/property-bidi-whitespace-tests: Likewise.
29662         * modules/unictype/property-byname-tests: Likewise.
29663         * modules/unictype/property-combining-tests: Likewise.
29664         * modules/unictype/property-composite-tests: Likewise.
29665         * modules/unictype/property-currency-symbol-tests: Likewise.
29666         * modules/unictype/property-dash-tests: Likewise.
29667         * modules/unictype/property-decimal-digit-tests: Likewise.
29668         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
29669         * modules/unictype/property-deprecated-tests: Likewise.
29670         * modules/unictype/property-diacritic-tests: Likewise.
29671         * modules/unictype/property-extender-tests: Likewise.
29672         * modules/unictype/property-format-control-tests: Likewise.
29673         * modules/unictype/property-grapheme-base-tests: Likewise.
29674         * modules/unictype/property-grapheme-extend-tests: Likewise.
29675         * modules/unictype/property-grapheme-link-tests: Likewise.
29676         * modules/unictype/property-hex-digit-tests: Likewise.
29677         * modules/unictype/property-hyphen-tests: Likewise.
29678         * modules/unictype/property-id-continue-tests: Likewise.
29679         * modules/unictype/property-id-start-tests: Likewise.
29680         * modules/unictype/property-ideographic-tests: Likewise.
29681         * modules/unictype/property-ids-binary-operator-tests: Likewise.
29682         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
29683         * modules/unictype/property-ignorable-control-tests: Likewise.
29684         * modules/unictype/property-iso-control-tests: Likewise.
29685         * modules/unictype/property-join-control-tests: Likewise.
29686         * modules/unictype/property-left-of-pair-tests: Likewise.
29687         * modules/unictype/property-line-separator-tests: Likewise.
29688         * modules/unictype/property-logical-order-exception-tests: Likewise.
29689         * modules/unictype/property-lowercase-tests: Likewise.
29690         * modules/unictype/property-math-tests: Likewise.
29691         * modules/unictype/property-non-break-tests: Likewise.
29692         * modules/unictype/property-not-a-character-tests: Likewise.
29693         * modules/unictype/property-numeric-tests: Likewise.
29694         * modules/unictype/property-other-alphabetic-tests: Likewise.
29695         * modules/unictype/property-other-default-ignorable-code-point-tests:
29696         Likewise.
29697         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
29698         * modules/unictype/property-other-id-continue-tests: Likewise.
29699         * modules/unictype/property-other-id-start-tests: Likewise.
29700         * modules/unictype/property-other-lowercase-tests: Likewise.
29701         * modules/unictype/property-other-math-tests: Likewise.
29702         * modules/unictype/property-other-uppercase-tests: Likewise.
29703         * modules/unictype/property-paired-punctuation-tests: Likewise.
29704         * modules/unictype/property-paragraph-separator-tests: Likewise.
29705         * modules/unictype/property-pattern-syntax-tests: Likewise.
29706         * modules/unictype/property-pattern-white-space-tests: Likewise.
29707         * modules/unictype/property-private-use-tests: Likewise.
29708         * modules/unictype/property-punctuation-tests: Likewise.
29709         * modules/unictype/property-quotation-mark-tests: Likewise.
29710         * modules/unictype/property-radical-tests: Likewise.
29711         * modules/unictype/property-sentence-terminal-tests: Likewise.
29712         * modules/unictype/property-soft-dotted-tests: Likewise.
29713         * modules/unictype/property-space-tests: Likewise.
29714         * modules/unictype/property-terminal-punctuation-tests: Likewise.
29715         * modules/unictype/property-test-tests: Likewise.
29716         * modules/unictype/property-titlecase-tests: Likewise.
29717         * modules/unictype/property-unassigned-code-value-tests: Likewise.
29718         * modules/unictype/property-unified-ideograph-tests: Likewise.
29719         * modules/unictype/property-uppercase-tests: Likewise.
29720         * modules/unictype/property-variation-selector-tests: Likewise.
29721         * modules/unictype/property-white-space-tests: Likewise.
29722         * modules/unictype/property-xid-continue-tests: Likewise.
29723         * modules/unictype/property-xid-start-tests: Likewise.
29724         * modules/unictype/property-zero-width-tests: Likewise.
29725         * modules/unictype/scripts-tests: Likewise.
29726         * modules/unictype/syntax-c-ident-tests: Likewise.
29727         * modules/unictype/syntax-c-whitespace-tests: Likewise.
29728         * modules/unictype/syntax-java-ident-tests: Likewise.
29729         * modules/unictype/syntax-java-whitespace-tests: Likewise.
29730         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
29731         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
29732         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
29733         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
29734         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
29735         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
29736         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
29737         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
29738         * modules/uniname/uniname-tests: Likewise.
29739         * modules/uninorm/canonical-decomposition-tests: Likewise.
29740         * modules/uninorm/compat-decomposition-tests: Likewise.
29741         * modules/uninorm/composition-tests: Likewise.
29742         * modules/uninorm/decomposing-form-tests: Likewise.
29743         * modules/uninorm/decomposition-tests: Likewise.
29744         * modules/uninorm/filter-tests: Likewise.
29745         * modules/uninorm/nfc-tests: Likewise.
29746         * modules/uninorm/nfd-tests: Likewise.
29747         * modules/uninorm/nfkc-tests: Likewise.
29748         * modules/uninorm/nfkd-tests: Likewise.
29749         * modules/uninorm/u8-normcmp-tests: Likewise.
29750         * modules/uninorm/u8-normcoll-tests: Likewise.
29751         * modules/uninorm/u16-normcmp-tests: Likewise.
29752         * modules/uninorm/u16-normcoll-tests: Likewise.
29753         * modules/uninorm/u32-normcmp-tests: Likewise.
29754         * modules/uninorm/u32-normcoll-tests: Likewise.
29755         * modules/unistdio/u8-asnprintf-tests: Likewise.
29756         * modules/unistdio/u8-vasnprintf-tests: Likewise.
29757         * modules/unistdio/u8-vasprintf-tests: Likewise.
29758         * modules/unistdio/u8-vsnprintf-tests: Likewise.
29759         * modules/unistdio/u8-vsprintf-tests: Likewise.
29760         * modules/unistdio/u16-asnprintf-tests: Likewise.
29761         * modules/unistdio/u16-vasnprintf-tests: Likewise.
29762         * modules/unistdio/u16-vasprintf-tests: Likewise.
29763         * modules/unistdio/u16-vsnprintf-tests: Likewise.
29764         * modules/unistdio/u16-vsprintf-tests: Likewise.
29765         * modules/unistdio/u32-asnprintf-tests: Likewise.
29766         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29767         * modules/unistdio/u32-vasprintf-tests: Likewise.
29768         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29769         * modules/unistdio/u32-vsprintf-tests: Likewise.
29770         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29771         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29772         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29773         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29774         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29775         * modules/unistr/u8-check-tests: Likewise.
29776         * modules/unistr/u8-chr-tests: Likewise.
29777         * modules/unistr/u8-cmp-tests: Likewise.
29778         * modules/unistr/u8-cmp2-tests: Likewise.
29779         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29780         * modules/unistr/u8-cpy-tests: Likewise.
29781         * modules/unistr/u8-mblen-tests: Likewise.
29782         * modules/unistr/u8-mbsnlen-tests: Likewise.
29783         * modules/unistr/u8-mbtouc-tests: Likewise.
29784         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29785         * modules/unistr/u8-mbtoucr-tests: Likewise.
29786         * modules/unistr/u8-move-tests: Likewise.
29787         * modules/unistr/u8-next-tests: Likewise.
29788         * modules/unistr/u8-prev-tests: Likewise.
29789         * modules/unistr/u8-set-tests: Likewise.
29790         * modules/unistr/u8-stpcpy-tests: Likewise.
29791         * modules/unistr/u8-stpncpy-tests: Likewise.
29792         * modules/unistr/u8-strcat-tests: Likewise.
29793         * modules/unistr/u8-strcmp-tests: Likewise.
29794         * modules/unistr/u8-strcoll-tests: Likewise.
29795         * modules/unistr/u8-strcpy-tests: Likewise.
29796         * modules/unistr/u8-strdup-tests: Likewise.
29797         * modules/unistr/u8-strlen-tests: Likewise.
29798         * modules/unistr/u8-strmblen-tests: Likewise.
29799         * modules/unistr/u8-strmbtouc-tests: Likewise.
29800         * modules/unistr/u8-strncat-tests: Likewise.
29801         * modules/unistr/u8-strncmp-tests: Likewise.
29802         * modules/unistr/u8-strncpy-tests: Likewise.
29803         * modules/unistr/u8-strnlen-tests: Likewise.
29804         * modules/unistr/u8-to-u16-tests: Likewise.
29805         * modules/unistr/u8-to-u32-tests: Likewise.
29806         * modules/unistr/u8-uctomb-tests: Likewise.
29807         * modules/unistr/u16-check-tests: Likewise.
29808         * modules/unistr/u16-chr-tests: Likewise.
29809         * modules/unistr/u16-cmp-tests: Likewise.
29810         * modules/unistr/u16-cmp2-tests: Likewise.
29811         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29812         * modules/unistr/u16-cpy-tests: Likewise.
29813         * modules/unistr/u16-mblen-tests: Likewise.
29814         * modules/unistr/u16-mbsnlen-tests: Likewise.
29815         * modules/unistr/u16-mbtouc-tests: Likewise.
29816         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29817         * modules/unistr/u16-mbtoucr-tests: Likewise.
29818         * modules/unistr/u16-move-tests: Likewise.
29819         * modules/unistr/u16-next-tests: Likewise.
29820         * modules/unistr/u16-prev-tests: Likewise.
29821         * modules/unistr/u16-set-tests: Likewise.
29822         * modules/unistr/u16-stpcpy-tests: Likewise.
29823         * modules/unistr/u16-stpncpy-tests: Likewise.
29824         * modules/unistr/u16-strcat-tests: Likewise.
29825         * modules/unistr/u16-strcmp-tests: Likewise.
29826         * modules/unistr/u16-strcoll-tests: Likewise.
29827         * modules/unistr/u16-strcpy-tests: Likewise.
29828         * modules/unistr/u16-strdup-tests: Likewise.
29829         * modules/unistr/u16-strlen-tests: Likewise.
29830         * modules/unistr/u16-strmblen-tests: Likewise.
29831         * modules/unistr/u16-strmbtouc-tests: Likewise.
29832         * modules/unistr/u16-strncat-tests: Likewise.
29833         * modules/unistr/u16-strncmp-tests: Likewise.
29834         * modules/unistr/u16-strncpy-tests: Likewise.
29835         * modules/unistr/u16-strnlen-tests: Likewise.
29836         * modules/unistr/u16-to-u32-tests: Likewise.
29837         * modules/unistr/u16-to-u8-tests: Likewise.
29838         * modules/unistr/u16-uctomb-tests: Likewise.
29839         * modules/unistr/u32-check-tests: Likewise.
29840         * modules/unistr/u32-chr-tests: Likewise.
29841         * modules/unistr/u32-cmp-tests: Likewise.
29842         * modules/unistr/u32-cmp2-tests: Likewise.
29843         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29844         * modules/unistr/u32-cpy-tests: Likewise.
29845         * modules/unistr/u32-mblen-tests: Likewise.
29846         * modules/unistr/u32-mbsnlen-tests: Likewise.
29847         * modules/unistr/u32-mbtouc-tests: Likewise.
29848         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29849         * modules/unistr/u32-mbtoucr-tests: Likewise.
29850         * modules/unistr/u32-move-tests: Likewise.
29851         * modules/unistr/u32-next-tests: Likewise.
29852         * modules/unistr/u32-prev-tests: Likewise.
29853         * modules/unistr/u32-set-tests: Likewise.
29854         * modules/unistr/u32-stpcpy-tests: Likewise.
29855         * modules/unistr/u32-stpncpy-tests: Likewise.
29856         * modules/unistr/u32-strcat-tests: Likewise.
29857         * modules/unistr/u32-strcmp-tests: Likewise.
29858         * modules/unistr/u32-strcoll-tests: Likewise.
29859         * modules/unistr/u32-strcpy-tests: Likewise.
29860         * modules/unistr/u32-strdup-tests: Likewise.
29861         * modules/unistr/u32-strlen-tests: Likewise.
29862         * modules/unistr/u32-strmblen-tests: Likewise.
29863         * modules/unistr/u32-strmbtouc-tests: Likewise.
29864         * modules/unistr/u32-strncat-tests: Likewise.
29865         * modules/unistr/u32-strncmp-tests: Likewise.
29866         * modules/unistr/u32-strncpy-tests: Likewise.
29867         * modules/unistr/u32-strnlen-tests: Likewise.
29868         * modules/unistr/u32-to-u16-tests: Likewise.
29869         * modules/unistr/u32-to-u8-tests: Likewise.
29870         * modules/unistr/u32-uctomb-tests: Likewise.
29871         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29872         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29873         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29874         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29875         * modules/uniwidth/u8-strwidth-tests: Likewise.
29876         * modules/uniwidth/u8-width-tests: Likewise.
29877         * modules/uniwidth/u16-strwidth-tests: Likewise.
29878         * modules/uniwidth/u16-width-tests: Likewise.
29879         * modules/uniwidth/u32-strwidth-tests: Likewise.
29880         * modules/uniwidth/u32-width-tests: Likewise.
29881         * modules/uniwidth/width-tests: Likewise.
29882
29883 2010-05-18  Richard Jones  <rjones@redhat.com>
29884
29885         doc: users.txt: list hivex
29886         * users.txt: Add hivex.
29887
29888 2010-05-18  Richard Jones  <rjones@redhat.com>
29889
29890         doc: users.txt: list febootstrap
29891         * users.txt: Add febootstrap.
29892
29893 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29894
29895         bootstrap: fix an error when gnulib is not used as a git submodule
29896         * build-aux/bootstrap (gnulib_path): If its length is zero then
29897         assign "gnulib" to it.
29898         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29899
29900 2010-05-16  Bruno Haible  <bruno@clisp.org>
29901
29902         Avoid autoconf warnings about AM_ICONV.
29903         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29904         2.64.
29905
29906 2010-05-16  Bruno Haible  <bruno@clisp.org>
29907
29908         absolute-header: Make the macro usable in more situations.
29909         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29910         from gl_ABSOLUTE_HEADER.
29911         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29912
29913 2010-05-16  James Youngman  <jay@gnu.org>
29914
29915         doc: update users.txt
29916         * users.txt: Add CSSC.
29917
29918 2010-05-16  Jim Meyering  <meyering@redhat.com>
29919
29920         init.sh: fix an error in the previous change; add more comments
29921         * tests/init.sh: Compare exit code in loop against 9, not 2.
29922         Patch by Bruno Haible.
29923         Make the two tests more similar by adding an empty "then" clause.
29924         Add comments.
29925
29926         init.sh: avoid unnecessary shell re-exec
29927         * tests/init.sh: Improve the re-exec-required check to first test the
29928         current shell.  If it passes the test, do not search for a shell that
29929         does pass, and do not re-exec.  This test is particularly contorted to
29930         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29931         of $(...) evokes a syntax error and causes immediate shell exit with
29932         status 2.  Bruno Haible reported that the re-exec made it impossible
29933         to single-step through any init.sh-using script.
29934
29935 2010-05-16  Bruno Haible  <bruno@clisp.org>
29936
29937         Fix collision between gnulib's and libintl's printf replacements.
29938         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29939         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29940         (printf): When using GNU C, map the __printf__ function to rpl_printf
29941         via __asm__. When not using GNU C, define rpl_printf instead of
29942         __printf__.
29943         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29944         commit.
29945         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29946         commit.
29947         * m4/asm-underscore.m4: New file.
29948         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29949         * modules/stdio (Files): Add m4/asm-underscore.m4.
29950         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29951         Reported by Ben Pfaff.
29952
29953 2010-05-16  Bruno Haible  <bruno@clisp.org>
29954
29955         verify: Avoid skipping the test on openSUSE 11.0.
29956         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29957
29958 2010-05-13  Bruno Haible  <bruno@clisp.org>
29959
29960         Avoid useless warnings from G++.
29961         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29962         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29963         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29964
29965 2010-05-11  Jim Meyering  <meyering@redhat.com>
29966
29967         maint.mk: tweak preceding change
29968         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29969         regexps tighter by anchoring at EOL, and make the new group "shy"
29970         for slightly decreased overhead.
29971
29972 2010-05-11  Eric Blake  <eblake@redhat.com>
29973
29974         maint.mk: gnulib doesn't guarantee NSIG
29975         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29976
29977 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29978
29979         test-pwrite.c: Remove unused variable declaration.
29980         * tests/test-pwrite.c (main): Remove read_buf declaration.
29981
29982         Remove useless test-pwrite.sh file.
29983         * tests/test-pwrite.sh: Delete file.
29984         * modules/pwrite-tests: Remove references.
29985         Reported by Bruno Haible.
29986
29987 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29988
29989         init.sh: fix a typo
29990         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29991
29992 2010-05-10  Jim Meyering  <meyering@redhat.com>
29993
29994         maint.mk: avoid using a temporary file in the always-defined-macros check
29995         * top/maint.mk (.re-defmac): Remove rule.
29996         (gl_trap_): Remove definition.
29997         (sc_prohibit_always-defined_macros): Rewrite not to create and
29998         depend on a temporary file.  Instead, depend on GNU grep's ability
29999         to read a list of regular expressions from stdin when given "-f -".
30000
30001 2010-05-09  Bruno Haible  <bruno@clisp.org>
30002
30003         Update to GNU gettext 0.18, part 1.
30004         * m4/gettext.m4: Update to GNU gettext 0.18.
30005         * m4/intl.m4: Likewise.
30006         * m4/po.m4: Likewise.
30007         * modules/gettext (Files): Add m4/fcntl-o.m4.
30008         (configure.ac): Require gettext infrastructure from version 0.18.
30009
30010 2010-05-09  Jim Meyering  <meyering@redhat.com>
30011
30012         init.sh: enable MALLOC_PERTURB_
30013         * tests/init.sh: Enable glibc's malloc-perturbing option.
30014
30015         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30016         With my recent change in init.sh from the two-line form:
30017             -#   : ${srcdir=.}
30018             -#   . "$srcdir/init.sh"; path_prepend_ .
30019             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30020         I noticed that using the one-line form would cause this test
30021         to fail with a false-positive, or to stop working altogether,
30022         depending on whether help-version changed or all the tests did.
30023         * top/maint.mk (_hv_regex): Remove this definition.
30024         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30025         (_hv_regex_strong): Use a stronger regex to check for conformance.
30026         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30027         Give a separate diagnostic for lack of conforming use.
30028
30029         maint.mk: prohibit definition of symbols defined by gnulib
30030         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30031         definition of symbols defined by gnulib.
30032
30033 2010-05-09  Bruno Haible  <bruno@clisp.org>
30034
30035         acl: Avoid test failure on Cygwin-hosted mingw.
30036         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30037
30038 2010-05-09  Bruno Haible  <bruno@clisp.org>
30039
30040         error: Use system's fcntl function.
30041         * lib/error.c (fcntl): Undefine.
30042
30043 2010-05-09  Jim Meyering  <meyering@redhat.com>
30044
30045         verify: adjust formatting to be more consistent
30046         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30047         argument-list '('s, and after one comma.
30048
30049 2010-05-09  Bruno Haible  <bruno@clisp.org>
30050
30051         error: More reliable output on mingw.
30052         * lib/error.c: Include <windows.h>.
30053         (is_open): New function.
30054         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30055         defined.
30056
30057 2010-05-09  Bruno Haible  <bruno@clisp.org>
30058
30059         vasnprintf: Fix syntax errors in libintl build on mingw.
30060         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30061         pad_ourselves and prec_ourselves after use.
30062
30063 2010-05-08  Bruno Haible  <bruno@clisp.org>
30064
30065         * lib/config.charset: Update comments for Cygwin 1.7.
30066         * lib/localcharset.c: Likewise.
30067
30068 2010-05-07  Jim Meyering  <meyering@redhat.com>
30069
30070         init.sh: improve comments
30071         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30072         . "${srcdir=.}/init.sh"; path_prepend_ .
30073         Add a note about path_prepend_ and the alternative of using
30074         TESTS_ENVIRONMENT.
30075
30076 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30077
30078         exclude: Unescape hashed patterns in wildcard mode.
30079         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30080         to the hash list.
30081         * tests/test-exclude8.sh: New test case.
30082         * modules/exclude-tests: Add new test.
30083
30084 2010-05-05  Eric Blake  <eblake@redhat.com>
30085
30086         verify: automate tests
30087         * modules/verify-tests: New module.
30088         * tests/test-verify.sh: New file.
30089         * tests/test-verify.c: Guard each negative test with a unique id.
30090         Also avoid warning about unused left hand of comma expressions.
30091
30092 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30093
30094         Further improvements to verify.h, suggested by Eric Blake.
30095         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30096         the GL_* versions, to avoid collision with OpenGL.
30097         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30098         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30099         than testing merely whether it's defined.
30100
30101         Modify verify.h to pacify gcc -Wredundant_decls.
30102         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30103         These use the prefix "GL_" since they're likely to be useful elsewhere.
30104         We may need to break them out into a different .h file.
30105         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30106         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30107         of verify_function__.
30108
30109 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30110
30111         Tests for module pwrite.
30112         * modules/pwrite-tests: New file.
30113         * tests/test-pwrite.sh: New file.
30114         * tests/test-pwrite.c: New file.
30115
30116         New module pwrite.
30117         * lib/unistd.in.h (pwrite): New declaration.
30118         * lib/pwrite.c: New file, from glibc with modifications.
30119         * m4/pwrite.m4: New file.
30120         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30121         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30122         REPLACE_PWRITE.
30123         * modules/pwrite: New file.
30124         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30125         REPLACE_PWRITE.
30126         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30127         * doc/posix-functions/pwrite.texi: Mention the new module.
30128
30129 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30130
30131         pread: Update documentation.
30132         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30133
30134 2010-05-04  Eric Blake  <eblake@redhat.com>
30135
30136         docs: update cygwin progress
30137         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30138         this bug.
30139         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30140         Added in cygwin 1.7.2.
30141         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30142         Likewise.
30143         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30144         Likewise.
30145         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30146         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30147         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30148         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30149         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30150         Mention nproc module.
30151         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30152         bug in cygwin 1.7.5 addition.
30153         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30154         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30155         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30156         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30157         1.7.5.
30158         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30159         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30160         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30161         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30162         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30163         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30164         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30165         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30166         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30167         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30168         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30169         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30170         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30171         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30172         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30173         Likewise.
30174         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30175         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30176         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30177         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30178         Likewise.
30179         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30180         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30181         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30182         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30183         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30184         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30185         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30186         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30187         Likewise.
30188         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30189         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30190         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30191         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30192         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30193         Likewise.
30194         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30195         Likewise.
30196         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30197         Likewise.
30198         * doc/glibc-functions/xdrrec_endofrecord.texi
30199         (xdrrec_endofrecord): Likewise.
30200         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30201         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30202         Likewise.
30203         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30204         Likewise.
30205
30206 2010-05-04  Jim Meyering  <meyering@redhat.com>
30207
30208         gendocs.sh: make its "-s FILE" option more useful
30209         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30210         $PACKAGE to reflect the probably-different basename of "FILE".
30211
30212 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30213
30214         bootstrap: don't ignore download_po_files failure
30215         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30216         failure.
30217
30218 2010-05-03  Jim Meyering  <meyering@redhat.com>
30219
30220         maint.mk: allow to pass options to gendocs.sh
30221         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30222         (gendocs_options_): New overridable variable.
30223
30224         gnu-web-doc-update: don't ignore configure or build failure
30225         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30226
30227         announce-gen: backslash-escape '@'s in --help output
30228         * build-aux/announce-gen: Fix syntax errors.
30229
30230         maint.mk, announce-gen: allow project-specific announcement mail headers
30231         * top/maint.mk (translation_project_): Define default.
30232         (announcement_Cc_, announcement_mail_headers_): Likewise.
30233         (announcement): Invoke announce-gen with new --mail-headers option.
30234         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
30235
30236         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
30237         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
30238         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
30239         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
30240         line in the "err2" output file when running "make check" in verbose
30241         mode (i.e., with set -x enabled).
30242
30243 2010-05-03  Bruno Haible  <bruno@clisp.org>
30244
30245         wctob: Fix for weird platforms.
30246         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
30247         argument value.
30248
30249 2010-05-03  Jim Meyering  <meyering@redhat.com>
30250
30251         maint.mk: prohibit unwarranted use of <strings.h>
30252         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
30253         strings.h in a file that does not also use strcasecmp, strncasecmp,
30254         ffs or ffsll.
30255
30256         maint.mk: remove obsolete comments
30257         * top/maint.mk: Remove stale, commented-out rules.
30258
30259 2010-05-02  Bruno Haible  <bruno@clisp.org>
30260
30261         wcwidth: Declare also when it's aliased.
30262         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30263         macro.
30264
30265 2010-05-02  Bruno Haible  <bruno@clisp.org>
30266
30267         Fix regression from 2010-04-25.
30268         * gnulib-tool (func_modules_transitive_closure): Check the status of
30269         all modules, not only of the tests that are of the form foo-tests where
30270         foo is a module.
30271
30272 2010-05-02  Bruno Haible  <bruno@clisp.org>
30273
30274         wctob: Work around nasty Cygwin 1.7.2 bug.
30275         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30276         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30277
30278 2010-05-01  Bruno Haible  <bruno@clisp.org>
30279
30280         fpurge: Sharper test.
30281         * tests/test-fpurge.c (main): Add one more ftell check.
30282         * modules/fpurge-tests (Depends-on): Add ftell.
30283         Suggested by Eric Blake.
30284
30285 2010-05-01  Bruno Haible  <bruno@clisp.org>
30286
30287         ftello: Another test.
30288         * tests/test-ftello3.c: New file.
30289         * modules/ftello-tests (Files): Add it.
30290         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30291         MOSTLYCLEANFILES.
30292
30293         ftell: Another test.
30294         * tests/test-ftell3.c: New file.
30295         * modules/ftell-tests (Files): Add it.
30296         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30297         MOSTLYCLEANFILES.
30298
30299 2010-05-01  Bruno Haible  <bruno@clisp.org>
30300
30301         ftell, ftello: Work around Solaris bug.
30302         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30303         * lib/ftello.c: Include stdio-impl.h.
30304         (ftello): On Solaris, when _IOWRT is set, compute the result without
30305         looking at _IOREAD.
30306         * modules/ftello (Files): Add lib/stdio-impl.h.
30307         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30308         * doc/posix-functions/ftello.texi: Likewise.
30309         Reported by Eric Blake.
30310
30311 2010-05-01  Bruno Haible  <bruno@clisp.org>
30312
30313         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30314         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30315         the _IOWRT flag is also set.
30316
30317 2010-05-01  Bruno Haible  <bruno@clisp.org>
30318
30319         Fix doc about a HP-UX stdio bug.
30320         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30321         * doc/posix-functions/ftello.texi: Likewise.
30322
30323 2010-05-01  Bruno Haible  <bruno@clisp.org>
30324
30325         lseek test: Fix failure on Solaris.
30326         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30327         output.
30328
30329 2010-04-30  Jim Meyering  <meyering@redhat.com>
30330
30331         bootstrap: don't ignore failure to generate po*/Makevars
30332         * build-aux/bootstrap (with_gettext): Don't ignore failure
30333         to create po/Makevars or runtime-po/Makevars.
30334
30335 2010-04-29  Eric Blake  <eblake@redhat.com>
30336
30337         headers: relax license to LGPLv2+
30338         * modules/fcntl-h (License): Relax license.
30339         * modules/getopt-posix (License): Likewise.
30340         * modules/locale (License): Likewise.
30341         * modules/math (License): Likewise.
30342         * modules/pty (License): Likewise.
30343         * modules/sched (License): Likewise.
30344         * modules/search (License): Likewise.
30345         * modules/spawn (License): Likewise.
30346         * modules/stdarg (License): Likewise.
30347         * modules/sysexits (License): Likewise.
30348
30349 2010-04-29  Jim Meyering  <meyering@redhat.com>
30350
30351         inttypes: relax license to LGPLv2+
30352         * modules/inttypes (License): Relax license.
30353
30354 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30355
30356         * top/maint.mk (indent): Run twice to produce idempotent results.
30357
30358 2010-04-28  Bruno Haible  <bruno@clisp.org>
30359
30360         getdate: Generate getdate.c in the source directory.
30361         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30362         MOSTLYCLEANFILES.
30363         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30364
30365 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30366
30367         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30368         is not declared as a const *; avoid warnings in that case.
30369
30370 2010-04-28  Eric Blake  <eblake@redhat.com>
30371
30372         canonicalize-lgpl: avoid compiler warning
30373         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30374         declaration' / 'extraneous semicolon' warning with some compilers.
30375         Reported by Andreas Gruenbacher.
30376
30377 2010-04-28  Jim Meyering  <meyering@redhat.com>
30378
30379         init.sh: ensure a more reliable exit status when exiting via trap
30380         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30381         Inspired by patches from Dmitry V. Levin.
30382         Also trap on signal 3 (SIGQUIT).
30383
30384 2010-04-27  Bruno Haible  <bruno@clisp.org>
30385
30386         Update doc about utimes().
30387         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30388         'utimens' module.
30389         Reported by Andreas Gruenbacher <agruen@suse.de>.
30390
30391 2010-04-27  Eric Blake  <eblake@redhat.com>
30392
30393         full-read, full-write: relax license
30394         * modules/full-read (License): Drop to LGPLv2+.
30395         * modules/full-write (License): Likewise.
30396         * modules/safe-read (License): Likewise.
30397         * modules/safe-write (License): Likewise.
30398
30399         pthread: mention library for linking
30400         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30401
30402 2010-04-27  Jim Meyering  <meyering@redhat.com>
30403
30404         maint.mk: fix a bug introduced in last change
30405         * top/maint.mk (gl_assured_headers_): Now that all names are on
30406         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30407         is not anchored to end of word, it should be adequate.
30408
30409         maint.mk: avoid side-effect in latest syntax-check
30410         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30411         to run commands via $(shell...), and hence to incur cost only when
30412         the new rule is actually run.
30413
30414         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30415         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30416         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30417         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30418         (gl_assured_headers_, az_, AZ_): Define.
30419         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30420
30421 2010-04-26  Jim Meyering  <jim@meyering.net>
30422             Bruno Haible  <bruno@clisp.org>
30423
30424         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30425         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30426         Prompted by an exchange with Gilles Espinasse.
30427
30428 2010-04-26  Jim Meyering  <meyering@redhat.com>
30429
30430         git-version-gen: aesthetic tweak
30431         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30432         so that the command remains on a single line.
30433
30434 2010-04-26  Eric Blake  <eblake@redhat.com>
30435
30436         git-version-gen: allow use on EBCDIC hosts
30437         * build-aux/git-version-gen (dirty): Use literal rather than tying
30438         ourselves to ascii.
30439         Reported by Steve Goetze.
30440
30441 2010-04-25  Bruno Haible  <bruno@clisp.org>
30442
30443         netdb: Add support for GNULIB_POSIXCHECK.
30444         * lib/netdb.in.h: Include warn-on-use.h.
30445         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30446         functions are used when GNULIB_POSIXCHECK is defined and the
30447         getaddrinfo module is not in use.
30448         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30449         freeaddrinfo, gai_strerror, getnameinfo are declared.
30450         * modules/netdb (Depends-on): Add warn-on-use.
30451         (Makefile.am): Include warn-on-use.h in netdb.h.
30452
30453 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30454
30455         build: avoid "make check" failure without .git/ directory
30456         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30457         there is no .git/ directory.
30458
30459 2010-04-25  Bruno Haible  <bruno@clisp.org>
30460
30461         ptsname: Fix misuse of ttyname_r.
30462         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30463         of errno.
30464
30465 2010-04-25  Bruno Haible  <bruno@clisp.org>
30466
30467         ttyname_r: Make it work on Solaris 10.
30468         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30469         if the system function has the POSIX declaration. Test whether the
30470         function fails if the buffer is less than 128 bytes large.
30471         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30472         system's ttyname_r function. Provide a reasonably large buffer.
30473         * modules/ttyname_r (Depends-on): Add extensions.
30474         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30475
30476 2010-04-25  Bruno Haible  <bruno@clisp.org>
30477
30478         Use the 'extensions' module for some more functions on Solaris.
30479         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30480         module.
30481         * doc/posix-functions/ctime_r.texi: Likewise.
30482         * doc/posix-functions/getgrgid_r.texi: Likewise.
30483         * doc/posix-functions/getgrnam_r.texi: Likewise.
30484         * doc/posix-functions/getpwnam_r.texi: Likewise.
30485         * doc/posix-functions/getpwuid_r.texi: Likewise.
30486         * doc/posix-functions/readdir_r.texi: Likewise.
30487         * doc/posix-functions/sigwait.texi: Likewise.
30488         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30489         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30490
30491 2010-04-25  Bruno Haible  <bruno@clisp.org>
30492
30493         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30494         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30495         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30496         * lib/ttyname_r.c: Include <limits.h>.
30497         (ttyname_r): Define using the system's ttyname_r function, if it exists
30498         and not on Solaris.
30499         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30500         set.
30501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30502         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30503         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30504         Reported by Simon Josefsson.
30505
30506 2010-04-25  Bruno Haible  <bruno@clisp.org>
30507
30508         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30509         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30510         * doc/posix-functions/ctime_r.texi: Likewise.
30511         * doc/posix-functions/getgrgid_r.texi: Likewise.
30512         * doc/posix-functions/getgrnam_r.texi: Likewise.
30513         * doc/posix-functions/getlogin_r.texi: Likewise.
30514         * doc/posix-functions/getpwnam_r.texi: Likewise.
30515         * doc/posix-functions/getpwuid_r.texi: Likewise.
30516         * doc/posix-functions/readdir_r.texi: Likewise.
30517         * doc/posix-functions/sigwait.texi: Likewise.
30518         * doc/posix-functions/ttyname_r.texi: Likewise.
30519         Reported by Simon Josefsson.
30520
30521 2010-04-25  Bruno Haible  <bruno@clisp.org>
30522
30523         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30524         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30525         also to --create-testdir.
30526         (func_acceptable): Don't consider the status of *-tests modules here.
30527         (func_modules_transitive_closure): Consider it here, before including a
30528         test module.
30529         (func_import, func_create_testdir): Set inc_all_direct_tests,
30530         inc_all_indirect_tests.
30531         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30532         --create-testdir and --create-megatestdir.
30533
30534 2010-04-25  Bruno Haible  <bruno@clisp.org>
30535
30536         gnulib-tool: Add --without-*-tests options.
30537         * gnulib-tool (func_usage): Document the --without-*-tests options.
30538         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30539         excl_unportable_tests): New variables.
30540         Fail if they are specified with --import or --update.
30541         (func_acceptable): Respect the excl_*_tests variables.
30542         (func_import): Set the excl_*_tests variables to empty.
30543
30544 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30545             Bruno Haible  <bruno@clisp.org>
30546
30547         Work around a MacOS X 10.4 bug with openpty.
30548         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30549         * tests/test-openpty.c (main): Close the master side explicitly.
30550
30551 2010-04-25  Bruno Haible  <bruno@clisp.org>
30552
30553         strnlen: Fix a C++ test error on MacOS X and Solaris.
30554         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30555         the function is not declared.
30556         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30557         Simon Josefsson.
30558
30559 2010-04-24  Bruno Haible  <bruno@clisp.org>
30560
30561         Avoid a gcc warning.
30562         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30563         of correct type for %08lx directive.
30564         Reported by Eric Blake.
30565
30566 2010-04-24  Bruno Haible  <bruno@clisp.org>
30567
30568         vasnprintf: Correct errno value in case of out-of-memory.
30569         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
30570         or sprintf. Use the errno value from SNPRINTF or sprintf.
30571         Reported by Ian Beckwith <ianb@erislabs.net>.
30572
30573 2010-04-24  Bruno Haible  <bruno@clisp.org>
30574
30575         ansi-c++-opt: Find correct compiler when cross-compiling.
30576         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
30577         AC_CHECK_PROGS.
30578         Reported by Simon Josefsson.
30579
30580 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
30581
30582         vc-list-files: Add support for subversion
30583         * build-aux/vc-list-files: Use "svn list" to generate the list of
30584         files controlled by subversion.
30585
30586 2010-04-23  Jim Meyering  <meyering@redhat.com>
30587
30588         vc-list-files tests: convert to use init.sh
30589         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
30590         path_prepend_.
30591         Use Exit, not exit.
30592         Use skip_ rather than open coding it.
30593         Remove trap set-up and compare definitions.
30594         * tests/test-vc-list-files-git.sh: Likewise.
30595         * modules/vc-list-files-tests (Files): Add tests/init.sh.
30596
30597 2010-04-22  Simon Josefsson  <simon@josefsson.org>
30598
30599         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
30600         backup files.
30601
30602 2010-04-21  Simon Josefsson  <simon@josefsson.org>
30603
30604         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
30605
30606 2010-04-20  Eric Blake  <eblake@redhat.com>
30607
30608         tests: be robust to ignored SIGPIPE
30609         * tests/test-select-in.sh: Consume all output.
30610         * tests/test-lseek.sh: Check correct exit status, while avoiding
30611         EPIPE.
30612
30613 2010-04-20  Simon Josefsson  <simon@josefsson.org>
30614             Bruno Haible  <bruno@clisp.org>
30615
30616         visibility: Don't use -fvisibility if it leads to a warning.
30617         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
30618         yes, don't pretend that visibility works if it leads to a warning.
30619         Reported by Mike Gran <spk121@yahoo.com>.
30620
30621 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
30622
30623         * build-aux/bootstrap: Use "git -h" for testing for supported options
30624         instead of "git --help".  The short-form option only shows a summary,
30625         and doesn't layout the full man page.  Grep for the full option name
30626         in the summary, too.
30627
30628 2010-04-19  Bruno Haible  <bruno@clisp.org>
30629
30630         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
30631         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
30632         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
30633         mention of RELOCATABLE_STRIP.
30634         Reported by Sylvain Beucler <beuc@beuc.net>.
30635
30636 2010-04-19  Bruno Haible  <bruno@clisp.org>
30637
30638         * lib/diffseq.h: Fix typo in comment.
30639         Reported by Eric Blake.
30640
30641 2010-04-19  Bruno Haible  <bruno@clisp.org>
30642
30643         ioctl: Move autoconf macro to a .m4 file.
30644         * m4/ioctl.m4: New file, extracted from modules/ioctl.
30645         * modules/ioctl (Files): Add it.
30646         (configure.ac): Simply invoke gl_FUNC_IOCTL.
30647         Reported by Ian Beckwith <ianb@erislabs.net>.
30648
30649 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
30650             Bruno Haible  <bruno@clisp.org>
30651
30652         diffseq: Accommodate use-case with abstract arrays.
30653         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
30654         is not defined.
30655         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
30656         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
30657
30658 2010-04-18  Bruno Haible  <bruno@clisp.org>
30659
30660         * doc/posix-headers/stdbool.texi: More precise wording.
30661
30662 2010-04-17  Jim Meyering  <meyering@redhat.com>
30663
30664         maint.mk: use gnu-style indentation in an embedded perl script
30665         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
30666         Rename variable: s/two/last_two_bytes/
30667
30668 2010-04-16  Eric Blake  <eblake@redhat.com>
30669
30670         test-stdbool: skip test that fails with Solaris CC
30671         * tests/test-stdbool.c (f): Skip test that causes compilation
30672         error under buggy C++ compiler.
30673         * lib/stdbool.in.h: Document the limitation.
30674         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
30675
30676         setenv: allow compilation with C++
30677         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
30678         register keyword.
30679
30680         stdint: allow test to pass with C++
30681         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
30682
30683         getopt: allow compilation with C++
30684         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
30685         struct.
30686         * lib/getopt.c (_getopt_internal_r): Use correct type.
30687         Reported by Dagobert Michelson, via Joel E. Denny.
30688
30689 2010-04-16  Bruno Haible  <bruno@clisp.org>
30690
30691         Override netdb.h always.
30692         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
30693         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
30694         Reported by Ludovic Courtès <ludo@gnu.org>.
30695
30696 2010-04-15  Bruno Haible  <bruno@clisp.org>
30697
30698         openpty: Fix mistake from 2010-03-21.
30699         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
30700         Reported by Simon Josefsson.
30701
30702 2010-04-15  Eric Blake  <eblake@redhat.com>
30703
30704         test-forkpty: fix expected signature
30705         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
30706         Reported by Simon Josefsson.
30707
30708 2010-04-15  Jim Meyering  <meyering@redhat.com>
30709
30710         maint.mk: texinfo_suffix_re_: correct the default regexp
30711         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
30712
30713         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
30714         make it configurable via texinfo_suffix_re_.
30715
30716 2010-04-14  Eric Blake  <eblake@redhat.com>
30717
30718         strtok_r: relax license to LGPLv2+
30719         * modules/strtok_r (License): Relax license.
30720         Reported by Matthias Bolte.
30721
30722 2010-04-14  Simon Josefsson  <simon@josefsson.org>
30723
30724         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
30725         version 1.4.4 by default instead of requiring the libgcrypt
30726         version used during build.  This makes it possible to use the
30727         application with older but still binary compatible libgcrypt
30728         versions.
30729
30730 2010-04-13  Eric Blake  <eblake@redhat.com>
30731
30732         getopt-gnu: match recent glibc fixes and posix ruling
30733         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
30734         '+' handling, when requesting extensions.
30735         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
30736         'W;' handling.
30737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
30738         * doc/posix-functions/getopt.texi (getopt): Document this.
30739         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30740         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30741         Likewise.
30742
30743         getopt: merge bug fixes from glibc
30744         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
30745         diagnostics.  Honor '+:' correctly.  Reject ';'.
30746
30747         getopt-posix: detect MacOS bug
30748         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
30749         optind when missing a required argument.
30750         * doc/posix-functions/getopt.texi (getopt): Document the bug.
30751         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30752         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30753         Likewise.
30754
30755         getopt-posix: avoid spurious failure on Solaris
30756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
30757         an indicator that setting optind=1 is sufficient for reset.
30758
30759         getopt-posix: avoid spurious failure on FreeBSD
30760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
30761         in POSIX mode, since the m4 test uses it.
30762
30763         gnulib-tool: silence warning on BSD sh
30764         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
30765
30766 2010-04-13  Jim Meyering  <meyering@redhat.com>
30767
30768         doc: users.txt: GNU patch now uses gnulib
30769         * users.txt: Add patch.
30770
30771 2010-04-12  Jim Meyering  <meyering@redhat.com>
30772
30773         maint.mk: generate more concise timing data for syntax-check rules
30774         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30775         " done" from each line that reports a syntax-check test duration.
30776
30777 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30778
30779         git-version-gen: use "git update-index..." rather than "git status"
30780         * build-aux/git-version-gen: Use git update-index --refresh, not
30781         "git status".  With some versions of git, "git status" would fail
30782         to update the index and result in an unwarranted "-dirty" suffix.
30783
30784 2010-04-11  Jim Meyering  <meyering@redhat.com>
30785
30786         openat: correct formatting (no semantic change)
30787         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30788         Suggested by Bruno Haible.
30789
30790 2010-04-11  Bruno Haible  <bruno@clisp.org>
30791
30792         Stricter declaration checking in testdirs.
30793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30794         If for_tests is true, augment AM_CPPFLAGS to define
30795         GNULIB_STRICT_CHECKING.
30796         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30797         GNULIB_STRICT_CHECKING is defined, verify that the function is
30798         declared.
30799
30800 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30801             Bruno Haible  <bruno@clisp.org>
30802
30803         libunistring: Improve configure output.
30804         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30805         Don't say "consider installing GNU libunistring" when checking again
30806         with libiconv.
30807
30808 2010-04-11  Bruno Haible  <bruno@clisp.org>
30809
30810         libunistring: Correct value of $LTLIBUNISTRING.
30811         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30812         correct the value of $LTLIBUNISTRING.
30813
30814 2010-04-11  Bruno Haible  <bruno@clisp.org>
30815
30816         havelib: Add static libraries to LIBS in the right order.
30817         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30818         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30819
30820 2010-04-11  Bruno Haible  <bruno@clisp.org>
30821
30822         libunistring: Detect libunistring also when it depends on libiconv.
30823         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30824         the second AC_LIB_HAVE_LINKFLAGS invocation.
30825
30826 2010-04-11  James Youngman  <jay@gnu.org>
30827
30828         close-stream: declare local scalars to be "const"
30829         * lib/close-stream.c (close_stream): Make boolean variables const
30830         to document the fact that we set but do not change them.
30831
30832 2010-04-11  Bruno Haible  <bruno@clisp.org>
30833
30834         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30835
30836 2010-04-11  Jim Meyering  <meyering@redhat.com>
30837
30838         maint.mk: don't include dist-check.mk
30839         * top/maint.mk: Remove bogus include directive.
30840
30841         maint.mk: improve empty-line-at-EOF check
30842         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30843         solution, rather than tail+Perl-based one.  The latter would read
30844         a few kilobytes from the end of each file, and did not handle empty
30845         files properly.
30846
30847         maint.mk: print the elapsed time for each syntax-check rule
30848         * top/maint.mk (sc_m_rules_): Save start time in a file.
30849         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30850         (local-check): Interpose the .z rules
30851
30852 2010-04-11  Jim Meyering  <meyering@redhat.com>
30853
30854         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30855         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30856         empty file with one that ends in an empty line.
30857
30858 2010-04-10  Bruno Haible  <bruno@clisp.org>
30859
30860         mkdir: Make it work on mingw64.
30861         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30862         * lib/mkdir.c: Update comment.
30863         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30864
30865 2010-04-10  Bruno Haible  <bruno@clisp.org>
30866
30867         Don't override improved macro from newer autoconf.
30868         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30869         autoconf >= 2.62.
30870         Reported by Joel E. Denny <jdenny@clemson.edu>.
30871
30872 2010-04-10  Jim Meyering  <meyering@redhat.com>
30873
30874         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30875         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30876
30877         maint.mk: correct a diagnostic
30878         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30879         in diagnostic; now use $prohibit.
30880
30881 2010-04-10  Bruno Haible  <address@hidden>
30882
30883         fchownat: Fix a C++ test error on Solaris 8.
30884         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30885         the function does not exist.
30886
30887 2010-04-10  Bruno Haible  <bruno@clisp.org>
30888
30889         vasnprintf: Add more tests.
30890         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30891         (test_function): Test converting an invalid wide string.
30892
30893         vasnprintf: Correct handling of unconvertible wide string arguments.
30894         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30895         VASNPRINTF.
30896         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30897         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30898         smaller than the expected maximum need for the directive. Set errno to
30899         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30900         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30901         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30902         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30903         * modules/vasnprintf (Files): Add m4/printf.m4.
30904         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30905
30906 2010-04-10  Bruno Haible  <bruno@clisp.org>
30907
30908         vasnprintf: Fix crash in %ls directive.
30909         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30910         string is passed as argument to %ls, with no precision and no width.
30911         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30912
30913 2010-04-10  Bruno Haible  <bruno@clisp.org>
30914
30915         vasnprintf: Fix multiple test failures on mingw.
30916         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30917         _snprintf, or snwprintf, not _snwprintf.
30918
30919 2010-04-10  Bruno Haible  <bruno@clisp.org>
30920
30921         write: Fix a C++ test error on mingw.
30922         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30923
30924 2010-04-10  Bruno Haible  <bruno@clisp.org>
30925
30926         vasnprintf test: Reduce code duplication.
30927         * tests/test-vasnprintf.c (test_function): New function, extracted from
30928         test_vasnprintf.
30929         (test_vasnprintf, test_asnprintf): Invoke it.
30930
30931 2010-04-10  Bruno Haible  <bruno@clisp.org>
30932
30933         strnlen: Fix warning in C++ mode on MacOS X.
30934         * lib/string.in.h (strnlen): Use the modern idiom.
30935         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30936         defining strnlen as a macro already in <config.h>.
30937         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30938         REPLACE_STRNLEN.
30939         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30940         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30941
30942 2010-04-08  James Youngman  <jay@gnu.org>
30943
30944         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30945         the example.
30946
30947 2010-04-09  Jim Meyering  <meyering@redhat.com>
30948
30949         maint.mk: print better diagnostic when there is no $(_hv_file)
30950         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30951         announce that when $(_hv_file) (aka help-version) does not exist.
30952
30953         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30954         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30955         not try to interpret its random input bytes.  Jarno Rajahalme reported
30956         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30957         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30958         (mktempd_): Likewise, just in case.
30959
30960         ftruncate: add two years to projected module removal date: 2012
30961         * m4/ftruncate.m4: Adjust comments.
30962
30963         ftruncate: mark module as obsolete; even MinGW provides it, now
30964         * modules/ftruncate (Status): Obsolete.
30965         (Notice): Say that.
30966         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30967         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30968
30969 2010-04-08  Bruno Haible  <bruno@clisp.org>
30970
30971         Fix side effects from tests-related modules.
30972         * modules/dprintf-posix (Comment): New section.
30973         * modules/fprintf-posix (Comment): Likewise.
30974         * modules/obstack-printf-posix (Comment): Likewise.
30975         * modules/printf-posix (Comment): Likewise.
30976         * modules/snprintf-posix (Comment): Likewise.
30977         * modules/sprintf-posix (Comment): Likewise.
30978         * modules/vasnprintf-posix (Comment): Likewise.
30979         * modules/vasprintf-posix (Comment): Likewise.
30980         * modules/vdprintf-posix (Comment): Likewise.
30981         * modules/vfprintf-posix (Comment): Likewise.
30982         * modules/vprintf-posix (Comment): Likewise.
30983         * modules/vsnprintf-posix (Comment): Likewise.
30984         * modules/vsprintf-posix (Comment): Likewise.
30985         * modules/xprintf-posix (Comment): Likewise.
30986         * modules/xvasprintf-posix (Comment): Likewise.
30987         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30988         * modules/floorf-tests (Depends-on): Likewise.
30989         * modules/round-tests (Depends-on): Likewise.
30990         * modules/roundf-tests (Depends-on): Likewise.
30991         * modules/trunc-tests (Depends-on): Likewise.
30992         * modules/truncf-tests (Depends-on): Likewise.
30993         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30994         'fprintf-posix' module is not present.
30995         * tests/test-floorf2.c (check): Likewise.
30996         * tests/test-trunc2.c (check): Likewise.
30997         * tests/test-truncf2.c (check): Likewise.
30998         * tests/test-round2.c (equal): Likewise.
30999         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31000
31001 2010-04-07  Karl Berry  <karl@gnu.org>
31002
31003         * config/srclist.txt,
31004         * config/srclistvars.sh,
31005         * config/srclist-update: doc fixes.
31006
31007 2010-04-07  Jim Meyering  <meyering@redhat.com>
31008
31009         maint.mk: add a PATH crosschecking syntax-check rule
31010         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31011         Useful if you use a test like the one in help-version (coreutils,
31012         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31013         printed by prog --version.
31014
31015 2010-04-06  Bruno Haible  <bruno@clisp.org>
31016
31017         Fix link error on mingw.
31018         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31019         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31020
31021 2010-04-06  Bruno Haible  <bruno@clisp.org>
31022
31023         Assume rmdir exists.
31024         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31025
31026 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31027
31028         doc: update users.txt
31029         * users.txt: Add gcal.
31030
31031 2010-04-06  Jim Meyering  <meyering@redhat.com>
31032
31033         init.sh: simply unset TMPDIR rather than risking env -i
31034         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31035         although it probably works fine on all Unix-based systems, some
31036         systems (Cygwin?) cannot tolerate a totally cleared environment.
31037         Suggestion from Eric Blake.
31038
31039 2010-04-06  Jim Meyering  <meyering@redhat.com>
31040
31041         init.sh: portability fix: use env's POSIX-specified -i option not -u
31042         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31043         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31044
31045 2010-04-05  Bruno Haible  <bruno@clisp.org>
31046
31047         btowc: Work around Cygwin 1.7.2 bug.
31048         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31049         does not map NUL to 0.
31050         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31051
31052 2010-04-05  Bruno Haible  <bruno@clisp.org>
31053
31054         Make the multithread modules work on Cygwin 1.7.2.
31055         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31056         imported symbols can be declared weak, so that it returns "no" on
31057         Cygwin 1.7.2.
31058
31059 2010-04-05  Bruno Haible  <bruno@clisp.org>
31060
31061         Use the module 'strncat'.
31062         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31063
31064         Tests for module 'strncat'.
31065         * modules/strncat-tests: New file.
31066         * tests/test-strncat.c: New file.
31067
31068         New module 'strncat'.
31069         * lib/string.in.h (strncat): New declaration.
31070         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31071         * m4/strncat.m4: New file, based on m4/memchr.m4.
31072         * modules/strncat: New file.
31073         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31074         is declared.
31075         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31076         REPLACE_STRNCAT.
31077         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31078         REPLACE_STRNCAT.
31079         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31080         module.
31081         * tests/test-string-c++.cc: Check signature of strncat.
31082
31083 2010-04-05  Jim Meyering  <meyering@redhat.com>
31084
31085         xstrtoumax-tests: convert to use init.sh
31086         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31087         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31088         Use Exit, not exit.
31089         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31090
31091         xstrtoimax-tests: convert to use init.sh
31092         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31093         * tests/test-xstrtoimax.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 2010-04-05  Bruno Haible  <bruno@clisp.org>
31098
31099         sys_socket: Avoid #define replacements in C++ mode.
31100         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31101         warning to the function if possible, rather than #defining the symbol
31102         to a dysfunctional alias.
31103
31104 2010-04-05  Bruno Haible  <bruno@clisp.org>
31105
31106         fseeko: Fix C++ test error on mingw.
31107         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31108         gl_FUNC_FSEEKO.
31109         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31110         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31111         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31112         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31113
31114 2010-04-05  Bruno Haible  <bruno@clisp.org>
31115
31116         duplocale: Improve test output.
31117         * tests/test-duplocale.c (main): Print reason for skipped test.
31118
31119 2010-04-05  Bruno Haible  <bruno@clisp.org>
31120
31121         Assume rmdir exists.
31122         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31123         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31124
31125 2010-04-05  Bruno Haible  <bruno@clisp.org>
31126
31127         Fix link error on Solaris 8 with cc.
31128         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31129
31130 2010-04-05  Bruno Haible  <bruno@clisp.org>
31131
31132         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31133         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31134
31135 2010-04-05  Bruno Haible  <bruno@clisp.org>
31136
31137         vasprintf: Update documentation.
31138         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31139
31140 2010-04-05  Bruno Haible  <bruno@clisp.org>
31141
31142         ptsname: Improve test.
31143         * tests/test-ptsname.c (main): Also try the various master names of BSD
31144         systems.
31145
31146 2010-04-05  Bruno Haible  <bruno@clisp.org>
31147
31148         memchr: Avoid a possible C++ test error.
31149         * lib/string.in.h (memchr): Provide declaration if function is missing.
31150         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31151         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31153         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31154
31155 2010-04-05  Bruno Haible  <bruno@clisp.org>
31156
31157         strtok_r: Improve idiom.
31158         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31159         AC_LIBOBJ is used.
31160
31161 2010-04-05  Bruno Haible  <bruno@clisp.org>
31162
31163         strdup: Improve idiom.
31164         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31165         AC_LIBOBJ is used.
31166         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31167         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31168         when AC_LIBOBJ is used.
31169
31170 2010-04-05  Bruno Haible  <bruno@clisp.org>
31171
31172         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31173         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31174         don't set REPLACE_MBSINIT to 1.
31175         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31176         don't set REPLACE_MBRTOWC to 1.
31177         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31178         exist, don't set REPLACE_MBSRTOWCS to 1.
31179         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31180         exist, don't set REPLACE_MBSNRTOWCS to 1.
31181         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31182         don't set REPLACE_WCRTOMB to 1.
31183         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31184         exist, don't set REPLACE_WCSRTOMBS to 1.
31185         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31186         exist, don't set REPLACE_WCSNRTOMBS to 1.
31187
31188 2010-04-05  Bruno Haible  <bruno@clisp.org>
31189
31190         ldexpl: Improve idiom.
31191         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31192         make sure to set HAVE_DECL_LDEXPL to 0.
31193
31194 2010-04-05  Jim Meyering  <meyering@redhat.com>
31195
31196         xstrtol-tests: convert to use init.sh
31197         * modules/xstrtol-tests (Files): Add tests/init.sh.
31198         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31199         Use Exit, not exit.
31200         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31201
31202         atexit-tests: convert to use init.sh
31203         * modules/atexit-tests (Files): Add tests/init.sh.
31204         * tests/test-atexit.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         init.sh: fix typo
31209         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31210
31211         init.sh: make it easier for a test script to write to the tty, ...
31212         when using automake's parallel-tests mode.
31213         * tests/init.sh (stderr_fileno_): Define overridable variable.
31214         (warn_): New function, to use it.
31215         (fail_, skip_, framework_failure_): Use warn_.
31216
31217 2010-04-04  Bruno Haible  <bruno@clisp.org>
31218
31219         btowc: Avoid warning.
31220         * lib/btowc.c: Include <stdlib.h>.
31221         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31222
31223 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31224             Bruno Haible  <bruno@clisp.org>
31225
31226         wchar: Port to NetBSD 1.5.
31227         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31228         * lib/wctype.in.h (WEOF): Likewise.
31229
31230 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31231             Bruno Haible  <bruno@clisp.org>
31232
31233         Port extended stdio to NetBSD 1.5.
31234         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
31235         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
31236         older.
31237
31238 2010-04-04  Bruno Haible  <bruno@clisp.org>
31239
31240         string: Remove unused substitution.
31241         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31242         HAVE_DECL_STRERROR.
31243         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
31244
31245 2010-04-04  Bruno Haible  <bruno@clisp.org>
31246
31247         strtod: Avoid a possible C++ test error.
31248         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
31249         set REPLACE_STRTOD.
31250
31251 2010-04-04  Bruno Haible  <bruno@clisp.org>
31252
31253         strerror: Update documentation.
31254         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
31255
31256 2010-04-04  Bruno Haible  <bruno@clisp.org>
31257
31258         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31259         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31260         _GL_CXXALIAS_SYS_CAST.
31261
31262 2010-04-04  Bruno Haible  <bruno@clisp.org>
31263
31264         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31265         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31266         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31267         REPLACE_FREXPL to 1.
31268         * doc/posix-functions/frexpl.texi: Update documentation.
31269
31270 2010-04-04  Bruno Haible  <bruno@clisp.org>
31271
31272         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31273         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31274
31275 2010-04-04  Bruno Haible  <bruno@clisp.org>
31276
31277         Implement nanosleep for native Windows.
31278         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31279
31280 2010-04-04  Bruno Haible  <bruno@clisp.org>
31281
31282         math: Fix some C++ test errors on Solaris 8.
31283         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31284
31285 2010-04-04  Bruno Haible  <bruno@clisp.org>
31286
31287         math: Fix some C++ test errors on Cygwin.
31288         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31289         truncl): Provide declaration if the system does not have it.
31290         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31291         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31292         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31293         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31294         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31295         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31296         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31297         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31298         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31299         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31300         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31301         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31302         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31303         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31304         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31305         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31307         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31308         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31309         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31310         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31311         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31312
31313 2010-04-04  Bruno Haible  <bruno@clisp.org>
31314
31315         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31316         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31317         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31318         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31319         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31320         * m4/isinf.m4 (gl_ISINF): Likewise.
31321         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31322
31323 2010-04-04  Bruno Haible  <bruno@clisp.org>
31324
31325         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31326         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31327
31328 2010-04-04  Bruno Haible  <bruno@clisp.org>
31329
31330         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31331         * modules/tmpfile (configure.ac): Update.
31332
31333         tmpfile: Fix C++ test error on mingw.
31334         * lib/stdio.in.h (tmpfile): New declaration.
31335         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31336         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31337         * modules/tmpfile (Depends-on): Add stdio.
31338         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31339         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31340         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31341         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31342         REPLACE_TMPFILE.
31343         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31344
31345 2010-04-04  Bruno Haible  <bruno@clisp.org>
31346
31347         ioctl: Fix C++ test error on mingw.
31348         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31349         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31350         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31351
31352 2010-04-03  Bruno Haible  <bruno@clisp.org>
31353
31354         wcwidth: Fix C++ test error on mingw.
31355         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31356         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31357         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31358
31359 2010-04-03  Bruno Haible  <bruno@clisp.org>
31360
31361         nanosleep: Fix C++ test error on mingw.
31362         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31363         * lib/time.in.h (nanosleep): Use modern idiom.
31364         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31365         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31366         REPLACE_NANOSLEEP to 1.
31367         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31368         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31369
31370 2010-04-03  Bruno Haible  <bruno@clisp.org>
31371
31372         strptime: Fix C++ test error on mingw.
31373         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31374         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31375         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31376         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31377         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31378         not REPLACE_STRPTIME.
31379         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31380         REPLACE_STRPTIME.
31381
31382 2010-04-03  Bruno Haible  <bruno@clisp.org>
31383
31384         timegm: Fix C++ test error on mingw.
31385         * lib/time.in.h (timegm): Use modern idiom.
31386         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31387         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31388         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31389         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31390
31391 2010-04-03  Bruno Haible  <bruno@clisp.org>
31392
31393         timegm: Assume declaration if function exists.
31394         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31395         if it exists. Don't clobber ac_cv_func_timegm.
31396
31397 2010-04-03  Bruno Haible  <bruno@clisp.org>
31398
31399         time_r: Fix C++ test error on mingw.
31400         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31401         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31402         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31403         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31404         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31405
31406 2010-04-03  Bruno Haible  <bruno@clisp.org>
31407
31408         time_r: Minor updates.
31409         * modules/time_r (Description): Mention the provided functions.
31410         * lib/time_r.c: Don't include <string.h>.
31411         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31412         * doc/posix-functions/localtime_r.texi: Likewise.
31413
31414 2010-04-03  Bruno Haible  <bruno@clisp.org>
31415
31416         time: Fix regression introduced on 2010-03-08.
31417         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31418         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31419
31420 2010-04-03  Jim Meyering  <meyering@redhat.com>
31421
31422         maint.mk: don't silently disable project-specific syntax-check rules
31423         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31424         that they need to convert their project-specific syntax-check rules
31425         to use the new _sc_search_regexp.
31426
31427 2010-04-03  Bruno Haible  <bruno@clisp.org>
31428
31429         fchdir: Fix regression introduced on 2010-03-08.
31430         * lib/unistd.in.h (fchdir): Fix declaration.
31431         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31433         REPLACE_FCHDIR.
31434         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31435         REPLACE_FCHDIR.
31436
31437 2010-04-03  Bruno Haible  <bruno@clisp.org>
31438
31439         getpagesize: Fix C++ test error on mingw.
31440         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31441         system does not declare the function.
31442         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31443         declared.
31444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31445         HAVE_DECL_GETPAGESIZE.
31446         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31447
31448 2010-04-03  Bruno Haible  <bruno@clisp.org>
31449
31450         stdio: Make C++ tests work on mingw.
31451         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31452         does not declare the function.
31453
31454 2010-04-03  Bruno Haible  <bruno@clisp.org>
31455
31456         ftello: Fix C++ test error on mingw.
31457         * lib/stdio.in.h (ftello): Use modern idiom.
31458         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31459         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31460         is missing and that it needs to be replaced.
31461         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31463         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31464
31465 2010-04-03  Bruno Haible  <bruno@clisp.org>
31466
31467         fseeko: Fix C++ test error on mingw.
31468         * lib/stdio.in.h (fseeko): Use modern idiom.
31469         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31470         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31471         is missing and that it needs to be replaced.
31472         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31473         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31474         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31475
31476 2010-04-03  Bruno Haible  <bruno@clisp.org>
31477
31478         mkstemp: Fix C++ test error on mingw.
31479         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31480         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31481         function is missing and that it needs to be replaced.
31482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31483         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31484
31485 2010-04-03  Bruno Haible  <bruno@clisp.org>
31486
31487         stpncpy: Fix C++ test error on mingw.
31488         * lib/string.in.h (stpncpy): Use modern idiom.
31489         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31490         function is missing and that it needs to be replaced.
31491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31492         REPLACE_STPNCPY.
31493         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31494
31495 2010-04-03  Bruno Haible  <bruno@clisp.org>
31496
31497         sys_stat: Fix C++ test error on mingw.
31498         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31499         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31500
31501 2010-04-03  Bruno Haible  <bruno@clisp.org>
31502
31503         pty: Update doc.
31504         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31505
31506 2010-04-03  Bruno Haible  <bruno@clisp.org>
31507
31508         unistd: Fix C++ test error on mingw.
31509         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31510
31511 2010-04-03  Bruno Haible  <bruno@clisp.org>
31512
31513         Update doc regarding mingw.
31514         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31515         * doc/glibc-functions/login_tty.texi: Likewise.
31516         * doc/glibc-functions/forkpty.texi: Likewise.
31517
31518 2010-04-03  Bruno Haible  <bruno@clisp.org>
31519
31520         stdlib: Avoid compilation failure of c-strtold on mingw.
31521         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31522
31523 2010-04-03  Bruno Haible  <bruno@clisp.org>
31524
31525         locale: Make C++ tests work on Cygwin and mingw.
31526         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31527         cannot provide the function.
31528         Reported by Simon Josefsson.
31529
31530 2010-04-03  Bruno Haible  <bruno@clisp.org>
31531
31532         localename: Port to MacOS X 10.6.
31533         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31534         memory layout of the locales in MacOS X 10.6 as well.
31535         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31536
31537 2010-04-02  Bruno Haible  <bruno@clisp.org>
31538
31539         gnulib-tool: Ensure that long-running tests are executed last.
31540         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31541         running tests after the one for the other tests.
31542
31543 2010-04-02  Bruno Haible  <bruno@clisp.org>
31544
31545         gnulib-tool: Ensure the tests in the main directory are executed first.
31546         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31547         start with the current directory.
31548
31549 2010-04-02  Bruno Haible  <bruno@clisp.org>
31550
31551         Tests for module 'havelib', moved here from GNU gettext.
31552         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31553         modifications.
31554         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31555         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31556         with modifications.
31557         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31558         modifications.
31559         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31560         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31561         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31562         with modifications.
31563         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
31564         with modifications.
31565         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
31566         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
31567         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
31568         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
31569         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
31570         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
31571         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
31572         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
31573         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
31574         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
31575         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
31576         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
31577         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
31578         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
31579         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
31580         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
31581         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
31582         with modifications.
31583         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
31584         with modifications.
31585         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
31586         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
31587         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
31588         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
31589         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
31590         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
31591         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
31592         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
31593         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
31594         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
31595         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
31596         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
31597         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
31598         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
31599         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
31600         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
31601         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
31602         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
31603         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
31604         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
31605         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
31606         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
31607         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
31608         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
31609         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
31610         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
31611         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
31612         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
31613         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
31614         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
31615         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
31616         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
31617         * tests/havelib/rpathx/rpathx.c: New file, from
31618         gettext/autoconf-lib-link.
31619         * tests/havelib/rpathx/Makefile.am: New file, from
31620         gettext/autoconf-lib-link.
31621         * tests/havelib/rpathx/configure.ac: New file, from
31622         gettext/autoconf-lib-link with modifications.
31623         * tests/havelib/rpathy/rpathy.c: New file, from
31624         gettext/autoconf-lib-link.
31625         * tests/havelib/rpathy/Makefile.am: New file, from
31626         gettext/autoconf-lib-link.
31627         * tests/havelib/rpathy/configure.ac: New file, from
31628         gettext/autoconf-lib-link with modifications.
31629         * tests/havelib/rpathz/rpathz.c: New file, from
31630         gettext/autoconf-lib-link.
31631         * tests/havelib/rpathz/Makefile.am: New file, from
31632         gettext/autoconf-lib-link.
31633         * tests/havelib/rpathz/configure.ac: New file, from
31634         gettext/autoconf-lib-link with modifications.
31635         * tests/havelib/rpathlx/usex.c: New file, from
31636         gettext/autoconf-lib-link.
31637         * tests/havelib/rpathlx/Makefile.am: New file, from
31638         gettext/autoconf-lib-link.
31639         * tests/havelib/rpathlx/configure.ac: New file, from
31640         gettext/autoconf-lib-link with modifications.
31641         * tests/havelib/rpathly/usey.c: New file, from
31642         gettext/autoconf-lib-link.
31643         * tests/havelib/rpathly/Makefile.am: New file, from
31644         gettext/autoconf-lib-link.
31645         * tests/havelib/rpathly/configure.ac: New file, from
31646         gettext/autoconf-lib-link with modifications.
31647         * tests/havelib/rpathlz/usez.c: New file, from
31648         gettext/autoconf-lib-link.
31649         * tests/havelib/rpathlz/Makefile.am: New file, from
31650         gettext/autoconf-lib-link.
31651         * tests/havelib/rpathlz/configure.ac: New file, from
31652         gettext/autoconf-lib-link with modifications.
31653         * tests/havelib/rpathlyx/usey.c: New file, from
31654         gettext/autoconf-lib-link.
31655         * tests/havelib/rpathlyx/Makefile.am: New file, from
31656         gettext/autoconf-lib-link.
31657         * tests/havelib/rpathlyx/configure.ac: New file, from
31658         gettext/autoconf-lib-link with modifications.
31659         * tests/havelib/rpathlzyx/usez.c: New file, from
31660         gettext/autoconf-lib-link.
31661         * tests/havelib/rpathlzyx/Makefile.am: New file, from
31662         gettext/autoconf-lib-link.
31663         * tests/havelib/rpathlzyx/configure.ac: New file, from
31664         gettext/autoconf-lib-link with modifications.
31665         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
31666         with modifications.
31667
31668 2010-04-02  Bruno Haible  <bruno@clisp.org>
31669
31670         gnulib-tool: Create distributed built sources also for the tests.
31671         * gnulib-tool (func_create_testdir): Also generate distributed built
31672         sources in the tests directory.
31673
31674 2010-04-02  Bruno Haible  <bruno@clisp.org>
31675
31676         gnulib-tool: Obey user's environment variables.
31677         * gnulib-tool (func_create_testdir): When creating built sources,
31678         respect the environment variables for autoconf, automake, etc. given by
31679         the user.
31680
31681 2010-04-02  Bruno Haible  <bruno@clisp.org>
31682
31683         gnulib-tool: Provide the value of --m4-base to modules.
31684         * gnulib-tool (func_import, func_create_testdir): Emit a definition
31685         of gl_m4_base.
31686
31687 2010-04-02  Eric Blake  <eblake@redhat.com>
31688
31689         maint.mk: fix some fallout
31690         * NEWS: Document the incompatible change, and its effect on cfg.mk.
31691         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
31692
31693 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31694
31695         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
31696         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
31697         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
31698         (sc_cast_of_x_alloc_return_value): Likewise.
31699         (sc_cast_of_alloca_return_value): Likewise.
31700         (sc_space_tab): Likewise.
31701         (sc_prohibit_atoi_atof): Likewise.
31702         (sc_prohibit_magic_number_exit): Likewise.
31703         (sc_error_exit_success): Likewise.
31704         (sc_file_system): Likewise.
31705         (sc_prohibit_have_config_h): Likewise.
31706         (sc_require_config_h): Likewise.
31707         (sc_prohibit_HAVE_MBRTOWC): Likewise.
31708         (sc_obsolete_symbols): Likewise.
31709         (sc_changelog): Likewise.
31710         (sc_program_name): Likewise.
31711         (sc_the_the): Likewise.
31712         (sc_trailing_blank): Likewise.
31713         (sc_two_space_separator_in_usage): Likewise.
31714         (sc_useless_cpp_parens): Likewise.
31715         (sc_GPL_version): Likewise.
31716         (sc_GFDL_version): Likewise.
31717         (sc_texinfo_acronym): Likewise.
31718         (sc_prohibit_cvs_keyword): Likewise.
31719         (sc_prohibit_stat_st_blocks): Likewise.
31720         (sc_prohibit_S_IS_definition): Likewise.
31721         (sc_redundant_const): Likewise.
31722         (sc_makefile_TAB_only_indentation): Likewise.
31723         (sc_m4_quote_check): Likewise.
31724         (sc_makefile_path_separator_check): Likewise.
31725         (sc_copyright_check): Likewise.
31726         (sc_Wundef_boolean): Likewise.
31727         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
31728
31729         maint.mk: match 0 or more whitespace-before-function-call '('
31730         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
31731         that have zero or two-and-more spaces between the function name
31732         and the open parenthesis.
31733         (sc_error_message_warn_fatal): Likewise.
31734         (sc_error_message_uppercase): Likewise.
31735         (sc_error_message_period): Likewise.
31736
31737 2010-03-31  Eric Blake  <eblake@redhat.com>
31738
31739         maint.mk: check for [ as well as test
31740         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
31741         Based on a libvirt report by Matthias Bolte.
31742
31743         gnumakefile: don't squelch _version output
31744         * top/GNUmakefile (_version): Create one-shot dependency rather
31745         than using $(shell) when version must be regenerated.
31746         (_autoreconf): Run verbosely, by default.
31747
31748         sys_time: avoid compiler warnings
31749         * lib/sys_time.in.h (includes): Ensure gcc pragma is
31750         unconditional, fixing regression from 2010-03-29.
31751         Reported by Simon Josefsson.
31752
31753 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31754
31755         maint.mk: s/_header_without_use/_sc_header_without_use/
31756         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
31757         (sc_prohibit_assert_without_use): Use the new name.
31758         (sc_prohibit_close_stream_without_use): Likewise.
31759         (sc_prohibit_getopt_without_use): Likewise.
31760         (sc_prohibit_quotearg_without_use): Likewise.
31761         (sc_prohibit_quote_without_use): Likewise.
31762         (sc_prohibit_long_options_without_use): Likewise.
31763         (sc_prohibit_inttostr_without_use): Likewise.
31764         (sc_prohibit_ignore_value_without_use): Likewise.
31765         (sc_prohibit_error_without_use): Likewise.
31766         (sc_prohibit_xalloc_without_use): Likewise.
31767         (sc_prohibit_hash_without_use): Likewise.
31768         (sc_prohibit_hash_pjw_without_use): Likewise.
31769         (sc_prohibit_safe_read_without_use): Likewise.
31770         (sc_prohibit_argmatch_without_use): Likewise.
31771         (sc_prohibit_canonicalize_without_use): Likewise.
31772         (sc_prohibit_root_dev_ino_without_use): Likewise.
31773         (sc_prohibit_openat_without_use): Likewise.
31774         (sc_prohibit_c_ctype_without_use): Likewise.
31775         (sc_prohibit_signal_without_use): Likewise.
31776         (sc_prohibit_intprops_without_use): Likewise.
31777
31778 2010-03-30  Eric Blake  <eblake@redhat.com>
31779
31780         maint: improve module indicators
31781         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31782         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31783         columns, and avoid extra macro expansion.
31784
31785         fdopendir: work around FreeBSD bug
31786         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31787         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31788         * modules/dirent (Makefile.am): Substitute it.
31789         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31790         declaration.
31791         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31792         fix.
31793         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31794
31795 2010-03-29  Bruno Haible  <bruno@clisp.org>
31796
31797         Emit #pragma system_header after the inclusion guard, not before.
31798         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31799         guard that spans the entire file, not before. This enables an
31800         optimization in GCC's preprocessor.
31801         * lib/ctype.in.h: Likewise.
31802         * lib/dirent.in.h: Likewise.
31803         * lib/errno.in.h: Likewise.
31804         * lib/float.in.h: Likewise.
31805         * lib/getopt.in.h: Likewise.
31806         * lib/iconv.in.h: Likewise.
31807         * lib/langinfo.in.h: Likewise.
31808         * lib/locale.in.h: Likewise.
31809         * lib/math.in.h: Likewise.
31810         * lib/netdb.in.h: Likewise.
31811         * lib/netinet_in.in.h: Likewise.
31812         * lib/pty.in.h: Likewise.
31813         * lib/sched.in.h: Likewise.
31814         * lib/se-selinux.in.h: Likewise.
31815         * lib/search.in.h: Likewise.
31816         * lib/spawn.in.h: Likewise.
31817         * lib/stdarg.in.h: Likewise.
31818         * lib/stdint.in.h: Likewise.
31819         * lib/string.in.h: Likewise.
31820         * lib/strings.in.h: Likewise.
31821         * lib/sys_file.in.h: Likewise.
31822         * lib/sys_ioctl.in.h: Likewise.
31823         * lib/sys_time.in.h: Likewise.
31824         * lib/sys_times.in.h: Likewise.
31825         * lib/sys_utsname.in.h: Likewise.
31826         * lib/sys_wait.in.h: Likewise.
31827         * lib/sysexits.in.h: Likewise.
31828         * lib/wctype.in.h: Likewise.
31829
31830 2010-03-28  James Youngman  <jay@gnu.org>
31831
31832         save-cwd: don't leak a file descriptor when the caller execs.
31833         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31834         saved file descriptor.
31835         * modules/save-cwd (Depends-on): Depend on cloexec.
31836
31837 2010-03-29  Bruno Haible  <bruno@clisp.org>
31838
31839         Remove vestiges of fts-lgpl module.
31840         * lib/fts_.h: Assume GNULIB_FTS is 1.
31841         * lib/fts.c: Likewise.
31842         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31843
31844 2010-03-28  Bruno Haible  <bruno@clisp.org>
31845
31846         Fix definition of tests witness macro.
31847         * gnulib-tool (func_import): Fix definition of witness macro.
31848
31849 2010-03-28  Bruno Haible  <bruno@clisp.org>
31850
31851         Fix ioctl's protoype on glibc systems.
31852         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31853         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31854         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31855         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31856         signature. If not, arrange to replace the ioctl function.
31857         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31858         REPLACE_IOCTL.
31859         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31860         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31861         Reported by Ludovic Courtès <ludo@gnu.org>.
31862
31863 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31864
31865         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31866         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31867         made it so grep -r --include=GLOB* ... did not work.
31868
31869 2010-03-26  Jim Meyering  <meyering@redhat.com>
31870             Eric Blake  <eblake@redhat.com>
31871
31872         maint.mk: prohibit use of test's -o and -a operators
31873         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31874
31875 2010-03-28  Bruno Haible  <bruno@clisp.org>
31876
31877         Remove unused GNULIB_XYZ macro definitions.
31878         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31879         invocation.
31880
31881 2010-03-28  Bruno Haible  <bruno@clisp.org>
31882
31883         Mark privileged tests modules.
31884         * modules/idpriv-drop-tests (Status): New section.
31885         * modules/idpriv-droptemp-tests (Status): New section.
31886
31887 2010-03-28  Bruno Haible  <bruno@clisp.org>
31888
31889         Split C++ tests into separate tests modules.
31890         * modules/dirent-c++-tests: New file, extracted from
31891         modules/dirent-tests.
31892         * modules/dirent-tests: Depend on it.
31893         * modules/fcntl-h-c++-tests: New file, extracted from
31894         modules/fcntl-h-tests.
31895         * modules/fcntl-h-tests: Depend on it.
31896         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31897         * modules/glob-tests: Depend on it.
31898         * modules/iconv-h-c++-tests: New file, extracted from
31899         modules/iconv-h-tests.
31900         * modules/iconv-h-tests: Depend on it.
31901         * modules/langinfo-c++-tests: New file, extracted from
31902         modules/langinfo-tests.
31903         * modules/langinfo-tests: Depend on it.
31904         * modules/locale-c++-tests: New file, extracted from
31905         modules/locale-tests.
31906         * modules/locale-tests: Depend on it.
31907         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31908         * modules/math-tests: Depend on it.
31909         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31910         * modules/pty-tests: Depend on it.
31911         * modules/search-c++-tests: New file, extracted from
31912         modules/search-tests.
31913         * modules/search-tests: Depend on it.
31914         * modules/signal-c++-tests: New file, extracted from
31915         modules/signal-tests.
31916         * modules/signal-tests: Depend on it.
31917         * modules/spawn-c++-tests: New file, extracted from
31918         modules/spawn-tests.
31919         * modules/spawn-tests: Depend on it.
31920         * modules/stdio-c++-tests: New file, extracted from
31921         modules/stdio-tests.
31922         * modules/stdio-tests: Depend on it.
31923         * modules/stdlib-c++-tests: New file, extracted from
31924         modules/stdlib-tests.
31925         * modules/stdlib-tests: Depend on it.
31926         * modules/string-c++-tests: New file, extracted from
31927         modules/string-tests.
31928         * modules/string-tests: Depend on it.
31929         * modules/sys_ioctl-c++-tests: New file, extracted from
31930         modules/sys_ioctl-tests.
31931         * modules/sys_ioctl-tests: Depend on it.
31932         * modules/sys_select-c++-tests: New file, extracted from
31933         modules/sys_select-tests.
31934         * modules/sys_select-tests: Depend on it.
31935         * modules/sys_socket-c++-tests: New file, extracted from
31936         modules/sys_socket-tests.
31937         * modules/sys_socket-tests: Depend on it.
31938         * modules/sys_stat-c++-tests: New file, extracted from
31939         modules/sys_stat-tests.
31940         * modules/sys_stat-tests: Depend on it.
31941         * modules/sys_time-c++-tests: New file, extracted from
31942         modules/sys_time-tests.
31943         * modules/sys_time-tests: Depend on it.
31944         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31945         * modules/time-tests: Depend on it.
31946         * modules/unistd-c++-tests: New file, extracted from
31947         modules/unistd-tests.
31948         * modules/unistd-tests: Depend on it.
31949         * modules/wchar-c++-tests: New file, extracted from
31950         modules/wchar-tests.
31951         * modules/wchar-tests: Depend on it.
31952         * modules/wctype-c++-tests: New file, extracted from
31953         modules/wctype-tests.
31954         * modules/wctype-tests: Depend on it.
31955         Reported by Simon Josefsson.
31956
31957 2010-03-28  Bruno Haible  <bruno@clisp.org>
31958
31959         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31960         * gnulib-tool (func_exists_module): New function, extracted from
31961         func_verify_module.
31962         (func_verify_module): Use it.
31963         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31964         'foo' only if 'foo' exists.
31965         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31966         module.
31967
31968 2010-03-28  Bruno Haible  <bruno@clisp.org>
31969
31970         gnulib-tool: Add support for special categories of tests.
31971         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31972         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31973         (func_usage): Document them.
31974         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31975         inc_unportable_tests, inc_all_tests): New variables.
31976         (func_acceptable): Consider these variables.
31977         (func_modules_transitive_closure): Make it work when the 'Status' field
31978         consists of multiple words.
31979         (func_import): Store and restore the values of inc_cxx_tests,
31980         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31981         inc_all_tests in gnulib-comp.m4.
31982         (func_create_testdir): Set inc_all_tests to true.
31983         * doc/gnulib.texi (Extra tests modules): New section.
31984         Suggested by Jim Meyering.
31985
31986 2010-03-28  Bruno Haible  <bruno@clisp.org>
31987
31988         ansi-c++-opt: Allow turning off the C++ build by default.
31989         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31990         gl_CXX_CHOICE_DEFAULT_NO is defined.
31991         Requested by Eric Blake.
31992
31993 2010-03-28  Bruno Haible  <bruno@clisp.org>
31994
31995         unistd: Avoid #define replacements in C++ mode.
31996         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31997         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31998         setsockopt, shutdown, select): In C++, attach a warning to the function
31999         if possible, rather than #defining the symbol to a dysfunctional alias.
32000         Reported by John W. Eaton <jwe@gnu.org>.
32001
32002 2010-03-28  Bruno Haible  <bruno@clisp.org>
32003
32004         Fix link errors on mingw.
32005         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32006         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32007         $(LIBSOCKET).
32008         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32009         $(LIBSOCKET).
32010
32011 2010-03-28  Bruno Haible  <bruno@clisp.org>
32012             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32013
32014         lib-ignore: Determine different options for different compilers.
32015         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32016         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32017         Add comments.
32018         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32019         * NEWS: Mention the change.
32020
32021 2010-03-27  Bruno Haible  <bruno@clisp.org>
32022
32023         Remove unused GNULIB_XYZ macro definitions.
32024         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32025         * modules/fseek (configure.ac): Likewise.
32026         * modules/ioctl (configure.ac): Likewise.
32027         * modules/open (configure.ac): Likewise.
32028         * modules/stdlib-safer (configure.ac): Likewise.
32029
32030 2010-03-27  Bruno Haible  <bruno@clisp.org>
32031
32032         Add a remark about certain modules.
32033         * modules/malloc (Comment): New section.
32034         * modules/realloc (Comment): Likewise.
32035         * modules/sigpipe (Comment): Likewise.
32036
32037 2010-03-27  Bruno Haible  <bruno@clisp.org>
32038
32039         Resolve conflict between the two kinds of module indicators.
32040         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32041         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32042         * modules/canonicalize (configure.ac): Invoke
32043         gl_MODULE_INDICATOR_FOR_TESTS.
32044         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32045         GNULIB_XYZ.
32046         * tests/test-dirent-c++.cc: Likewise.
32047         * tests/test-dirent-safer.c: Likewise.
32048         * tests/test-dup2.c: Likewise.
32049         * tests/test-fchdir.c: Likewise.
32050         * tests/test-fcntl-h-c++.cc: Likewise.
32051         * tests/test-getopt.c: Likewise.
32052         * tests/test-getopt.h: Likewise.
32053         * tests/test-langinfo-c++.cc: Likewise.
32054         * tests/test-locale-c++.cc: Likewise.
32055         * tests/test-math-c++.cc: Likewise.
32056         * tests/test-pty-c++.cc: Likewise.
32057         * tests/test-search-c++.cc: Likewise.
32058         * tests/test-signal-c++.cc: Likewise.
32059         * tests/test-spawn-c++.cc: Likewise.
32060         * tests/test-stdio-c++.cc: Likewise.
32061         * tests/test-stdlib-c++.cc: Likewise.
32062         * tests/test-string-c++.cc: Likewise.
32063         * tests/test-sys_ioctl-c++.cc: Likewise.
32064         * tests/test-sys_select-c++.cc: Likewise.
32065         * tests/test-sys_socket-c++.cc: Likewise.
32066         * tests/test-sys_stat-c++.cc: Likewise.
32067         * tests/test-sys_time-c++.cc: Likewise.
32068         * tests/test-time-c++.cc: Likewise.
32069         * tests/test-unistd-c++.cc: Likewise.
32070         * tests/test-wchar-c++.cc: Likewise.
32071         * tests/uninorm/test-u8-nfc.c: Likewise.
32072         * tests/uninorm/test-u8-nfd.c: Likewise.
32073         * tests/uninorm/test-u8-nfkc.c: Likewise.
32074         * tests/uninorm/test-u8-nfkd.c: Likewise.
32075         * tests/uninorm/test-u16-nfc.c: Likewise.
32076         * tests/uninorm/test-u16-nfd.c: Likewise.
32077         * tests/uninorm/test-u16-nfkc.c: Likewise.
32078         * tests/uninorm/test-u16-nfkd.c: Likewise.
32079         * tests/uninorm/test-u32-nfc.c: Likewise.
32080         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32081         * tests/uninorm/test-u32-nfd.c: Likewise.
32082         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32083         * tests/uninorm/test-u32-nfkc.c: Likewise.
32084         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32085         * tests/uninorm/test-u32-nfkd.c: Likewise.
32086         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32087         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32088
32089 2010-03-27  Bruno Haible  <bruno@clisp.org>
32090
32091         Distinguish two kinds of module indicators.
32092         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32093         gl_MODULE_INDICATOR.
32094         (gl_MODULE_INDICATOR): New macro.
32095         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32096         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32097         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32098         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32099         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32100         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32101         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32102         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32103         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32104         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32105         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32106         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32107         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32108         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32109         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32110         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32111         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32112         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32113         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32114         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32115         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32116         * modules/cloexec (configure.ac): Likewise.
32117         * modules/getopt-gnu (configure.ac): Likewise.
32118         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32119         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32120         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32121         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32122
32123 2010-03-27  Bruno Haible  <bruno@clisp.org>
32124
32125         New module description field 'Comment'.
32126         * gnulib-tool: New option --extract-comment.
32127         (func_usage): Document it.
32128         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32129         (func_get_comment): New function.
32130         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32131
32132 2010-03-27  Bruno Haible  <bruno@clisp.org>
32133
32134         Addendum to 2010-02-07 commit.
32135         * gnulib-tool (func_usage): Document --extract-applicability option.
32136
32137 2010-03-27  Bruno Haible  <bruno@clisp.org>
32138
32139         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32140         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32141         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32142         rather than link errors.
32143
32144 2010-03-27  Bruno Haible  <bruno@clisp.org>
32145
32146         Avoid side effects from tests-related modules on the compilation of lib.
32147         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32148         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32149         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32150         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32151         macro.
32152         (func_import): Define a witness macro. Assign it a value that depends
32153         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32154         tests-related modules.
32155         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32156         Reported by Jim Meyering.
32157
32158 2010-03-27  Bruno Haible  <bruno@clisp.org>
32159
32160         Factorize common .m4 code.
32161         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32162         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32163         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32164         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32165         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32166         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32167         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32168         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32169         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32170         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32171         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32172         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32173         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32174         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32175         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32176         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32177         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32178         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32179         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32180         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32181         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32182         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32183         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32184         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32185         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32186         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32187         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32188         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32189         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32190         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32191         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32192         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32193
32194 2010-03-27  Bruno Haible  <bruno@clisp.org>
32195
32196         Fix a compilation error on Cygwin with g++ >= 4.3.
32197         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32198         if it is undefined or if we alias it to chmod.
32199         (lstat): Don't warn about the use of this function if it is undefined
32200         or if we alias it to stat.
32201         Reported by Simon Josefsson.
32202
32203 2010-03-27  Bruno Haible  <bruno@clisp.org>
32204
32205         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32206         * modules/getlogin (configure.ac): Update.
32207
32208         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32209         * modules/getlogin_r (configure.ac): Update.
32210
32211         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32212         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32213         * modules/inet_ntop (configure.ac): Update.
32214
32215         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32216         * modules/inet_pton (configure.ac): Update.
32217
32218         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32219         * modules/mbslen (configure.ac): Update.
32220
32221         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32222         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32223         * modules/forkpty (configure.ac): Update.
32224         * modules/openpty (configure.ac): Update.
32225
32226 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32227
32228         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32229         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32230
32231 2010-03-25  Eric Blake  <eblake@redhat.com>
32232
32233         maint: use pragma consistently across replacement headers
32234         * lib/ctype.in.h (system_header): Hoist for consistent placement.
32235         * lib/dirent.in.h (system_header): Likewise.
32236         * lib/errno.in.h (system_header): Likewise.
32237         * lib/float.in.h (system_header): Likewise.
32238         * lib/getopt.in.h (system_header): Likewise.
32239         * lib/iconv.in.h (system_header): Likewise.
32240         * lib/inttypes.in.h (system_header): Likewise.
32241         * lib/langinfo.in.h (system_header): Likewise.
32242         * lib/locale.in.h (system_header): Likewise.
32243         * lib/math.in.h (system_header): Likewise.
32244         * lib/netdb.in.h (system_header): Likewise.
32245         * lib/netinet_in.in.h (system_header): Likewise.
32246         * lib/pty.in.h (system_header): Likewise.
32247         * lib/sched.in.h (system_header): Likewise.
32248         * lib/se-selinux.in.h (system_header): Likewise.
32249         * lib/search.in.h (system_header): Likewise.
32250         * lib/spawn.in.h (system_header): Likewise.
32251         * lib/stdarg.in.h (system_header): Likewise.
32252         * lib/stdint.in.h (system_header): Likewise.
32253         * lib/string.in.h (system_header): Likewise.
32254         * lib/strings.in.h (system_header): Likewise.
32255         * lib/sys_file.in.h (system_header): Likewise.
32256         * lib/sys_ioctl.in.h (system_header): Likewise.
32257         * lib/sys_socket.in.h (system_header): Likewise.
32258         * lib/sys_times.in.h (system_header): Likewise.
32259         * lib/sys_utsname.in.h (system_header): Likewise.
32260         * lib/sys_wait.in.h (system_header): Likewise.
32261         * lib/sysexits.in.h (system_header): Likewise.
32262         * lib/unistd.in.h (system_header): Likewise.
32263         * lib/wctype.in.h (system_header): Likewise.
32264
32265         arpa/inet: fix mingw compilation warning
32266         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32267         Reported by Matthew Bolte.
32268
32269 2010-03-25  Bruno Haible  <bruno@clisp.org>
32270
32271         Avoid collision between gnulib wrapper and libintl wrapper.
32272         * lib/printf.c (printf): Don't define if a printf wrapper is already
32273         defined in intl/printf.c.
32274         Reported by Michel Boaventura <michel@michelboaventura.com>.
32275
32276 2010-03-25  Bruno Haible  <bruno@clisp.org>
32277
32278         Use ANSI C.
32279         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32280
32281 2010-03-25  Bruno Haible  <bruno@clisp.org>
32282
32283         Minor formatting changes.
32284         * lib/acosl.c: Insert space before function argument list.
32285         * lib/argz.c: Likewise.
32286         * lib/asinl.c: Likewise.
32287         * lib/expl.c: Likewise.
32288         * lib/gen-uni-tables.c: Likewise.
32289         * lib/gettext.h: Likewise.
32290         * lib/glthread/lock.h: Likewise.
32291         * lib/tanl.c: Likewise.
32292         * lib/uniname/uniname.c: Likewise.
32293         * tests/test-idpriv-drop.c: Likewise.
32294         * tests/test-idpriv-droptemp.c: Likewise.
32295         * tests/test-lock.c: Likewise.
32296         * tests/test-tls.c: Likewise.
32297         * lib/argp-help.c: Insert space before function-like macro argument
32298         list.
32299         * lib/memcmp.c: Likewise.
32300         * tests/test-base64.c: Likewise.
32301         * lib/localename.c: Insert space before sizeof's argument list.
32302         * lib/safe-alloc.h: Likewise.
32303         * lib/file-set.h: Insert space before macro argument list.
32304         * tests/test-argp.c: Likewise.
32305         * lib/argp-namefrob.h: Insert space before function parameter list.
32306         * lib/getaddrinfo.c: Likewise.
32307         * lib/netdb.in.h: Likewise.
32308         * lib/parse-duration.h: Likewise.
32309         * lib/parse-duration.c: Likewise.
32310         * lib/poll.c: Likewise.
32311         * lib/select.c: Likewise.
32312         * lib/trim.h: Likewise.
32313         * tests/test-usleep.c: Likewise.
32314         * lib/ldexpl.c: Insert space before function parameter list and before
32315         function argument list.
32316         * lib/logl.c: Likewise.
32317         * lib/sqrtl.c: Likewise.
32318         * lib/trim.c: Likewise.
32319         * lib/cosl.c: Use GNU style indentation. Insert space before function
32320         argument list.
32321         * lib/sinl.c: Likewise.
32322         * lib/tsearch.c: Insert space after 'for'.
32323         Reported by Jim Meyering.
32324
32325 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32326
32327         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32328         config header before grepping, as it's not present before
32329         autoreconf/configure are run.  Reported by Simon Josefsson.
32330
32331 2010-03-23  Bruno Haible  <bruno@clisp.org>
32332
32333         pt_chown: Make it work with automake < 1.11.
32334         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32335         Reported by Simon Josefsson.
32336
32337 2010-03-23  Bruno Haible  <bruno@clisp.org>
32338
32339         pt_chown: Don't depend on GPLed modules.
32340         * lib/pt_chown.c: Don't include idpriv.h.
32341         (main): Don't drop privileges.
32342         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32343         Reported by Simon Josefsson.
32344
32345 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32346
32347         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32348         suggestions from karl@freefriends.org (Karl Berry).
32349
32350 2010-03-22  Eric Blake  <eblake@redhat.com>
32351
32352         gethostname: further tweaks
32353         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32354         are overriding gethostname.
32355         Suggested by Bruno Haible.
32356
32357 2010-03-21  Bruno Haible  <bruno@clisp.org>
32358
32359         Fix comments.
32360         * lib/forkpty.c (rpl_forkpty): Fix comment.
32361         * lib/openpty.c (rpl_openpty): Likewise.
32362         Reported by Eric Blake.
32363
32364 2010-03-22  Eric Blake  <eblake@redhat.com>
32365
32366         gethostname: fix build on mingw
32367         * lib/unistd.in.h (includes): Work around fact that mingw
32368         <winsock2.h> re-includes <unistd.h>, by avoiding any
32369         redeclarations if we are being included by <winsock2.h>.
32370         Reported by Matthias Bolte.
32371
32372 2010-03-21  Bruno Haible  <bruno@clisp.org>
32373
32374         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32375         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32376         modifications.
32377         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32378         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32379         provide the replacement.
32380         * modules/forkpty (Depends-on): Add openpty, login_tty.
32381         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32382         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32383         * doc/glibc-functions/forkpty.texi: More supported platforms.
32384         * config/srclist.txt: Add forkpty.c (commented).
32385
32386 2010-03-21  Bruno Haible  <bruno@clisp.org>
32387
32388         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32389         (Makefile.am): Verify that PTY_LIB is defined.
32390
32391         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32392
32393 2010-03-21  Bruno Haible  <bruno@clisp.org>
32394
32395         Tests for module 'login_tty'.
32396         * modules/login_tty-tests: New file.
32397         * tests/test-login_tty.c: New file.
32398
32399         New module 'login_tty'.
32400         * lib/login_tty.c: New file.
32401         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32402         * modules/login_tty: New file.
32403         * doc/glibc-functions/login_tty.texi: Mention the new module.
32404
32405 2010-03-21  Bruno Haible  <bruno@clisp.org>
32406
32407         login_tty: Documentation.
32408         * doc/glibc-functions/login_tty.texi: New file.
32409         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32410
32411 2010-03-21  Bruno Haible  <bruno@clisp.org>
32412
32413         pty: Consistent macro naming.
32414         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32415         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32416         * modules/pty (configure.ac): Update.
32417
32418 2010-03-21  Bruno Haible  <bruno@clisp.org>
32419
32420         Tests for openpty: Make stricter.
32421         * tests/test-openpty.c (main): Add test of canonical processing and
32422         erase.
32423         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32424
32425         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32426         * lib/openpty.c (openpty): New replacement function.
32427         * lib/pty.in.h: Include <termios.h>.
32428         (openpty): Update declaration. Add comments.
32429         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32430         is not declared, arrange to provide the replacement. Check for _getpty
32431         and posix_openpt.
32432         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32433         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32434         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32435         * modules/pty-tests (test_pty_c___LDADD): New variable.
32436         * doc/glibc-functions/openpty.texi: More supported platforms.
32437
32438 2010-03-21  Bruno Haible  <bruno@clisp.org>
32439
32440         setenv: Tweaks.
32441         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32442         the test program.
32443         * doc/posix-functions/setenv.texi: Update platforms list.
32444
32445 2010-03-21  Bruno Haible  <bruno@clisp.org>
32446
32447         New module 'unlockpt'.
32448         * lib/unlockpt.c: New file, from glibc with modifications.
32449         * m4/unlockpt.m4: New file.
32450         * modules/unlockpt: New file.
32451         * lib/stdlib.in.h (unlockpt): New declaration.
32452         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32453         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32454         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32455         HAVE_UNLOCKPT.
32456         * doc/posix-functions/unlockpt.texi: Mention the new module.
32457         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32458         * config/srclist.txt: Add unlockpt.c (commented).
32459
32460 2010-03-21  Jim Meyering  <meyering@redhat.com>
32461
32462         maint.mk: prohibit inclusion of "intprops.h" without use
32463         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32464
32465 2010-03-21  Bruno Haible  <bruno@clisp.org>
32466
32467         New module 'grantpt'.
32468         * lib/grantpt.c: New file, from glibc with modifications.
32469         * m4/grantpt.m4: New file.
32470         * modules/grantpt: New file.
32471         * lib/stdlib.in.h (grantpt): New declaration.
32472         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32473         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32474         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32475         HAVE_GRANTPT.
32476         * doc/posix-functions/grantpt.texi: Mention the new module.
32477         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32478         * config/srclist.txt: Add grantpt.c (commented).
32479
32480 2010-03-21  Bruno Haible  <bruno@clisp.org>
32481
32482         New module 'pt_chown'.
32483         * lib/pt_chown.c: New file, from glibc with modifications.
32484         * lib/pty-private.h: New file, from glibc with modifications.
32485         * modules/pt_chown: New file.
32486         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32487
32488 2010-03-21  Bruno Haible  <bruno@clisp.org>
32489
32490         Tests for module 'ptsname'.
32491         * modules/ptsname-tests: New file.
32492         * tests/test-ptsname.c: New file.
32493
32494         New module 'ptsname'.
32495         * lib/ptsname.c: New file, from glibc with modifications.
32496         * m4/ptsname.m4: New file.
32497         * modules/ptsname: New file.
32498         * lib/stdlib.in.h (ptsname): New declaration.
32499         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32500         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32501         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32502         HAVE_PTSNAME.
32503         * doc/posix-functions/ptsname.texi: Mention the new module.
32504         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32505         * config/srclist.txt: Add ptsname.c (commented).
32506
32507 2010-03-21  Bruno Haible  <bruno@clisp.org>
32508
32509         Tests for module 'ttyname_r'.
32510         * modules/ttyname_r-tests: New file.
32511         * tests/test-ttyname_r.c: New file.
32512
32513         New module 'ttyname_r'.
32514         * lib/ttyname_r.c: New file.
32515         * m4/ttyname_r.m4: New file.
32516         * modules/ttyname_r: New file.
32517         * lib/unistd.in.h (ttyname_r): New declaration.
32518         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32519         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32520         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32521         HAVE_TTYNAME_R.
32522         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32523         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32524
32525 2010-03-20  Bruno Haible  <bruno@clisp.org>
32526
32527         signal: Undefine macro definitions in C++ mode.
32528         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32529         sigfillset): Undefine macro definitions from the system header in C++
32530         mode.
32531         Reported by John W. Eaton <jwe@gnu.org>.
32532
32533 2010-03-20  Bruno Haible  <bruno@clisp.org>
32534
32535         Ensure no #include statements inside extern "C" { ... }.
32536         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32537         contain #include statements.
32538         * lib/time.in.h: Likewise.
32539
32540 2010-03-20  Bruno Haible  <bruno@clisp.org>
32541
32542         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32543         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32544         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32545         Reported by John W. Eaton <jwe@gnu.org>.
32546
32547 2010-03-20  Bruno Haible  <bruno@clisp.org>
32548
32549         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32550         Reported by Jim Meyering.
32551
32552 2010-03-20  Bruno Haible  <bruno@clisp.org>
32553
32554         pipe: Set errno upon failure.
32555         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32556         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32557         errno value in error message.
32558
32559 2010-03-20  Bruno Haible  <bruno@clisp.org>
32560             Jim Meyering  <meyering@redhat.com>
32561
32562         lchown: Avoid "unused variable" warning.
32563         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
32564
32565 2010-03-20  Bruno Haible  <bruno@clisp.org>
32566
32567         Work around unlink() bug on MacOS X 10.5.6.
32568         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
32569         attempting to unlink a parent directory.
32570         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
32571         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
32572         activate for the replacement function.
32573         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
32574
32575 2010-03-20  Bruno Haible  <bruno@clisp.org>
32576
32577         Fix link errors on Solaris 8.
32578         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
32579         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
32580
32581 2010-03-19  Jim Meyering  <meyering@redhat.com>
32582
32583         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
32584         The _LIBC implementation of build_range_exp correctly honors the
32585         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
32586         However, the non-_LIBC implementation would ignore that syntax-bit
32587         flag and return REG_ERANGE unconditionally.
32588         This change makes it honor that flag.
32589         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
32590         Make two pointer parameters "const".
32591         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
32592         (parse_bracket_exp): Update caller.
32593
32594         regex.m4: correct the reversed range endpoint ([b-a]) test
32595         * m4/regex.m4: When requiring that [b-a] evoke failure,
32596         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
32597         test pass once again for x86-based systems.
32598
32599 2010-03-19  Bruno Haible  <bruno@clisp.org>
32600
32601         scandir: Fix link error on Solaris 8.
32602         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
32603         macros.
32604
32605 2010-03-19  Bruno Haible  <bruno@clisp.org>
32606
32607         getusershell: Fix documentation.
32608         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
32609         module.
32610         * doc/glibc-functions/setusershell.texi: Likewise.
32611
32612         getusershell: Provide declaration, missing on Solaris 9.
32613         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
32614         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
32615         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
32616         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
32617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32618         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
32619         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
32620         HAVE_GETUSERSHELL.
32621         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
32622
32623 2010-03-19  Bruno Haible  <bruno@clisp.org>
32624
32625         wctype: Provide iswblank function.
32626         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
32627         exists and is fine.
32628         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
32629         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
32630         * tests/test-wctype.c (main): Re-enable the iswblank tests.
32631         * doc/posix-functions/iswblank.texi: Update.
32632
32633 2010-03-19  Bruno Haible  <bruno@clisp.org>
32634
32635         Tests of module 'pty' in C++ mode.
32636         * modules/pty-tests: New file.
32637         * tests/test-pty-c++.cc: New file.
32638         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32639
32640 2010-03-19  Eric Blake  <eblake@redhat.com>
32641
32642         logb: fix documentation
32643         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
32644         1.5 declaration bug.
32645
32646         forkpty, openpty: prefer glibc's const-safe prototype
32647         * lib/forkpty.c (rpl_forkpty): New file.
32648         * lib/openpty.c (rpl_openpty): Likewise.
32649         * modules/forkpty (Files): Distribute it.
32650         * modules/openpty (Files): Likewise.
32651         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
32652         check...
32653         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
32654         replacement for for non-const BSD signature.
32655         * modules/pty (Makefile.am): Substitute witnesses.
32656         * lib/pty.in.h (forkpty, openpty): Declare replacements.
32657         * tests/test-forkpty.c: Update signature check.
32658         * tests/test-openpty.c: Likewise.
32659         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
32660         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32661
32662         forkpty, openpty: split functions into new modules
32663         * modules/pty (Makefile.am): Substitute new witnesses.
32664         (Libraries): Move library detection...
32665         * modules/forkpty: ...into new module.
32666         * modules/openpty: Another new module.
32667         * modules/pty-tests: Rename and split...
32668         * modules/forkpty-tests: ...to this...
32669         * modules/openpty-tests: ...and this.
32670         * tests/test-pty.c: Rename and split...
32671         * tests/test-forkpty.c: ...to this...
32672         * tests/test-openpty.c: ...and this.
32673         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
32674         (gl_PTY): Split library searching...
32675         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
32676         (gl_FORKPTY, gl_OPENPTY): New macros.
32677         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
32678         * NEWS: Mention the split.
32679         * MODULES.html.sh (Misc): Document the modules.
32680         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
32681         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32682
32683         pty: improve replacement header
32684         * lib/pty.in.h: New file.
32685         * modules/pty (Files): Ship it.
32686         (Makefile.am): Always build replacement.
32687         * m4/pty.m4: Rename...
32688         * m4/pty_h.m4: ...to this.
32689         (gl_PTY): Modernize setting of witness macros; update check of
32690         forkpty to take proper advantage of cache.
32691         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
32692
32693         getopt: avoid compiler warning
32694         * lib/getopt.c (attribute_hidden): Remove unused macro.
32695
32696 2010-03-18  Bruno Haible  <bruno@clisp.org>
32697
32698         Fix link errors on Solaris 8.
32699         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
32700         * modules/search-tests (test_search_c___LDADD): Likewise.
32701         * modules/signal-tests (test_signal_c___LDADD): Likewise.
32702         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
32703         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
32704         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
32705         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
32706         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
32707         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
32708
32709 2010-03-18  Bruno Haible  <bruno@clisp.org>
32710
32711         Fix bug introduced on 2010-03-14.
32712         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
32713         (gl_SPAWN_H): Require it.
32714         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
32715         Reported by Simon Josefsson.
32716
32717 2010-03-18  Bruno Haible  <bruno@clisp.org>
32718
32719         Fix typo introduced on 2009-12-31.
32720         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
32721         posix_spawn_file_actions_adddup2.
32722
32723 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
32724         and Eric Blake  <eblake@redhat.com>
32725
32726         test-vc-list-files-git: make more robust
32727         * tests/test-vc-list-files-git.sh: Unset problematic environment
32728         variables.  Chain commands together.
32729
32730 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
32731
32732         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
32733         `AC_CHECK_DECL' invocation.
32734
32735 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
32736
32737         * lib/inttostr.c (inttostr): Make sure the invocation of verify
32738         appears before executable statements. Suggested by Petr Sumbera
32739         <Petr.Sumbera@Sun.COM>.
32740
32741 2010-03-14  Bruno Haible  <bruno@clisp.org>
32742
32743         * tests/test-flock.c (test_exclusive): Comment out a test that causes
32744         portability problems. Instead use a simpler test.
32745         (main): Check that invalid arguments are rejected only on Linux.
32746
32747 2010-03-14  Bruno Haible  <bruno@clisp.org>
32748
32749         Fix bug introduced on 2009-12-31.
32750         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32751         gl_PREREQ_SYS_H_WINSOCK2 always.
32752         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
32753         SYS_SOCKET_H variable.
32754         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
32755         Update comments.
32756         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
32757         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32758         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32759         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32760         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32761
32762 2010-03-14  Bruno Haible  <bruno@clisp.org>
32763
32764         Fix values returned by sinl, cosl.
32765         * lib/trigl.h: Add specification comments.
32766         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32767         that combines the values from the precomputed table with the values of
32768         the Chebyshev polynomials.
32769
32770 2010-03-14  Bruno Haible  <bruno@clisp.org>
32771
32772         Fix compilation error when modules 'posix_spawn[p]' are not used.
32773         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32774         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32775
32776 2010-03-14  Bruno Haible  <bruno@clisp.org>
32777
32778         Fix compilation error on mingw when module 'time_r' is not used.
32779         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32780         is 1.
32781         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32782         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32783         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32784         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32785
32786 2010-03-14  Bruno Haible  <bruno@clisp.org>
32787
32788         Fix compilation error with Sun C.
32789         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32790         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32791         instead of GCC specific ULONG_LONG_MAX.
32792         * lib/xstrtoll.c: Likewise.
32793         * lib/xstrtoull.c: Likewise.
32794
32795 2010-03-13  Bruno Haible  <bruno@clisp.org>
32796
32797         Allow the user to disable C++ code and tests.
32798         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32799         (gl_PROG_ANSI_CXX): Require it.
32800
32801 2010-03-13  Bruno Haible  <bruno@clisp.org>
32802
32803         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32804         cases.
32805
32806 2010-03-13  Bruno Haible  <bruno@clisp.org>
32807
32808         Test that gnulib does not break the standard C++ headers.
32809         * tests/test-locale-c++2.cc: New file.
32810         * modules/locale-tests (Files): Add it.
32811         (Makefile.am): Compile it for test-locale-c++.
32812         * tests/test-math-c++2.cc: New file.
32813         * modules/math-tests (Files): Add it.
32814         (Makefile.am): Compile it for test-math-c++.
32815         * tests/test-signal-c++2.cc: New file.
32816         * modules/signal-tests (Files): Add it.
32817         (Makefile.am): Compile it for test-signal-c++.
32818         * tests/test-stdio-c++2.cc: New file.
32819         * modules/stdio-tests (Files): Add it.
32820         (Makefile.am): Compile it for test-stdio-c++.
32821         * tests/test-stdlib-c++2.cc: New file.
32822         * modules/stdlib-tests (Files): Add it.
32823         (Makefile.am): Compile it for test-stdlib-c++.
32824         * tests/test-string-c++2.cc: New file.
32825         * modules/string-tests (Files): Add it.
32826         (Makefile.am): Compile it for test-string-c++.
32827         * tests/test-time-c++2.cc: New file.
32828         * modules/time-tests (Files): Add it.
32829         (Makefile.am): Compile it for test-time-c++.
32830         Reported by John W. Eaton <jwe@gnu.org>.
32831
32832 2010-03-13  Bruno Haible  <bruno@clisp.org>
32833
32834         * gnulib-tool (func_usage): Clarify which options are available for
32835         --create-testdir and --create-megatestdir.
32836
32837 2010-03-13  Bruno Haible  <bruno@clisp.org>
32838
32839         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32840         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32841         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32842         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32843         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32844         when appropriate.
32845         Reported by Jim Meyering.
32846
32847 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32848
32849         * gnulib-tool (func_import): Explain origin of code.
32850
32851 2010-03-12  Bruno Haible  <bruno@clisp.org>
32852
32853         Fix problem with automake's definition of CXXLINK.
32854         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32855         Reported by Simon Josefsson and Ludovic Courtès.
32856
32857 2010-03-12  Bruno Haible  <bruno@clisp.org>
32858
32859         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32860         stable releases.
32861
32862 2010-03-11  Bruno Haible  <bruno@clisp.org>
32863
32864         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32865         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32866         whether the system provides one variant or multiple variants of the
32867         function.
32868         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32869         C++ compilers.
32870         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32871         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32872         Reported by Jim Meyering.
32873
32874 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32875
32876         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32877
32878 2010-03-08  Bruno Haible  <bruno@clisp.org>
32879
32880         gnulib-tool: Add support for --libtool in --create-testdir.
32881         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32882         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32883
32884 2010-03-08  Eric Blake  <eblake@redhat.com>
32885
32886         gnulib-tool.texi: mention possibility of git submodule
32887         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32888         submodules.
32889         * doc/.gitignore: Ignore another generated file.
32890
32891 2010-03-08  Karl Berry  <karl@gnu.org>
32892
32893         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32894         of committing gnulib files while skipping others.
32895
32896 2010-03-07  Bruno Haible  <bruno@clisp.org>
32897
32898         Tests of module 'wctype' in C++ mode.
32899         * tests/test-wctype-c++.cc: New file.
32900         * modules/wctype-tests (Files): Add it and tests/signature.h.
32901         (Depends-on): Add ansi-c++-opt.
32902         (Makefile.am): Arrange to compile and run test-wctype-c++.
32903
32904         Tests of module 'wchar' in C++ mode.
32905         * tests/test-wchar-c++.cc: New file.
32906         * modules/wchar-tests (Files): Add it and tests/signature.h.
32907         (Depends-on): Add ansi-c++-opt.
32908         (Makefile.am): Arrange to compile and run test-wchar-c++.
32909         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32910         gl_MODULE_INDICATOR.
32911
32912         Tests of module 'unistd' in C++ mode.
32913         * tests/test-unistd-c++.cc: New file.
32914         * modules/unistd-tests (Files): Add it and tests/signature.h.
32915         (Depends-on): Add ansi-c++-opt.
32916         (Makefile.am): Arrange to compile and run test-unistd-c++.
32917         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32918         gl_MODULE_INDICATOR.
32919
32920         Tests of module 'time' in C++ mode.
32921         * tests/test-time-c++.cc: New file.
32922         * modules/time-tests (Files): Add it and tests/signature.h.
32923         (Depends-on): Add ansi-c++-opt.
32924         (Makefile.am): Arrange to compile and run test-time-c++.
32925         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32926
32927         Tests of module 'sys_time' in C++ mode.
32928         * tests/test-sys_time-c++.cc: New file.
32929         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32930         (Depends-on): Add ansi-c++-opt.
32931         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32932         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32933         gl_MODULE_INDICATOR.
32934
32935         Tests of module 'sys_stat' in C++ mode.
32936         * tests/test-sys_stat-c++.cc: New file.
32937         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32938         (Depends-on): Add ansi-c++-opt.
32939         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32940         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32941         gl_MODULE_INDICATOR.
32942
32943         Tests of module 'sys_socket' in C++ mode.
32944         * tests/test-sys_socket-c++.cc: New file.
32945         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32946         (Depends-on): Add ansi-c++-opt.
32947         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32948         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32949         gl_MODULE_INDICATOR.
32950
32951         Tests of module 'sys_select' in C++ mode.
32952         * tests/test-sys_select-c++.cc: New file.
32953         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32954         (Depends-on): Add ansi-c++-opt.
32955         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32956         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32957         gl_MODULE_INDICATOR.
32958
32959         Tests of module 'sys_ioctl' in C++ mode.
32960         * tests/test-sys_ioctl-c++.cc: New file.
32961         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32962         (Depends-on): Add ansi-c++-opt.
32963         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32964         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32965         gl_MODULE_INDICATOR.
32966
32967         Tests of module 'string' in C++ mode.
32968         * tests/test-string-c++.cc: New file.
32969         * modules/string-tests (Files): Add it and tests/signature.h.
32970         (Depends-on): Add ansi-c++-opt.
32971         (Makefile.am): Arrange to compile and run test-string-c++.
32972         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32973         gl_MODULE_INDICATOR.
32974
32975         Tests of module 'stdlib' in C++ mode.
32976         * tests/test-stdlib-c++.cc: New file.
32977         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32978         (Depends-on): Add ansi-c++-opt.
32979         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32980         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32981         gl_MODULE_INDICATOR.
32982
32983         Tests of module 'stdio' in C++ mode.
32984         * tests/test-stdio-c++.cc: New file.
32985         * modules/stdio-tests (Files): Add it and tests/signature.h.
32986         (Depends-on): Add ansi-c++-opt.
32987         (Makefile.am): Arrange to compile and run test-stdio-c++.
32988         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32989         gl_MODULE_INDICATOR.
32990
32991         Tests of module 'spawn' in C++ mode.
32992         * tests/test-spawn-c++.cc: New file.
32993         * modules/spawn-tests (Files): Add it and tests/signature.h.
32994         (Depends-on): Add ansi-c++-opt.
32995         (Makefile.am): Arrange to compile and run test-spawn-c++.
32996         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32997         gl_MODULE_INDICATOR.
32998
32999         Tests of module 'signal' in C++ mode.
33000         * tests/test-signal-c++.cc: New file.
33001         * modules/signal-tests (Files): Add it and tests/signature.h.
33002         (Depends-on): Add ansi-c++-opt.
33003         (Makefile.am): Arrange to compile and run test-signal-c++.
33004         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33005         gl_MODULE_INDICATOR.
33006
33007         Tests of module 'search' in C++ mode.
33008         * tests/test-search-c++.cc: New file.
33009         * modules/search-tests (Files): Add it and tests/signature.h.
33010         (Depends-on): Add ansi-c++-opt.
33011         (Makefile.am): Arrange to compile and run test-search-c++.
33012         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33013         gl_MODULE_INDICATOR.
33014
33015         Tests of module 'math' in C++ mode.
33016         * tests/test-math-c++.cc: New file.
33017         * modules/math-tests (Files): Add it and tests/signature.h.
33018         (Depends-on): Add ansi-c++-opt.
33019         (Makefile.am): Arrange to compile and run test-math-c++.
33020         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33021
33022         Tests of module 'locale' in C++ mode.
33023         * tests/test-locale-c++.cc: New file.
33024         * modules/locale-tests (Files): Add it and tests/signature.h.
33025         (Depends-on): Add ansi-c++-opt.
33026         (Makefile.am): Arrange to compile and run test-locale-c++.
33027         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33028         gl_MODULE_INDICATOR.
33029
33030         Tests of module 'langinfo' in C++ mode.
33031         * tests/test-langinfo-c++.cc: New file.
33032         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33033         (Depends-on): Add ansi-c++-opt.
33034         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33035         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33036         gl_MODULE_INDICATOR.
33037
33038         Tests of module 'iconv-h' in C++ mode.
33039         * tests/test-iconv-h-c++.cc: New file.
33040         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33041         (Depends-on): Add ansi-c++-opt.
33042         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33043
33044         Tests of module 'glob' in C++ mode.
33045         * tests/test-glob-c++.cc: New file.
33046         * modules/glob-tests (Files): Add it.
33047         (Depends-on): Add ansi-c++-opt.
33048         (Makefile.am): Arrange to compile and run test-glob-c++.
33049
33050         Tests of module 'fcntl-h' in C++ mode.
33051         * tests/test-fcntl-h-c++.cc: New file.
33052         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33053         (Depends-on): Add ansi-c++-opt.
33054         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33055         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33056         gl_MODULE_INDICATOR.
33057
33058         Tests of module 'dirent' in C++ mode.
33059         * tests/test-dirent-c++.cc: New file.
33060         * modules/dirent-tests (Files): Add it and tests/signature.h.
33061         (Depends-on): Add ansi-c++-opt.
33062         (Makefile.am): Arrange to compile and run test-dirent-c++.
33063         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33064         gl_MODULE_INDICATOR.
33065
33066         New module 'ansi-c++-opt'.
33067         * modules/ansi-c++-opt: New file.
33068         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33069
33070         Document C++ namespace mode.
33071         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33072
33073         wctype: Avoid #define replacements in C++ mode.
33074         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33075         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33076         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33077         In C++, define a namespaced alias symbol.
33078         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33079         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33080         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33081         rule.
33082
33083         wchar: Avoid #define replacements in C++ mode.
33084         * lib/wchar.in.h: Include c++defs.h.
33085         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33086         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33087         symbol.
33088         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33089         * modules/wchar (Depends-on): Add c++defs.
33090         (Makefile.am): Update wchar.h rule.
33091
33092         unistd: Avoid #define replacements in C++ mode.
33093         * lib/unistd.in.h: Include c++defs.h.
33094         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33095         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33096         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33097         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33098         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33099         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33100         symbol.
33101         (environ): Update.
33102         * modules/unistd (Depends-on): Add c++defs.
33103         (Makefile.am): Update unistd.h rule.
33104
33105         time: Avoid #define replacements in C++ mode.
33106         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33107         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33108         define a namespaced alias symbol.
33109         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33110         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33111         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33112         * modules/time (Depends-on): Add c++defs, warn-on-use.
33113         (Makefile.am): Update time.h rule.
33114         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33115         * modules/nanosleep (configure.ac): Likewise.
33116         * modules/strptime (configure.ac): Likewise.
33117         * modules/timegm (configure.ac): Likewise.
33118
33119         sys_time: Avoid #define replacements in C++ mode.
33120         * lib/sys_time.in.h: Include c++defs.h.
33121         (gettimeofday): In C++, define a namespaced alias symbol.
33122         * modules/sys_time (Depends-on): Add c++defs.
33123         (Makefile.am): Update sys/time.h rule.
33124
33125         sys_stat: Avoid #define replacements in C++ mode.
33126         * lib/sys_stat.in.h: Include c++defs.h.
33127         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33128         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33129         namespaced alias symbol.
33130         In C++, define a namespaced alias symbol.
33131         * modules/sys_stat (Depends-on): Add c++defs.
33132         (Makefile.am): Update sys/stat.h rule.
33133
33134         sys_socket: Avoid #define replacements in C++ mode.
33135         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33136         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33137         definitions also when the system has a <sys/socket.h>.
33138         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33139         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33140         In C++, define a namespaced alias symbol.
33141         * modules/sys_socket (Depends-on): Add c++defs.
33142         (Makefile.am): Update sys/socket.h rule.
33143
33144         sys_select: Avoid #define replacements in C++ mode.
33145         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33146         definitions also when the system has a <sys/select.h>.
33147         (select): In C++, define a namespaced alias symbol.
33148         * modules/sys_select (Depends-on): Add c++defs.
33149         (Makefile.am): Update sys/select.h rule.
33150
33151         sys_ioctl: Avoid #define replacements in C++ mode.
33152         * lib/sys_ioctl.in.h: Include c++defs.h.
33153         (ioctl): In C++, define a namespaced alias symbol.
33154         * modules/sys_ioctl (Depends-on): Add c++defs.
33155         (Makefile.am): Update sys/ioctl.h rule.
33156
33157         string: Avoid #define replacements in C++ mode.
33158         * lib/string.in.h: Include c++defs.h.
33159         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33160         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33161         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33162         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33163         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33164         * modules/string (Depends-on): Add c++defs.
33165         (Makefile.am): Update string.h rule.
33166
33167         stdlib: Avoid #define replacements in C++ mode.
33168         * lib/stdlib.in.h: Include c++defs.h.
33169         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33170         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33171         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33172         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33173         symbol.
33174         * modules/stdlib (Depends-on): Add c++defs.
33175         (Makefile.am): Update stdlib.h rule.
33176
33177         stdio: Avoid #define replacements in C++ mode.
33178         * lib/stdio.in.h: Include c++defs.h.
33179         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33180         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33181         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33182         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33183         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33184         namespaced alias symbol.
33185         * modules/stdio (Depends-on): Add c++defs.
33186         (Makefile.am): Update stdio.h rule.
33187
33188         spawn: Avoid #define replacements in C++ mode.
33189         * lib/spawn.in.h: Include c++defs.h.
33190         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33191         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33192         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33193         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33194         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33195         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33196         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33197         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33198         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33199         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33200         In C++, define a namespaced alias symbol.
33201         * modules/spawn (Depends-on): Add c++defs.
33202         (Makefile.am): Update spawn.h rule.
33203
33204         signal: Avoid #define replacements in C++ mode.
33205         * lib/signal.in.h: Include c++defs.h.
33206         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33207         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33208         namespaced alias symbol.
33209         * modules/signal (Depends-on): Add c++defs.
33210         (Makefile.am): Update signal.h rule.
33211
33212         search: Avoid #define replacements in C++ mode.
33213         * lib/search.in.h: Include c++defs.h.
33214         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33215         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33216         symbol.
33217         * modules/search (Depends-on): Add c++defs.
33218         (Makefile.am): Update search.h rule.
33219
33220         math: Avoid #define replacements in C++ mode.
33221         * lib/math.in.h: Include c++defs.h.
33222         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33223         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33224         trunc, truncl): In C++, define a namespaced alias symbol.
33225         * modules/math (Depends-on): Add c++defs.
33226         (Makefile.am): Update math.h rule.
33227
33228         locale: Avoid #define replacements in C++ mode.
33229         * lib/locale.in.h: Include c++defs.h.
33230         (duplocale): In C++, define a namespaced alias symbol.
33231         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33232         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
33233         * modules/locale (Depends-on): Add c++defs.
33234         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
33235
33236         langinfo: Avoid #define replacements in C++ mode.
33237         * lib/langinfo.in.h: Include c++defs.h.
33238         (nl_langinfo): In C++, define a namespaced alias symbol.
33239         * modules/langinfo (Depends-on): Add c++defs.
33240         (Makefile.am): Update langinfo.h rule.
33241
33242         iconv-h: Avoid #define replacements in C++ mode.
33243         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
33244         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
33245         symbol.
33246         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33247         whenever iconv is present.
33248         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
33249         (Makefile.am): Update iconv.h rule.
33250
33251         glob: Avoid #define replacements in C++ mode.
33252         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
33253         (_gl_glob_errfunc_fn): New type.
33254         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
33255         symbol.
33256         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33257         (Makefile.am): Update glob.h rule.
33258
33259         fcntl-h: Avoid #define replacements in C++ mode.
33260         * lib/fcntl.in.h: Include c++defs.h.
33261         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33262         * modules/fcntl-h (Depends-on): Add c++defs.
33263         (Makefile.am): Update fcntl.h rule.
33264
33265         dirent: Avoid #define replacements in C++ mode.
33266         * lib/dirent.in.h: Include c++defs.h.
33267         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33268         namespaced alias symbol.
33269         (dirfd): Update declaration.
33270         * modules/dirent (Depends-on): Add c++defs.
33271         (Makefile.am): Update dirent.h rule.
33272
33273         ctype: Make it usable in C++ code.
33274         * lib/ctype.in.h: Include c++defs.h.
33275         (isblank): Declare as extern "C".
33276         * modules/ctype (Depends-on): Add c++defs.
33277         (Makefile.am): Update ctype.h rule.
33278
33279         New module 'c++defs'.
33280         * modules/c++defs: New file.
33281         * build-aux/c++defs.h: New file.
33282         Reported by John W. Eaton <jwe@gnu.org>.
33283
33284 2010-03-07  Bruno Haible  <bruno@clisp.org>
33285
33286         logb: Provide missing declaration for Cygwin.
33287         * lib/math.in.h (logb): New declaration.
33288         * m4/logb.m4: New file.
33289         * modules/logb (Files): Add m4/logb.m4.
33290         (Depends-on): Add math.
33291         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33292         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33294         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33295         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33296
33297 2010-03-07  Bruno Haible  <bruno@clisp.org>
33298
33299         Fix test-cond link error.
33300         * tests/test-cond.c: Include <stdio.h>.
33301
33302 2010-03-07  Bruno Haible  <bruno@clisp.org>
33303
33304         Fix test-dirent-safer link error.
33305         * modules/dirent-safer-tests (Makefile.am): Define
33306         test_dirent_safer_LDADD.
33307
33308 2010-03-07  Bruno Haible  <bruno@clisp.org>
33309
33310         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33311         among default module list.
33312
33313 2010-03-07  Bruno Haible  <bruno@clisp.org>
33314
33315         Fix link error on platforms with GNU libiconv.
33316         * modules/unistr/u8-strcoll-tests (Makefile): Define
33317         test_u8_strcoll_LDADD.
33318         * modules/unistr/u16-strcoll-tests (Makefile): Define
33319         test_u16_strcoll_LDADD.
33320         * modules/unistr/u32-strcoll-tests (Makefile): Define
33321         test_u32_strcoll_LDADD.
33322
33323 2010-03-07  Bruno Haible  <bruno@clisp.org>
33324
33325         Use POSIX declarations for socket functions.
33326         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33327         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33328         rpl_sendto): Change declaration to match POSIX.
33329         * lib/connect.c (rpl_connect): Likewise.
33330         * lib/accept.c (rpl_accept): Likewise.
33331         * lib/bind.c (rpl_bind): Likewise.
33332         * lib/getpeername.c (rpl_getpeername): Likewise.
33333         * lib/getsockname.c (rpl_getsockname): Likewise.
33334         * lib/recv.c (rpl_recv): Likewise.
33335         * lib/send.c (rpl_send): Likewise.
33336         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33337         * lib/sendto.c (rpl_sendto): Likewise.
33338
33339 2010-03-06  Bruno Haible  <bruno@clisp.org>
33340
33341         Clarify access, euidaccess, faccessat.
33342         * doc/posix-functions/faccessat.texi: Mention security problem under
33343         "Other problems", not "Portability problems".
33344         * doc/posix-functions/access.texi: Likewise. Mention a related security
33345         problem.
33346         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33347         * lib/euidaccess.c: Add comments about platforms.
33348         * lib/unistd.in.h (access, euidaccess): Add warnings.
33349
33350 2010-03-07  Bruno Haible  <bruno@clisp.org>
33351
33352         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33353         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33354         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33355         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33356         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33357         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33358         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33359         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33360         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33361         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33362         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33363         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33364         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33365         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33366         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33367         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33368         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33369         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33370         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33371         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33372         Likewise.
33373         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33374         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33375         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33376         Likewise.
33377         * tests/test-spawn.c (main): Make it work when
33378         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33379
33380 2010-03-07  Bruno Haible  <bruno@clisp.org>
33381
33382         Fix incorrect Makefile.am generation in German locale.
33383         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33384         Execute sed command with character range in C locale.
33385
33386 2010-03-06  Bruno Haible  <bruno@clisp.org>
33387
33388         Tests for module 'iconv-h'.
33389         * modules/iconv-h-tests: New file.
33390         * tests/test-iconv-h.c: New file.
33391
33392         New module 'iconv-h'.
33393         * modules/iconv-h: New file.
33394         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33395         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33396         (configure.ac): Remove gl_ICONV_H.
33397         (Makefile.am): Remove rule for iconv.h.
33398
33399 2010-03-06  Bruno Haible  <bruno@clisp.org>
33400
33401         More consistent naming of *.m4 files.
33402         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33403         * modules/wctype (Files): Update.
33404
33405         More consistent naming of *.m4 files.
33406         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33407         * modules/wchar (Files): Update.
33408
33409 2010-03-06  Jim Meyering  <meyering@redhat.com>
33410
33411         euidaccess: relax license to LGPLv2+
33412         * modules/euidaccess (License): Relax to LGPLv2+.
33413
33414 2010-03-06  Bruno Haible  <bruno@clisp.org>
33415
33416         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33417         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33418         (Makefile.am): Augment lib_SOURCES instead.
33419
33420 2010-03-04  Jim Meyering  <meyering@redhat.com>
33421
33422         utime: remove obsolete module
33423         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33424         unnecessary for years, and has been marked as obsolete for 10 months.
33425         * modules/utime: Remove file.
33426         * lib/utime.c: Remove file.
33427         * m4/utime.m4: Remove file.
33428         * m4/utimes-null.m4: Remove file.
33429         * doc/posix-functions/utime.texi (utime): Remove reference to
33430         the module.  Move the sole "fixed by gnulib" item into the
33431         "problems not fixed by Gnulib" list.
33432         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33433
33434 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33435
33436         * modules/exit (License): Relax license to LGPLv2+.
33437         (Status): Mark as obsolete.
33438         * NEWS: Mention deprecated 'exit' module.
33439         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33440         of now obsolete 'exit'.
33441
33442 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33443
33444         fts-lgpl: remove unused module
33445         * modules/fts-lgpl: Remove.
33446         * MODULES.html.sh (func_all_modules): Adjust.
33447         * check-module (find_included_lib_files): Adjust.
33448         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33449
33450 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33451
33452         copy-acl: enhance Solaris ACL error handling
33453         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33454         * lib/set-mode-acl.c (qset_acl): Likewise.
33455
33456 2010-03-02  Bruno Haible  <bruno@clisp.org>
33457
33458         spawn: Don't override the system defined values on FreeBSD 8.
33459         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33460         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33461         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33462         if HAVE_POSIX_SPAWN is 1.
33463         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33464
33465 2010-03-01  Bruno Haible  <bruno@clisp.org>
33466
33467         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33468         regarding Automake.
33469
33470 2010-02-25  Bruno Haible  <bruno@clisp.org>
33471
33472         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33473         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33474         setting, not afterwards.
33475         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33476
33477 2010-02-24  Eric Blake  <eblake@redhat.com>
33478
33479         bootstrap, git-version-gen: use timestamp
33480         * build-aux/git-version-gen (scriptversion): Force UTC.
33481         * build-aux/bootstrap (scriptversion): New variable.
33482
33483         bootstrap: allow older git
33484         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33485         older than 1.6.4.  Requested by the libvirt project.
33486
33487 2010-02-23  Eric Blake  <eblake@redhat.com>
33488
33489         warn-on-use: work with old autoconf
33490         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33491         AS_VAR semantics of autoconf 2.60.
33492         Reported by Bruno Haible.
33493
33494         bootstrap: improve some comments
33495         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33496         clarification comments.
33497
33498         gettimeofday: provide correct function
33499         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33500         when replacement is declared, otherwise provide gettimeofday.
33501         Reported by Michael Goffioul.
33502
33503 2010-02-23  Jim Meyering  <meyering@redhat.com>
33504
33505         lib-ignore: relax license to "unlimited", not LGPLv2+
33506         * modules/lib-ignore (License): Relax to "unlimited".
33507
33508 2010-02-23  Jim Meyering  <meyering@redhat.com>
33509
33510         lib-ignore: relax license to LGPLv2+
33511         * modules/lib-ignore (License): Relax to LGPLv2+.
33512
33513 2010-02-22  Eric Blake  <eblake@redhat.com>
33514
33515         lseek: avoid bash 3.2 broken pipe bug
33516         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33517         warning from bash 3.2.
33518         Reported by Ben Pfaff, with analysis from Bruno Haible.
33519
33520         bootstrap: support non-FSF copyright holder
33521         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33522         bootstrap.conf override of COPYRIGHT_HOLDER.
33523         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33524
33525         bootstrap: interoperate with gettext 0.14.1
33526         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33527
33528         bootstrap: allow for alternate submodule location
33529         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33530         hardcoding submodule location.
33531         (gnulib_mk): Allow direct use of Makefile.am.
33532
33533         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33534         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33535         rather than reconfiguring where the submodule points.
33536
33537         gettimeofday: restore support for platforms that lack function
33538         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33539         replacement if function is missing.
33540         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33541         * modules/sys_time (Makefile.am): Substitute it.
33542         * lib/sys_time.in.h (gettimeofday): Check it.
33543         Reported by Michael Goffioul.
33544
33545 2010-02-21  Bruno Haible  <bruno@clisp.org>
33546
33547         * lib/stdio.in.h (obstack_printf): Fix typo.
33548
33549 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33550
33551         vc-list-files: use bzr ls's -R option
33552         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33553         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33554
33555 2010-02-21  Jim Meyering  <meyering@redhat.com>
33556
33557         init.sh: fix EXEEXT shims to work also for names like test-prog
33558         * tests/init.sh: Re-exec a better shell, when needed.
33559         If the current shell lacks support for posix $(...), an init.sh-using
33560         test will now try to find a shell that supports that.  If EXEEXT is
33561         nonempty, we also require support for hyphen-in-alias-name and shell
33562         substitutions like ${var#glob}.  Failure to find such a shell results
33563         in a skipped test.
33564
33565 2010-02-21  Bruno Haible  <bruno@clisp.org>
33566
33567         Really work around around "broken pipe" error message from bash 3.2.
33568         * gnulib-tool (func_reset_sigpipe): Remove function.
33569         (echo): In bash 3.2, define to a function that uses printf.
33570         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
33571
33572 2010-02-20  Bruno Haible  <bruno@clisp.org>
33573
33574         Restore support for automake 1.9.6 with autoconf 2.61.
33575         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
33576         Reported by James Youngman <jay@gnu.org>.
33577
33578 2010-02-20  Bruno Haible  <bruno@clisp.org>
33579
33580         Improve *printf warning condition.
33581         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
33582         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
33583         and the function is overridden due to SIGPIPE emulation.
33584
33585 2010-02-20  Bruno Haible  <bruno@clisp.org>
33586
33587         * lib/stdio.in.h: Tweak comments.
33588
33589 2010-02-19  Bruno Haible  <bruno@clisp.org>
33590
33591         Make it easier to find modules. New gnulib-tool option '--find'.
33592         * gnulib-tool: New option --find.
33593         (func_usage): Document it.
33594         (func_sanitize_modulelist): New function, extracted from
33595         func_all_modules.
33596         (func_all_modules): Invoke it.
33597         * doc/gnulib-tool.texi (Which modules?): New node.
33598
33599 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
33600
33601         * lib/sys_select.in.h: Provide select replacement even if
33602         sys/select.h exists on a system, for Interix.
33603
33604 2010-02-18  Jim Meyering  <meyering@redhat.com>
33605
33606         init.sh: don't use $(...) just yet
33607         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
33608         to accommodate e.g., Solaris' /bin/sh.
33609
33610 2010-02-17  Bruno Haible  <bruno@clisp.org>
33611
33612         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
33613         Reported by Ludovic Courtès <ludo@gnu.org>.
33614
33615 2010-02-16  Simon Josefsson  <simon@josefsson.org>
33616
33617         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
33618         linking with -lintl.
33619
33620 2010-02-17  Simon Josefsson  <simon@josefsson.org>
33621
33622         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
33623         if not provided by the system's netdb.h.  Reported by
33624         ludo@gnu.org (Ludovic Courtès).
33625
33626 2010-02-15  Jim Meyering  <meyering@redhat.com>
33627
33628         init.sh: improve portability and efficiency
33629         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
33630         "dummy" in a for loop.
33631         Use '!', not '^' to select the complement of a character set used
33632         in a "case" statement.
33633         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
33634         Suggestions from Eric Blake.
33635
33636         init.sh: automatically accommodate programs with the .exe suffix
33637         Automatically arrange for an invocation of "prog" to execute the
33638         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
33639         may use the simpler "prog", yet still work when built on a system
33640         that requires specifying the added suffix.
33641         Do this by constructing a function named "prog" that invokes
33642         "prog.exe" for each .exe file in selected directories.
33643         * tests/init.sh (find_exe_basenames_): New function.
33644         (create_exe_shim_functions_): New function.
33645         (path_prepend_): Use it.
33646
33647         maint.mk: mark syntax-check sc_*.m rules as .PHONY
33648         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
33649         "make -t syntax-check" doesn't create a ton of sc_*.m files.
33650
33651 2010-02-14  Jim Meyering  <meyering@redhat.com>
33652
33653         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
33654         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
33655         (sc_prohibit_hash_pjw_without_use): New rule.
33656
33657         maint.mk: allow the default upload destination dir to be overridden
33658         * top/maint.mk (upload_dest_dir_): Define with a default that
33659         preserves the status quo.
33660         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
33661         Reported by Peter Simons.
33662
33663         maint.mk: prohibit inclusion of "hash.h" without_use
33664         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
33665
33666 2010-02-10  Jim Meyering  <meyering@redhat.com>
33667
33668         maint.mk: prohibit inclusion of "ignore-value.h" without_use
33669         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
33670
33671 2010-02-09  Eric Blake  <ebb9@byu.net>
33672         and Bruno Haible  <bruno@clisp.org>
33673
33674         obstack-printf-posix: ensure declaration
33675         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
33676         extracted from gl_FUNC_OBSTACK_PRINTF.
33677         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
33678         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33679         Likewise.
33680         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
33681         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
33682         0.
33683
33684 2010-02-08  Bruno Haible  <bruno@clisp.org>
33685
33686         gnulib-tool: Fix typo in 2010-02-07 commit.
33687         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
33688         Reported by Eric Blake.
33689
33690 2010-02-07  Bruno Haible  <bruno@clisp.org>
33691
33692         gnulib-tool: Fix up caching patches.
33693         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
33694         option --no-cache. Use associative arrays when supported by the shell.
33695         (sed_comments): New variable.
33696         (modcache): Renamed from do_cache.
33697         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
33698         abbreviate unnecessarily.
33699         (have_associative): New variable.
33700         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
33701         way also for ksh and zsh.
33702         (func_init_sed_convert_to_cache_statements): New function, extracted
33703         from func_cache_lookup_module. Add support for associative arrays.
33704         Don't set the c_MODULE_cached variable here. Ignore all lines before
33705         the first field header. Remove only the final newline, not all trailing
33706         newlines. Support empty fields correctly. Limit the use of 'eval' to
33707         assignments.
33708         (func_get_description, func_get_status, func_get_notice,
33709         func_get_applicability, func_get_filelist, func_get_dependencies,
33710         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
33711         func_get_automake_snippet, func_get_include_directive,
33712         func_get_link_directive, func_get_license, func_get_maintainer):
33713         Update documentation. List the unoptimized code first. Add support for
33714         associative arrays. Limit the use of 'eval' to assignments.
33715         (func_get_applicability): Undo stylistic pessimisations.
33716         (func_get_automake_snippet, func_get_include_directive): Reduce code
33717         duplication.
33718         (func_modules_transitive_closure, func_modules_add_dummy,
33719         func_modules_notice, func_modules_to_filelist, func_add_file,
33720         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
33721         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
33722         func_create_testdir, func_create_megatestdir): Update documentation.
33723
33724 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33725
33726         * gnulib-tool (func_cache_lookup_module): Store the module name
33727         belonging to the cache variable; error out if two different
33728         module names map to the same cache variable name.
33729
33730 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33731
33732         gnulib-tool: Make caching optional.
33733         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
33734         Update matching short versions of --no-changelog.
33735         (func_usage): Update.
33736         (sed_extract_cache_prog): Renamed from ...
33737         (sed_extract_prog): ... this; revert to old extraction script.
33738         (func_get_description, func_get_status)
33739         (func_get_notice, func_get_applicability, func_get_filelist)
33740         (func_get_dependencies, func_get_autoconf_early_snippet)
33741         (func_get_autoconf_snippet, func_get_automake_snippet)
33742         (func_get_include_directive, func_get_link_directive)
33743         (func_get_license, func_get_maintainer): If $do_cache is false,
33744         use old, non-caching extraction scripts.
33745         Suggestion by Bruno Haible.
33746
33747 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33748
33749         gnulib-tool: cache module metainformation.
33750         * gnulib-tool (sed_extract_prog): Match newline before each
33751         header, and rewrite header to a shell variable suffix.
33752         (func_cache_var, func_cache_lookup_module): New functions,
33753         to turn a module name into a cache variable prefix, and to
33754         look up and cache module metainformation.
33755         (func_get_description, func_get_status)
33756         (func_get_notice, func_get_applicability, func_get_filelist)
33757         (func_get_dependencies, func_get_autoconf_early_snippet)
33758         (func_get_autoconf_snippet, func_get_automake_snippet)
33759         (func_get_include_directive, func_get_link_directive)
33760         (func_get_license, func_get_maintainer): Use
33761         func_cache_lookup_module.
33762
33763 2010-02-07  Bruno Haible  <bruno@clisp.org>
33764
33765         fnctl: Fix missing dependency.
33766         * modules/fcntl (Depends-on): Add getdtablesize.
33767         Reported by John W. Eaton <jwe@gnu.org>.
33768
33769 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33770
33771         Argp: fix recognition of short alias options.
33772
33773         * lib/argp-parse.c (convert_options): Fix improper use of
33774         `|' between character values.
33775         * tests/test-argp.c (group1_option): New alias option
33776         --read (-r).
33777         (group1_parser): Special handling for 'r'.
33778         (test15): New test case.
33779         (test_fun): Add test15.
33780         * tests/test-argp-2.sh: Update expected --help and --usage
33781         outputs.
33782
33783 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33784
33785         * tests/test-argp.c: Fix indentation.
33786
33787 2010-02-04  Eric Blake  <ebb9@byu.net>
33788
33789         gettimeofday: expose type of second argument
33790         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33791         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33792         * tests/test-gettimeofday.c: Use it to silence warning.
33793         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33794         the issue.
33795
33796 2010-02-03  Jim Meyering  <meyering@redhat.com>
33797
33798         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33799         * lib/regcomp.c (TYPE_SIGNED): Define.
33800         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33801
33802         regcomp.c: avoid a new -Wshadow warning
33803         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33804
33805 2010-02-01  Jim Meyering  <meyering@redhat.com>
33806
33807         removing useless parentheses in cpp #define directives
33808         For motivation, see commit c0221df4, "define STREQ(a,b)
33809         consistently, removing useless parentheses"
33810         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33811         * lib/mountlist.c (MNT_IGNORE): Likewise.
33812         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33813
33814 2010-02-01  Eric Blake  <ebb9@byu.net>
33815
33816         sys_time: use link-warning
33817         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33818         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33819         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33820         * modules/sys_time (Depends-on): Add warn-on-use.
33821         (Makefile.am): Always build replacement.
33822         (configure.ac): Update substitutions.
33823         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33824         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33825         bother with SYS_TIME_H.
33826         * modules/gettimeofday (configure.ac): Declare indicator.
33827         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33828         in use.
33829
33830         closein-tests: silence compiler warning
33831         * tests/test-closein.c (main): Ignore fread result.
33832         * modules/closein-tests (Depends-on): Add ignore-value.
33833
33834         tests: silence warning about system return
33835         * tests/test-areadlink-with-size.c (main): Ignore system result.
33836         * tests/test-areadlink.c (main): Likewise.
33837         * tests/test-areadlinkat-with-size.c (main): Likewise.
33838         * tests/test-areadlinkat.c (main): Likewise.
33839         * tests/test-canonicalize-lgpl.c (main): Likewise.
33840         * tests/test-canonicalize.c (main): Likewise.
33841         * tests/test-chown.c (main): Likewise.
33842         * tests/test-fchownat.c (main): Likewise.
33843         * tests/test-fdutimensat.c (main): Likewise.
33844         * tests/test-fstatat.c (main): Likewise.
33845         * tests/test-futimens.c (main): Likewise.
33846         * tests/test-lchown.c (main): Likewise.
33847         * tests/test-link.c (main): Likewise.
33848         * tests/test-linkat.c (main): Likewise.
33849         * tests/test-lstat.c (main): Likewise.
33850         * tests/test-mkdir.c (main): Likewise.
33851         * tests/test-mkdirat.c (main): Likewise.
33852         * tests/test-mkfifo.c (main): Likewise.
33853         * tests/test-mkfifoat.c (main): Likewise.
33854         * tests/test-mknod.c (main): Likewise.
33855         * tests/test-readlink.c (main): Likewise.
33856         * tests/test-remove.c (main): Likewise.
33857         * tests/test-rename.c (main): Likewise.
33858         * tests/test-renameat.c (main): Likewise.
33859         * tests/test-rmdir.c (main): Likewise.
33860         * tests/test-symlink.c (main): Likewise.
33861         * tests/test-symlinkat.c (main): Likewise.
33862         * tests/test-unlink.c (main): Likewise.
33863         * tests/test-unlinkat.c (main): Likewise.
33864         * tests/test-utimens.c (main): Likewise.
33865         * tests/test-utimensat.c (main): Likewise.
33866         * modules/areadlink-tests (Depends-on): Add ignore-value.
33867         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33868         * modules/areadlinkat-tests (Depends-on): Likewise.
33869         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33870         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33871         * modules/canonicalize-tests (Depends-on): Likewise.
33872         * modules/chown-tests (Depends-on): Likewise.
33873         * modules/fdutimensat-tests (Depends-on): Likewise.
33874         * modules/futimens-tests (Depends-on): Likewise.
33875         * modules/lchown-tests (Depends-on): Likewise.
33876         * modules/link-tests (Depends-on): Likewise.
33877         * modules/linkat-tests (Depends-on): Likewise.
33878         * modules/lstat-tests (Depends-on): Likewise.
33879         * modules/mkdir-tests (Depends-on): Likewise.
33880         * modules/mkfifo-tests (Depends-on): Likewise.
33881         * modules/mkfifoat-tests (Depends-on): Likewise.
33882         * modules/mknod-tests (Depends-on): Likewise.
33883         * modules/openat-tests (Depends-on): Likewise.
33884         * modules/readlink-tests (Depends-on): Likewise.
33885         * modules/remove-tests (Depends-on): Likewise.
33886         * modules/rename-tests (Depends-on): Likewise.
33887         * modules/renameat-tests (Depends-on): Likewise.
33888         * modules/rmdir-tests (Depends-on): Likewise.
33889         * modules/symlink-tests (Depends-on): Likewise.
33890         * modules/symlinkat-tests (Depends-on): Likewise.
33891         * modules/unlink-tests (Depends-on): Likewise.
33892         * modules/utimens-tests (Depends-on): Likewise.
33893         * modules/utimensat-tests (Depends-on): Likewise.
33894
33895 2010-01-31  Bruno Haible  <bruno@clisp.org>
33896
33897         Perform the same test for many <math.h> functions.
33898         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33899         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33900         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33901         of gl_MATHFUNC.
33902         * modules/acos (configure.ac): Likewise.
33903         * modules/asin (configure.ac): Likewise.
33904         * modules/atan (configure.ac): Likewise.
33905         * modules/atan2 (configure.ac): Likewise.
33906         * modules/cbrt (configure.ac): Likewise.
33907         * modules/copysign (configure.ac): Likewise.
33908         * modules/cos (configure.ac): Likewise.
33909         * modules/cosh (configure.ac): Likewise.
33910         * modules/erf (configure.ac): Likewise.
33911         * modules/erfc (configure.ac): Likewise.
33912         * modules/exp (configure.ac): Likewise.
33913         * modules/fmod (configure.ac): Likewise.
33914         * modules/hypot (configure.ac): Likewise.
33915         * modules/j0 (configure.ac): Likewise.
33916         * modules/j1 (configure.ac): Likewise.
33917         * modules/jn (configure.ac): Likewise.
33918         * modules/lgamma (configure.ac): Likewise.
33919         * modules/log (configure.ac): Likewise.
33920         * modules/log10 (configure.ac): Likewise.
33921         * modules/log1p (configure.ac): Likewise.
33922         * modules/pow (configure.ac): Likewise.
33923         * modules/remainder (configure.ac): Likewise.
33924         * modules/sin (configure.ac): Likewise.
33925         * modules/sinh (configure.ac): Likewise.
33926         * modules/tan (configure.ac): Likewise.
33927         * modules/tanh (configure.ac): Likewise.
33928         * modules/y0 (configure.ac): Likewise.
33929         * modules/y1 (configure.ac): Likewise.
33930         * modules/yn (configure.ac): Likewise.
33931         Suggested by Paolo Bonzini.
33932
33933 2010-01-31  Bruno Haible  <bruno@clisp.org>
33934
33935         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33936
33937 2010-01-31  Bruno Haible  <bruno@clisp.org>
33938
33939         Work around getdelim() bug on FreeBSD 8.0.
33940         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33941         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33942         not work.
33943         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33944         is 1.
33945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33946         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33947         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33948         a non-zero size.
33949         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33950
33951 2010-01-31  Bruno Haible  <bruno@clisp.org>
33952
33953         Work around getline() bug on FreeBSD 8.0.
33954         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33955         and a non-zero size.
33956         * tests/test-getline.c (main): Likewise.
33957         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33958         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33959
33960 2010-01-28  Eric Blake  <ebb9@byu.net>
33961
33962         regex: fix build failure
33963         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33964         platforms.
33965
33966 2010-01-28  Jim Meyering  <meyering@redhat.com>
33967
33968         regex: do not ignore memory allocation failure
33969         * lib/regex_internal.c (create_cd_newstate): Detect
33970         re_node_set_init_copy failure.   Extracted from glibc commit
33971         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33972
33973         regex: sync more white-space changes from libc
33974         * lib/regex_internal.c: White-space only changes.
33975         * lib/regexec.c: Likewise.
33976
33977         regex: add many uses of __attribute_warn_unused_result__
33978         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33979         * lib/regexec.c: Likewise.
33980         Extracted from a messy glibc commit.
33981
33982         regcomp.c: spelling and merge-artifact from glibc
33983         * lib/regcomp.c: Merge remainder of glibc's
33984         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33985
33986         regcomp.c: sync white-space changes from glibc
33987         * lib/regcomp.c: Merge to accommodate white space
33988         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33989
33990         regcomp.c: do not ignore internal return values
33991         * lib/regcomp.c: Do not ignore internal return values.
33992         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33993         but without its white-space changes and spelling fixes.
33994
33995         regex_internal.h: define __attribute_warn_unused_result__
33996         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33997
33998         maint: add a syntax-check rule to check for vulnerable Makefile.in
33999         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34000
34001 2010-01-27  Jim Meyering  <meyering@redhat.com>
34002
34003         ncftpput-ftp: clean up spaces
34004         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34005         Remove trailing blanks.
34006
34007 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34008
34009         * build-aux/git-version-gen: Fix copyright statement.
34010         * build-aux/gnupload: Likewise.
34011         * tests/test-arcfour.c: Likewise.
34012         * tests/test-arctwo.c: Likewise.
34013         * tests/test-count-one-bits.c: Likewise.
34014         * tests/test-crc.c: Likewise.
34015         * tests/test-des.c: Likewise.
34016         * tests/test-gc-arcfour.c: Likewise.
34017         * tests/test-gc-arctwo.c: Likewise.
34018         * tests/test-gc-des.c: Likewise.
34019         * tests/test-gc-hmac-md5.c: Likewise.
34020         * tests/test-gc-hmac-sha1.c: Likewise.
34021         * tests/test-gc-md2.c: Likewise.
34022         * tests/test-gc-md4.c: Likewise.
34023         * tests/test-gc-md5.c: Likewise.
34024         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34025         * tests/test-gc-rijndael.c: Likewise.
34026         * tests/test-gc-sha1.c: Likewise.
34027         * tests/test-gc.c: Likewise.
34028         * tests/test-gethostname.c: Likewise.
34029         * tests/test-gettimeofday.c: Likewise.
34030         * tests/test-hash.c: Likewise.
34031         * tests/test-hmac-md5.c: Likewise.
34032         * tests/test-hmac-sha1.c: Likewise.
34033         * tests/test-md2.c: Likewise.
34034         * tests/test-md4.c: Likewise.
34035         * tests/test-md5.c: Likewise.
34036         * tests/test-memchr.c: Likewise.
34037         * tests/test-memchr2.c: Likewise.
34038         * tests/test-memcmp.c: Likewise.
34039         * tests/test-memmem.c: Likewise.
34040         * tests/test-memrchr.c: Likewise.
34041         * tests/test-rawmemchr.c: Likewise.
34042         * tests/test-read-file.c: Likewise.
34043         * tests/test-rijndael.c: Likewise.
34044         * tests/test-sockets.c: Likewise.
34045         * tests/test-strchrnul.c: Likewise.
34046         * tests/test-strstr.c: Likewise.
34047         * tests/test-strtod.c: Likewise.
34048         * build-aux/ncftpput-ftp: Likewise.
34049
34050 2010-01-26  Eric Blake  <ebb9@byu.net>
34051
34052         ignore-value: update recommended header name
34053         * modules/ignore-value (Include): Only use <> for headers that
34054         exist in glibc.
34055
34056 2010-01-26  Jim Meyering  <meyering@redhat.com>
34057
34058         test-userspec.c: avoid compiler warnings
34059         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34060         and "initialization discards qualifiers..." warnings.
34061         Put the first "uid" in its own scope, and make char* members "const".
34062
34063 2010-01-25  Bruno Haible  <bruno@clisp.org>
34064
34065         gnulib-tool: Make warning diagnostics consistent.
34066         * gnulib-tool (func_warning): New function.
34067         Use it everywhere where gnulib-tool produces output to stderr and it is
34068         not a fatal error.
34069
34070 2010-01-25  Bruno Haible  <bruno@clisp.org>
34071
34072         Fix test dependencies.
34073         * modules/xstrtol-tests (Depends-on): Add inttypes.
34074         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34075
34076 2010-01-25 Pádraig Brady <P@draigBrady.com>
34077
34078         syntax-check: detect incorrect boolean macro values in config.h
34079         * modules/maintainer-makefile (configure.ac): Parameterize the location
34080         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34081         The logic is from Eric Blake and the location indicated by Jim Meyering.
34082         Note the more natural CONFIG_HEADER name is prohibited by automake
34083         for backwards compatibility reasons.
34084         * top/maint.mk (sc_Wundef_boolean): New rule.
34085
34086 2010-01-25  Jim Meyering  <meyering@redhat.com>
34087
34088         bootstrap: detect MacOS 10.6's shasum, too
34089         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34090         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34091
34092 2010-01-23  Jim Meyering  <meyering@redhat.com>
34093
34094         xstrtoll: new module
34095         * modules/xstrtoll: New file.
34096         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34097         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34098         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34099         ./configure fails if you use this module and lack "long long".
34100         * modules/xstrtoll-tests: New module.
34101         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34102         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34103         new init.sh-based test framework.
34104
34105 2010-01-24  Bruno Haible  <bruno@clisp.org>
34106
34107         Tests for module 'yn'.
34108         * modules/yn-tests: New file.
34109         * tests/test-yn.c: New file.
34110
34111         Tests for module 'y1'.
34112         * modules/y1-tests: New file.
34113         * tests/test-y1.c: New file.
34114
34115         Tests for module 'y0'.
34116         * modules/y0-tests: New file.
34117         * tests/test-y0.c: New file.
34118
34119         Tests for module 'tanh'.
34120         * modules/tanh-tests: New file.
34121         * tests/test-tanh.c: New file.
34122
34123         Tests for module 'tan'.
34124         * modules/tan-tests: New file.
34125         * tests/test-tan.c: New file.
34126
34127         Tests for module 'sqrt'.
34128         * modules/sqrt-tests: New file.
34129         * tests/test-sqrt.c: New file.
34130
34131         Tests for module 'sinh'.
34132         * modules/sinh-tests: New file.
34133         * tests/test-sinh.c: New file.
34134
34135         Tests for module 'sin'.
34136         * modules/sin-tests: New file.
34137         * tests/test-sin.c: New file.
34138
34139         Tests for module 'rint'.
34140         * modules/rint-tests: New file.
34141         * tests/test-rint.c: New file.
34142
34143         Tests for module 'remainder'.
34144         * modules/remainder-tests: New file.
34145         * tests/test-remainder.c: New file.
34146
34147         Tests for module 'pow'.
34148         * modules/pow-tests: New file.
34149         * tests/test-pow.c: New file.
34150
34151         Tests for module 'nextafter'.
34152         * modules/nextafter-tests: New file.
34153         * tests/test-nextafter.c: New file.
34154
34155         Tests for module 'modf'.
34156         * modules/modf-tests: New file.
34157         * tests/test-modf.c: New file.
34158
34159         Tests for module 'logb'.
34160         * modules/logb-tests: New file.
34161         * tests/test-logb.c: New file.
34162
34163         Tests for module 'log1p'.
34164         * modules/log1p-tests: New file.
34165         * tests/test-log1p.c: New file.
34166
34167         Tests for module 'log10'.
34168         * modules/log10-tests: New file.
34169         * tests/test-log10.c: New file.
34170
34171         Tests for module 'log'.
34172         * modules/log-tests: New file.
34173         * tests/test-log.c: New file.
34174
34175         Tests for module 'lgamma'.
34176         * modules/lgamma-tests: New file.
34177         * tests/test-lgamma.c: New file.
34178
34179         Tests for module 'ldexp'.
34180         * modules/ldexp-tests: New file.
34181         * tests/test-ldexp.c: New file.
34182
34183         Tests for module 'jn'.
34184         * modules/jn-tests: New file.
34185         * tests/test-jn.c: New file.
34186
34187         Tests for module 'j1'.
34188         * modules/j1-tests: New file.
34189         * tests/test-j1.c: New file.
34190
34191         Tests for module 'j0'.
34192         * modules/j0-tests: New file.
34193         * tests/test-j0.c: New file.
34194
34195         Tests for module 'hypot'.
34196         * modules/hypot-tests: New file.
34197         * tests/test-hypot.c: New file.
34198
34199         Tests for module 'fmod'.
34200         * modules/fmod-tests: New file.
34201         * tests/test-fmod.c: New file.
34202
34203         Tests for module 'fabs'.
34204         * modules/fabs-tests: New file.
34205         * tests/test-fabs.c: New file.
34206
34207         Tests for module 'exp'.
34208         * modules/exp-tests: New file.
34209         * tests/test-exp.c: New file.
34210
34211         Tests for module 'erfc'.
34212         * modules/erfc-tests: New file.
34213         * tests/test-erfc.c: New file.
34214
34215         Tests for module 'erf'.
34216         * modules/erf-tests: New file.
34217         * tests/test-erf.c: New file.
34218
34219         Tests for module 'cosh'.
34220         * modules/cosh-tests: New file.
34221         * tests/test-cosh.c: New file.
34222
34223         Tests for module 'cos'.
34224         * modules/cos-tests: New file.
34225         * tests/test-cos.c: New file.
34226
34227         Tests for module 'copysign'.
34228         * modules/copysign-tests: New file.
34229         * tests/test-copysign.c: New file.
34230
34231         Tests for module 'cbrt'.
34232         * modules/cbrt-tests: New file.
34233         * tests/test-cbrt.c: New file.
34234
34235         Tests for module 'atan2'.
34236         * modules/atan2-tests: New file.
34237         * tests/test-atan2.c: New file.
34238
34239         Tests for module 'atan'.
34240         * modules/atan-tests: New file.
34241         * tests/test-atan.c: New file.
34242
34243         Tests for module 'asin'.
34244         * modules/asin-tests: New file.
34245         * tests/test-asin.c: New file.
34246
34247         Tests for module 'acos'.
34248         * modules/acos-tests: New file.
34249         * tests/test-acos.c: New file.
34250
34251 2010-01-24  Bruno Haible  <bruno@clisp.org>
34252
34253         Fix tests for common <math.h> functions.
34254         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
34255         code snippet that references the function pointer, rather than merely
34256         calling the function. Substitute the FUNC_LIBM variable.
34257         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34258         * modules/acos (configure.ac): Likewise.
34259         * modules/asin (configure.ac): Likewise.
34260         * modules/atan (configure.ac): Likewise.
34261         * modules/atan2 (configure.ac): Likewise.
34262         * modules/cbrt (configure.ac): Likewise.
34263         * modules/copysign (configure.ac): Likewise.
34264         * modules/cos (configure.ac): Likewise.
34265         * modules/cosh (configure.ac): Likewise.
34266         * modules/erf (configure.ac): Likewise.
34267         * modules/erfc (configure.ac): Likewise.
34268         * modules/exp (configure.ac): Likewise.
34269         * modules/fabs (configure.ac): Likewise.
34270         * modules/fmod (configure.ac): Likewise.
34271         * modules/hypot (configure.ac): Likewise.
34272         * modules/j0 (configure.ac): Likewise.
34273         * modules/j1 (configure.ac): Likewise.
34274         * modules/jn (configure.ac): Likewise.
34275         * modules/ldexp (configure.ac): Likewise.
34276         * modules/lgamma (configure.ac): Likewise.
34277         * modules/log (configure.ac): Likewise.
34278         * modules/log10 (configure.ac): Likewise.
34279         * modules/log1p (configure.ac): Likewise.
34280         * modules/logb (configure.ac): Likewise.
34281         * modules/modf (configure.ac): Likewise.
34282         * modules/nextafter (configure.ac): Likewise.
34283         * modules/pow (configure.ac): Likewise.
34284         * modules/remainder (configure.ac): Likewise.
34285         * modules/rint (configure.ac): Likewise.
34286         * modules/sin (configure.ac): Likewise.
34287         * modules/sinh (configure.ac): Likewise.
34288         * modules/tan (configure.ac): Likewise.
34289         * modules/tanh (configure.ac): Likewise.
34290         * modules/y0 (configure.ac): Likewise.
34291         * modules/y1 (configure.ac): Likewise.
34292         * modules/yn (configure.ac): Likewise.
34293
34294 2010-01-24  Bruno Haible  <bruno@clisp.org>
34295
34296         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34297         * tests/test-acosl.c (x): New variable.
34298         (main): Store argument in x and fetch it from x.
34299         * tests/test-asinl.c (x): New variable.
34300         (main): Store argument in x and fetch it from x.
34301         * tests/test-atanl.c (x): New variable.
34302         (main): Store argument in x and fetch it from x.
34303         * tests/test-cosl.c (x): New variable.
34304         (main): Store argument in x and fetch it from x.
34305         * tests/test-expl.c (x): New variable.
34306         (main): Store argument in x and fetch it from x.
34307         * tests/test-logl.c (x): New variable.
34308         (main): Store argument in x and fetch it from x.
34309         * tests/test-sinl.c (x): New variable.
34310         (main): Store argument in x and fetch it from x.
34311         * tests/test-sqrtl.c (x): New variable.
34312         (main): Store argument in x and fetch it from x.
34313         * tests/test-tanl.c (x): New variable.
34314         (main): Store argument in x and fetch it from x.
34315
34316 2010-01-24  Bruno Haible  <bruno@clisp.org>
34317
34318         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34319         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34320         assignments to the initial TESTS_ENVIRONMENT.
34321         * doc/gnulib.texi (Unit test modules): Document it.
34322         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34323         TESTS_ENVIRONMENT.
34324         * modules/btowc-tests (Makefile.am): Likewise.
34325         * modules/c-stack-tests (Makefile.am): Likewise.
34326         * modules/c-strcase-tests (Makefile.am): Likewise.
34327         * modules/copy-file-tests (Makefile.am): Likewise.
34328         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34329         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34330         * modules/mbrtowc-tests (Makefile.am): Likewise.
34331         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34332         * modules/mbscasestr-tests (Makefile.am): Likewise.
34333         * modules/mbschr-tests (Makefile.am): Likewise.
34334         * modules/mbscspn-tests (Makefile.am): Likewise.
34335         * modules/mbsinit-tests (Makefile.am): Likewise.
34336         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34337         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34338         * modules/mbspbrk-tests (Makefile.am): Likewise.
34339         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34340         * modules/mbsrchr-tests (Makefile.am): Likewise.
34341         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34342         * modules/mbsspn-tests (Makefile.am): Likewise.
34343         * modules/mbsstr-tests (Makefile.am): Likewise.
34344         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34345         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34346         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34347         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34348         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34349         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34350         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34351         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34352         * modules/wcrtomb-tests (Makefile.am): Likewise.
34353         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34354         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34355         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34356         assignments from TESTS_ENVIRONMENT.
34357         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34358         augmentation.
34359         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34360         * modules/atexit-tests (Makefile.am): Likewise.
34361         * modules/binary-io-tests (Makefile.am): Likewise.
34362         * modules/closein-tests (Makefile.am): Likewise.
34363         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34364         * modules/exclude-tests (Makefile.am): Likewise.
34365         * modules/fflush-tests (Makefile.am): Likewise.
34366         * modules/fpending-tests (Makefile.am): Likewise.
34367         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34368         * modules/freadahead-tests (Makefile.am): Likewise.
34369         * modules/freadptr-tests (Makefile.am): Likewise.
34370         * modules/freadseek-tests (Makefile.am): Likewise.
34371         * modules/fseek-tests (Makefile.am): Likewise.
34372         * modules/fseeko-tests (Makefile.am): Likewise.
34373         * modules/ftell-tests (Makefile.am): Likewise.
34374         * modules/ftello-tests (Makefile.am): Likewise.
34375         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34376         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34377         * modules/lseek-tests (Makefile.am): Likewise.
34378         * modules/parse-duration-tests (Makefile.am): Likewise.
34379         * modules/perror-tests (Makefile.am): Likewise.
34380         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34381         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34382         * modules/pipe-tests (Makefile.am): Likewise.
34383         * modules/pread-tests (Makefile.am): Likewise.
34384         * modules/printf-posix-tests (Makefile.am): Likewise.
34385         * modules/select-tests (Makefile.am): Likewise.
34386         * modules/sigpipe-tests (Makefile.am): Likewise.
34387         * modules/tsearch-tests (Makefile.am): Likewise.
34388         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34389         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34390         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34391         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34392         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34393         * modules/version-etc-tests (Makefile.am): Likewise.
34394         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34395         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34396         * modules/xalloc-die-tests (Makefile.am): Likewise.
34397         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34398         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34399         * modules/xstrtol-tests (Makefile.am): Likewise.
34400         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34401         * modules/yesno-tests (Makefile.am): Likewise.
34402         Suggested by Jim Meyering.
34403
34404 2010-01-24  Bruno Haible  <bruno@clisp.org>
34405
34406         More documentation.
34407         * doc/gnulib.texi (Writing modules): New chapter.
34408         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34409         the new chapter.
34410
34411 2010-01-24  Jim Meyering  <meyering@redhat.com>
34412
34413         maint.mk: do not prepend "./" after filtering
34414         * top/maint.mk (_prepend_srcdir_prefix): New variable
34415         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34416         "./" when $(srcdir) is ".".
34417
34418         define STREQ(a,b) consistently, removing useless parentheses
34419         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34420         since the only risk is that "a" or "b" contains an unparenthesized
34421         comma, but if either did that, STREQ would have 3 or more arguments.
34422         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34423         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34424         * lib/hash-triple.c (STREQ): Likewise.
34425         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34426         * lib/getugroups.c (STREQ): Likewise.
34427
34428 2010-01-23  Jim Meyering  <meyering@redhat.com>
34429
34430         maint.mk: fix syntax-check in a non-srcdir build directory
34431         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34432         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34433
34434 2010-01-22  Jim Meyering  <meyering@redhat.com>
34435
34436         userspec: add unit tests
34437         * tests/test-userspec.c: New file.
34438         * modules/userspec-tests: Likewise.
34439
34440 2010-01-21  Jim Meyering  <meyering@redhat.com>
34441
34442         maint.mk: handle source file names containing "." robustly
34443         * top/maint.mk (_dot_escaped_srcdir): Define.
34444         (VC_LIST): Use it in LHS of sed substitution.
34445
34446 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34447
34448         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34449         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34450         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34451         from a non-srcdir build.
34452
34453 2010-01-20  Eric Blake  <ebb9@byu.net>
34454
34455         warn-on-use: use instead of link-warning
34456         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34457         * modules/unistd (Depends-on, Makefile.am): Likewise.
34458         * modules/arpa_inet (Depends-on): Replace link-warning with
34459         warn-on-use.
34460         (Makefile.am): Update rules accordingly.
34461         * modules/ctype (Depends-on, Makefile.am): Likewise.
34462         * modules/dirent (Depends-on, Makefile.am): Likewise.
34463         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34464         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34465         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34466         * modules/locale (Depends-on, Makefile.am): Likewise.
34467         * modules/math (Depends-on, Makefile.am): Likewise.
34468         * modules/search (Depends-on, Makefile.am): Likewise.
34469         * modules/signal (Depends-on, Makefile.am): Likewise.
34470         * modules/spawn (Depends-on, Makefile.am): Likewise.
34471         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34472         * modules/string (Depends-on, Makefile.am): Likewise.
34473         * modules/strings (Depends-on, Makefile.am): Likewise.
34474         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34475         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34476         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34477         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34478         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34479         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34480         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34481         * modules/wchar (Depends-on, Makefile.am): Likewise.
34482         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34483         should be poisoned.
34484         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34485         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34486         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34487         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34488         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34489         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34490         * m4/math_h.m4 (gl_MATH_H): Likewise.
34491         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34492         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34493         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34494         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34495         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34496         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34497         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34498         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34499         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34500         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34501         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34502         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34503         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34504         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34505         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34506         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34507         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34508         GL_LINK_WARNING.
34509         * lib/ctype.in.h: Likewise.
34510         * lib/dirent.in.h: Likewise.
34511         * lib/fcntl.in.h: Likewise.
34512         * lib/inttypes.in.h: Likewise.
34513         * lib/langinfo.in.h: Likewise.
34514         * lib/locale.in.h: Likewise.
34515         * lib/math.in.h: Likewise.
34516         * lib/search.in.h: Likewise.
34517         * lib/signal.in.h: Likewise.
34518         * lib/spawn.in.h: Likewise.
34519         * lib/stdio.in.h: Likewise.
34520         * lib/stdlib.in.h: Likewise.
34521         * lib/string.in.h: Likewise.
34522         * lib/strings.in.h: Likewise.
34523         * lib/sys_file.in.h: Likewise.
34524         * lib/sys_ioctl.in.h: Likewise.
34525         * lib/sys_select.in.h: Likewise.
34526         * lib/sys_socket.in.h: Likewise.
34527         * lib/sys_stat.in.h: Likewise.
34528         * lib/sys_times.in.h: Likewise.
34529         * lib/sys_utsname.in.h: Likewise.
34530         * lib/unistd.in.h: Likewise.
34531         * lib/wchar.in.h: Likewise.
34532
34533 2010-01-20  Bruno Haible  <bruno@clisp.org>
34534
34535         Avoid duplicate -lm.
34536         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34537         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34538         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34539         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34540         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34541         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34542         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34543         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34544         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34545         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34546         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34547         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34548         Reported by Paolo Bonzini.
34549
34550 2010-01-19  Bruno Haible  <bruno@clisp.org>
34551
34552         langinfo, nl_langinfo: Relicense under LGPLv2+.
34553         * modules/langinfo (License): Change to LGPLv2+.
34554         * modules/nl_langinfo (License): Likewise.
34555         Patch by David Lutterkort <lutter@redhat.com>.
34556
34557 2010-01-19  Bruno Haible  <bruno@clisp.org>
34558
34559         Avoid compilation error with cc on OSF/1 5.1.
34560         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34561         statement, not before.
34562         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34563
34564 2010-01-18  Bruno Haible  <bruno@clisp.org>
34565
34566         Avoid a link error due to the __printf__ symbol.
34567         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
34568         and 2.6.x.
34569         (__format__, __printf__): Remove definitions.
34570         * lib/argp-fmtstream.h: Likewise.
34571         * lib/argp.h: Likewise.
34572         * lib/error.h: Likewise.
34573         * lib/vasnprintf.h: Likewise.
34574         * lib/xprintf.h: Likewise.
34575         * lib/xvasprintf.h: Likewise.
34576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34577
34578 2010-01-18  Bruno Haible  <bruno@clisp.org>
34579
34580         Tests for module 'tanl'.
34581         * modules/tanl-tests: New file.
34582         * tests/test-tanl.c: New file.
34583
34584         Tests for module 'sqrtl'.
34585         * modules/sqrtl-tests: New file.
34586         * tests/test-sqrtl.c: New file.
34587
34588         Tests for module 'sinl'.
34589         * modules/sinl-tests: New file.
34590         * tests/test-sinl.c: New file.
34591
34592         Tests for module 'logl'.
34593         * modules/logl-tests: New file.
34594         * tests/test-logl.c: New file.
34595
34596         Tests for module 'expl'.
34597         * modules/expl-tests: New file.
34598         * tests/test-expl.c: New file.
34599
34600         Tests for module 'cosl'.
34601         * modules/cosl-tests: New file.
34602         * tests/test-cosl.c: New file.
34603
34604         Tests for module 'atanl'.
34605         * modules/atanl-tests: New file.
34606         * tests/test-atanl.c: New file.
34607
34608         Tests for module 'asinl'.
34609         * modules/asinl-tests: New file.
34610         * tests/test-asinl.c: New file.
34611
34612         Tests for module 'acosl'.
34613         * modules/acosl-tests: New file.
34614         * tests/test-acosl.c: New file.
34615
34616         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34617         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
34618         tanl): Use the standard gnulib idiom.
34619         * lib/cosl.c: Don't include trigl.c and sincosl.c.
34620         * lib/sinl.c: Likewise.
34621         * lib/tanl.c: Don't include trigl.c.
34622         (kernel_tanl): Make static.
34623         * lib/sincosl.c: Include trigl.h first.
34624         * lib/trigl.c: Likewise.
34625         * m4/acosl.m4: New file.
34626         * m4/asinl.m4: New file.
34627         * m4/atanl.m4: New file.
34628         * m4/cosl.m4: New file.
34629         * m4/expl.m4: New file.
34630         * m4/logl.m4: New file.
34631         * m4/sinl.m4: New file.
34632         * m4/sqrtl.m4: New file.
34633         * m4/tanl.m4: New file.
34634         * m4/mathl.m4: Remove file.
34635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
34636         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34637         Don't initialize GNULIB_MATHL.
34638         * modules/acosl: New file.
34639         * modules/asinl: New file.
34640         * modules/atanl: New file.
34641         * modules/cosl: New file.
34642         * modules/expl: New file.
34643         * modules/logl: New file.
34644         * modules/sinl: New file.
34645         * modules/sqrtl: New file.
34646         * modules/tanl: New file.
34647         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
34648         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
34649         substitute GNULIB_MATHL.
34650         * modules/mathl: Rewritten.
34651         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
34652         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
34653         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
34654         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
34655         * doc/posix-functions/expl.texi: Mention the 'expl' module.
34656         * doc/posix-functions/logl.texi: Mention the 'logl' module.
34657         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
34658         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
34659         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
34660
34661 2010-01-18  Bruno Haible  <bruno@clisp.org>
34662
34663         sqrt: Make gl_FUNC_SQRT requirable.
34664         * m4/sqrt.m4: New file.
34665         * modules/sqrt (Files): Add it.
34666         (configure.ac): Invoke gl_FUNC_SQRT.
34667
34668 2010-01-18  Bruno Haible  <bruno@clisp.org>
34669
34670         New modules for common <math.h> functions.
34671         * m4/mathfunc.m4: New file.
34672         * modules/acos: New file.
34673         * modules/asin: New file.
34674         * modules/atan: New file.
34675         * modules/atan2: New file.
34676         * modules/cbrt: New file.
34677         * modules/copysign: New file.
34678         * modules/cos: New file.
34679         * modules/cosh: New file.
34680         * modules/erf: New file.
34681         * modules/erfc: New file.
34682         * modules/exp: New file.
34683         * modules/fabs: New file.
34684         * modules/fmod: New file.
34685         * modules/hypot: New file.
34686         * modules/j0: New file.
34687         * modules/j1: New file.
34688         * modules/jn: New file.
34689         * modules/ldexp: New file.
34690         * modules/lgamma: New file.
34691         * modules/log: New file.
34692         * modules/log10: New file.
34693         * modules/log1p: New file.
34694         * modules/logb: New file.
34695         * modules/modf: New file.
34696         * modules/nextafter: New file.
34697         * modules/pow: New file.
34698         * modules/remainder: New file.
34699         * modules/rint: New file.
34700         * modules/sin: New file.
34701         * modules/sinh: New file.
34702         * modules/sqrt: New file.
34703         * modules/tan: New file.
34704         * modules/tanh: New file.
34705         * modules/y0: New file.
34706         * modules/y1: New file.
34707         * modules/yn: New file.
34708         * doc/posix-functions/acos.texi: Mention the 'acos' module.
34709         * doc/posix-functions/asin.texi: Mention the 'asin' module.
34710         * doc/posix-functions/atan.texi: Mention the 'atan' module.
34711         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
34712         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
34713         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
34714         * doc/posix-functions/cos.texi: Mention the 'cos' module.
34715         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
34716         * doc/posix-functions/erf.texi: Mention the 'erf' module.
34717         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
34718         * doc/posix-functions/exp.texi: Mention the 'exp' module.
34719         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
34720         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
34721         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
34722         * doc/posix-functions/j0.texi: Mention the 'j0' module.
34723         * doc/posix-functions/j1.texi: Mention the 'j1' module.
34724         * doc/posix-functions/jn.texi: Mention the 'jn' module.
34725         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
34726         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
34727         * doc/posix-functions/log.texi: Mention the 'log' module.
34728         * doc/posix-functions/log10.texi: Mention the 'log10' module.
34729         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
34730         * doc/posix-functions/logb.texi: Mention the 'logb' module.
34731         * doc/posix-functions/modf.texi: Mention the 'modf' module.
34732         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
34733         * doc/posix-functions/pow.texi: Mention the 'pow' module.
34734         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
34735         * doc/posix-functions/rint.texi: Mention the 'rint' module.
34736         * doc/posix-functions/sin.texi: Mention the 'sin' module.
34737         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
34738         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
34739         * doc/posix-functions/tan.texi: Mention the 'tan' module.
34740         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
34741         * doc/posix-functions/y0.texi: Mention the 'y0' module.
34742         * doc/posix-functions/y1.texi: Mention the 'y1' module.
34743         * doc/posix-functions/yn.texi: Mention the 'yn' module.
34744
34745 2010-01-18  Jim Meyering  <meyering@redhat.com>
34746
34747         ignore-value: relax license to LGPLv2+
34748         * modules/ignore-value (License): Relax to LGPLv2+.
34749
34750         getdate: don't leak when TZ contains two or more '"'s
34751         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
34752         double quote in TZ after the first one.
34753
34754         readtokens: do not leak internal token_lengths buffer
34755         * lib/readtokens.c (readtokens): Free the local, lengths,
34756         when the supplied "token_lengths" parameter is NULL.
34757
34758 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34759
34760         Fix a couple of missing LIBTHREAD link failures on AIX.
34761         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
34762         $(LIBTHREAD).
34763         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
34764
34765         Link test-poll against INET_PTON_LIB.
34766         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34767         for inet_pton on Solaris 10.
34768
34769 2010-01-17  Bruno Haible  <bruno@clisp.org>
34770
34771         unistdio/*-sprintf: Fix typo in module description.
34772         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34773         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34774         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34775         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34776         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34777         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34778         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34779         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34780
34781 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34782
34783         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34784         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34785         variables in shell case patterns, for AIX and HP-UX ksh.
34786
34787         Split large sed scripts, for HP-UX sed.
34788         * modules/stdio: Split sed scripts around 50 sed commands,
34789         to avoid HP-UX limit of 99 commands, in the near future.
34790         * modules/string: Likewise.
34791         * modules/unistd: Likewise.
34792
34793         gnulib-tool: avoid writing in the current directory.
34794         * gnulib-tool (func_emit_lib_Makefile_am)
34795         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34796         not in the current directory, so concurrent gnulib-tool
34797         instances do not interfere.
34798
34799 2010-01-16  Jim Meyering  <meyering@redhat.com>
34800
34801         doc: update users.txt
34802         * users.txt: Add grep.
34803         (diffutils, gzip): Update URLs.
34804
34805 2010-01-12  Bruno Haible  <bruno@clisp.org>
34806
34807         posix_spawn: Avoid test failure on Cygwin.
34808         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34809         characters.
34810         Reported by Simon Josefsson.
34811
34812 2010-01-12  Bruno Haible  <bruno@clisp.org>
34813
34814         * tests/test-cond.c (main): When skipping the test, show the reason.
34815
34816 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34817
34818         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34819
34820 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34821
34822         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34823         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34824
34825 2010-01-12  Eric Blake  <ebb9@byu.net>
34826
34827         build: guarantee AS_VAR_IF
34828         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34829         (gl_AS_VAR_IF): Move...
34830         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34831         Reported by Simon Josefsson.
34832
34833 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34834
34835         * lib/stdio.in.h: Fix typo.
34836
34837 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34838
34839         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34840         libgpg-error.
34841
34842 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34843
34844         * tests/test-xalloc-die.sh: Use $EXEEXT.
34845
34846 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34847             Bruno Haible  <bruno@clisp.org>
34848
34849         getlogin, getlogin_r: Avoid test failure.
34850         * tests/test-getlogin.c: Include <stdio.h>.
34851         (main): Skip the test when the function fails because stdin is not a
34852         tty.
34853         * tests/test-getlogin_r.c: Include <stdio.h>.
34854         (main): Skip the test when the function fails because stdin is not a
34855         tty.
34856
34857 2010-01-11  Eric Blake  <ebb9@byu.net>
34858
34859         tests: avoid more large file warnings
34860         * tests/test-fflush.c: Avoid warning about ftell use.
34861         * tests/test-fseek.c: Avoid warning about fseek use.
34862
34863 2010-01-10  Bruno Haible  <bruno@clisp.org>
34864
34865         nproc: Work better on Linux when /proc and /sys are not mounted.
34866         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34867         as lower bound when, on glibc/Linux systems,
34868         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34869         Suggested by Pádraig Brady <P@draigbrady.com>.
34870         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34871
34872         nproc: Refactor.
34873         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34874         extracted from num_processors.
34875         (num_processors): Call it.
34876
34877 2010-01-11  Jim Meyering  <meyering@redhat.com>
34878
34879         utimecmp: avoid new warning from upcoming gcc-4.5.0
34880         * lib/utimecmp.c (BILLION): Define using #define rather than an
34881         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34882
34883 2010-01-11  Eric Blake  <ebb9@byu.net>
34884
34885         math: add portability warnings for classification macros
34886         * modules/math (Depends-on): Add warn-on-use.
34887         (Makefile.am): Provide new substitutions.
34888         * m4/math_h.m4 (gl_MATH_H): Require inline.
34889         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34890         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34891         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34892         implement warnings.
34893
34894         unistd: warn on use of environ without module
34895         * modules/unistd (Depends-on): Add warn-on-use.
34896         (Makefile.am): Provide new substitutions.
34897         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34898         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34899
34900         stdio: warn on suspicious uses
34901         * modules/stdio (Depends-on): Add warn-on-use.
34902         (Makefile.am): Provide new substitutions.
34903         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34904         fseeko.
34905         * lib/stdio.in.h (gets): Always warn on use.
34906         (fseek, ftell): Adjust when warnings are issued, and honor
34907         _GL_NO_LARGE_FILES as a way to silence the warning.
34908         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34909         any warning about large file offsets.
34910         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34911         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34912         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34913         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34914         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34915         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34916         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34917         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34918
34919         warn-on-use: new module
34920         * modules/warn-on-use: New file.
34921         * build-aux/warn-on-use.h: Likewise.
34922         * m4/warn-on-use.m4: Likewise.
34923         * MODULES.html.sh (Support for building): Mention it.
34924
34925 2010-01-10  Bruno Haible  <bruno@clisp.org>
34926
34927         Tests for module 'unistr/u32-strdup'.
34928         * modules/unistr/u32-strdup-tests: New file.
34929         * tests/unistr/test-u32-strdup.c: New file.
34930
34931         Tests for module 'unistr/u16-strdup'.
34932         * modules/unistr/u16-strdup-tests: New file.
34933         * tests/unistr/test-u16-strdup.c: New file.
34934
34935         Tests for module 'unistr/u8-strdup'.
34936         * modules/unistr/u8-strdup-tests: New file.
34937         * tests/unistr/test-u8-strdup.c: New file.
34938         * tests/unistr/test-strdup.h: New file.
34939
34940         Tests for module 'unistr/u32-strncmp'.
34941         * modules/unistr/u32-strncmp-tests: New file.
34942         * tests/unistr/test-u32-strncmp.c: New file.
34943
34944         Tests for module 'unistr/u16-strncmp'.
34945         * modules/unistr/u16-strncmp-tests: New file.
34946         * tests/unistr/test-u16-strncmp.c: New file.
34947
34948         Tests for module 'unistr/u8-strncmp'.
34949         * modules/unistr/u8-strncmp-tests: New file.
34950         * tests/unistr/test-u8-strncmp.c: New file.
34951         * tests/unistr/test-strncmp.h: New file.
34952
34953         Tests for module 'unistr/u32-strcoll'.
34954         * modules/unistr/u32-strcoll-tests: New file.
34955         * tests/unistr/test-u32-strcoll.c: New file.
34956
34957         Tests for module 'unistr/u16-strcoll'.
34958         * modules/unistr/u16-strcoll-tests: New file.
34959         * tests/unistr/test-u16-strcoll.c: New file.
34960
34961         Tests for module 'unistr/u8-strcoll'.
34962         * modules/unistr/u8-strcoll-tests: New file.
34963         * tests/unistr/test-u8-strcoll.c: New file.
34964
34965         Tests for module 'unistr/u32-strcmp'.
34966         * modules/unistr/u32-strcmp-tests: New file.
34967         * tests/unistr/test-u32-strcmp.c: New file.
34968         * tests/unistr/test-u32-strcmp.h: New file.
34969
34970         Tests for module 'unistr/u16-strcmp'.
34971         * modules/unistr/u16-strcmp-tests: New file.
34972         * tests/unistr/test-u16-strcmp.c: New file.
34973         * tests/unistr/test-u16-strcmp.h: New file.
34974
34975         Tests for module 'unistr/u8-strcmp'.
34976         * modules/unistr/u8-strcmp-tests: New file.
34977         * tests/unistr/test-u8-strcmp.c: New file.
34978         * tests/unistr/test-u8-strcmp.h: New file.
34979         * tests/unistr/test-strcmp.h: New file.
34980
34981         Tests for module 'unistr/u32-strncat'.
34982         * modules/unistr/u32-strncat-tests: New file.
34983         * tests/unistr/test-u32-strncat.c: New file.
34984
34985         Tests for module 'unistr/u16-strncat'.
34986         * modules/unistr/u16-strncat-tests: New file.
34987         * tests/unistr/test-u16-strncat.c: New file.
34988
34989         Tests for module 'unistr/u8-strncat'.
34990         * modules/unistr/u8-strncat-tests: New file.
34991         * tests/unistr/test-u8-strncat.c: New file.
34992         * tests/unistr/test-strncat.h: New file.
34993
34994         Tests for module 'unistr/u32-strcat'.
34995         * modules/unistr/u32-strcat-tests: New file.
34996         * tests/unistr/test-u32-strcat.c: New file.
34997
34998         Tests for module 'unistr/u16-strcat'.
34999         * modules/unistr/u16-strcat-tests: New file.
35000         * tests/unistr/test-u16-strcat.c: New file.
35001
35002         Tests for module 'unistr/u8-strcat'.
35003         * modules/unistr/u8-strcat-tests: New file.
35004         * tests/unistr/test-u8-strcat.c: New file.
35005         * tests/unistr/test-strcat.h: New file.
35006
35007         Tests for module 'unistr/u32-stpncpy'.
35008         * modules/unistr/u32-stpncpy-tests: New file.
35009         * tests/unistr/test-u32-stpncpy.c: New file.
35010
35011         Tests for module 'unistr/u16-stpncpy'.
35012         * modules/unistr/u16-stpncpy-tests: New file.
35013         * tests/unistr/test-u16-stpncpy.c: New file.
35014
35015         Tests for module 'unistr/u8-stpncpy'.
35016         * modules/unistr/u8-stpncpy-tests: New file.
35017         * tests/unistr/test-u8-stpncpy.c: New file.
35018         * tests/unistr/test-stpncpy.h: New file.
35019
35020         Tests for module 'unistr/u32-strncpy'.
35021         * modules/unistr/u32-strncpy-tests: New file.
35022         * tests/unistr/test-u32-strncpy.c: New file.
35023
35024         Tests for module 'unistr/u16-strncpy'.
35025         * modules/unistr/u16-strncpy-tests: New file.
35026         * tests/unistr/test-u16-strncpy.c: New file.
35027
35028         Tests for module 'unistr/u8-strncpy'.
35029         * modules/unistr/u8-strncpy-tests: New file.
35030         * tests/unistr/test-u8-strncpy.c: New file.
35031         * tests/unistr/test-strncpy.h: New file.
35032
35033         Tests for module 'unistr/u32-stpcpy'.
35034         * modules/unistr/u32-stpcpy-tests: New file.
35035         * tests/unistr/test-u32-stpcpy.c: New file.
35036
35037         Tests for module 'unistr/u16-stpcpy'.
35038         * modules/unistr/u16-stpcpy-tests: New file.
35039         * tests/unistr/test-u16-stpcpy.c: New file.
35040
35041         Tests for module 'unistr/u8-stpcpy'.
35042         * modules/unistr/u8-stpcpy-tests: New file.
35043         * tests/unistr/test-u8-stpcpy.c: New file.
35044         * tests/unistr/test-stpcpy.h: New file.
35045
35046         Tests for module 'unistr/u32-strcpy'.
35047         * modules/unistr/u32-strcpy-tests: New file.
35048         * tests/unistr/test-u32-strcpy.c: New file.
35049
35050         Tests for module 'unistr/u16-strcpy'.
35051         * modules/unistr/u16-strcpy-tests: New file.
35052         * tests/unistr/test-u16-strcpy.c: New file.
35053
35054         Tests for module 'unistr/u8-strcpy'.
35055         * modules/unistr/u8-strcpy-tests: New file.
35056         * tests/unistr/test-u8-strcpy.c: New file.
35057         * tests/unistr/test-strcpy.h: New file.
35058
35059         Tests for module 'unistr/u32-strnlen'.
35060         * modules/unistr/u32-strnlen-tests: New file.
35061         * tests/unistr/test-u32-strnlen.c: New file.
35062
35063         Tests for module 'unistr/u16-strnlen'.
35064         * modules/unistr/u16-strnlen-tests: New file.
35065         * tests/unistr/test-u16-strnlen.c: New file.
35066
35067         Tests for module 'unistr/u8-strnlen'.
35068         * modules/unistr/u8-strnlen-tests: New file.
35069         * tests/unistr/test-u8-strnlen.c: New file.
35070         * tests/unistr/test-strnlen.h: New file.
35071
35072         Tests for module 'unistr/u32-strlen'.
35073         * modules/unistr/u32-strlen-tests: New file.
35074         * tests/unistr/test-u32-strlen.c: New file.
35075
35076         Tests for module 'unistr/u16-strlen'.
35077         * modules/unistr/u16-strlen-tests: New file.
35078         * tests/unistr/test-u16-strlen.c: New file.
35079
35080         Tests for module 'unistr/u8-strlen'.
35081         * modules/unistr/u8-strlen-tests: New file.
35082         * tests/unistr/test-u8-strlen.c: New file.
35083
35084         Tests for module 'unistr/u32-prev'.
35085         * modules/unistr/u32-prev-tests: New file.
35086         * tests/unistr/test-u32-prev.c: New file.
35087
35088         Tests for module 'unistr/u16-prev'.
35089         * modules/unistr/u16-prev-tests: New file.
35090         * tests/unistr/test-u16-prev.c: New file.
35091
35092         Tests for module 'unistr/u8-prev'.
35093         * modules/unistr/u8-prev-tests: New file.
35094         * tests/unistr/test-u8-prev.c: New file.
35095
35096         Tests for module 'unistr/u32-next'.
35097         * modules/unistr/u32-next-tests: New file.
35098         * tests/unistr/test-u32-next.c: New file.
35099
35100         Tests for module 'unistr/u16-next'.
35101         * modules/unistr/u16-next-tests: New file.
35102         * tests/unistr/test-u16-next.c: New file.
35103
35104         Tests for module 'unistr/u8-next'.
35105         * modules/unistr/u8-next-tests: New file.
35106         * tests/unistr/test-u8-next.c: New file.
35107
35108         Tests for module 'unistr/u32-strmbtouc'.
35109         * modules/unistr/u32-strmbtouc-tests: New file.
35110         * tests/unistr/test-u32-strmbtouc.c: New file.
35111
35112         Tests for module 'unistr/u16-strmbtouc'.
35113         * modules/unistr/u16-strmbtouc-tests: New file.
35114         * tests/unistr/test-u16-strmbtouc.c: New file.
35115
35116         Tests for module 'unistr/u8-strmbtouc'.
35117         * modules/unistr/u8-strmbtouc-tests: New file.
35118         * tests/unistr/test-u8-strmbtouc.c: New file.
35119
35120         Tests for module 'unistr/u32-strmblen'.
35121         * modules/unistr/u32-strmblen-tests: New file.
35122         * tests/unistr/test-u32-strmblen.c: New file.
35123
35124         Tests for module 'unistr/u16-strmblen'.
35125         * modules/unistr/u16-strmblen-tests: New file.
35126         * tests/unistr/test-u16-strmblen.c: New file.
35127
35128         Tests for module 'unistr/u8-strmblen'.
35129         * modules/unistr/u8-strmblen-tests: New file.
35130         * tests/unistr/test-u8-strmblen.c: New file.
35131
35132         Tests for module 'unistr/u32-cpy-alloc'.
35133         * modules/unistr/u32-cpy-alloc-tests: New file.
35134         * tests/unistr/test-u32-cpy-alloc.c: New file.
35135
35136         Tests for module 'unistr/u16-cpy-alloc'.
35137         * modules/unistr/u16-cpy-alloc-tests: New file.
35138         * tests/unistr/test-u16-cpy-alloc.c: New file.
35139
35140         Tests for module 'unistr/u8-cpy-alloc'.
35141         * modules/unistr/u8-cpy-alloc-tests: New file.
35142         * tests/unistr/test-u8-cpy-alloc.c: New file.
35143         * tests/unistr/test-cpy-alloc.h: New file.
35144
35145         Tests for module 'unistr/u32-mbsnlen'.
35146         * modules/unistr/u32-mbsnlen-tests: New file.
35147         * tests/unistr/test-u32-mbsnlen.c: New file.
35148
35149         Tests for module 'unistr/u16-mbsnlen'.
35150         * modules/unistr/u16-mbsnlen-tests: New file.
35151         * tests/unistr/test-u16-mbsnlen.c: New file.
35152
35153         Tests for module 'unistr/u8-mbsnlen'.
35154         * modules/unistr/u8-mbsnlen-tests: New file.
35155         * tests/unistr/test-u8-mbsnlen.c: New file.
35156
35157         Tests for module 'unistr/u32-chr'.
35158         * modules/unistr/u32-chr-tests: New file.
35159         * tests/unistr/test-u32-chr.c: New file.
35160
35161         Tests for module 'unistr/u16-chr'.
35162         * modules/unistr/u16-chr-tests: New file.
35163         * tests/unistr/test-u16-chr.c: New file.
35164
35165         Tests for module 'unistr/u8-chr'.
35166         * modules/unistr/u8-chr-tests: New file.
35167         * tests/unistr/test-u8-chr.c: New file.
35168         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35169
35170         Tests for module 'unistr/u32-cmp2'.
35171         * modules/unistr/u32-cmp2-tests: New file.
35172         * tests/unistr/test-u32-cmp2.c: New file.
35173
35174         Tests for module 'unistr/u16-cmp2'.
35175         * modules/unistr/u16-cmp2-tests: New file.
35176         * tests/unistr/test-u16-cmp2.c: New file.
35177
35178         Tests for module 'unistr/u8-cmp2'.
35179         * modules/unistr/u8-cmp2-tests: New file.
35180         * tests/unistr/test-u8-cmp2.c: New file.
35181         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35182
35183         Tests for module 'unistr/u32-cmp'.
35184         * modules/unistr/u32-cmp-tests: New file.
35185         * tests/unistr/test-u32-cmp.c: New file.
35186
35187         Tests for module 'unistr/u16-cmp'.
35188         * modules/unistr/u16-cmp-tests: New file.
35189         * tests/unistr/test-u16-cmp.c: New file.
35190
35191         Tests for module 'unistr/u8-cmp'.
35192         * modules/unistr/u8-cmp-tests: New file.
35193         * tests/unistr/test-u8-cmp.c: New file.
35194         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35195
35196         Tests for module 'unistr/u32-set'.
35197         * modules/unistr/u32-set-tests: New file.
35198         * tests/unistr/test-u32-set.c: New file.
35199
35200         Tests for module 'unistr/u16-set'.
35201         * modules/unistr/u16-set-tests: New file.
35202         * tests/unistr/test-u16-set.c: New file.
35203
35204         Tests for module 'unistr/u8-set'.
35205         * modules/unistr/u8-set-tests: New file.
35206         * tests/unistr/test-u8-set.c: New file.
35207         * tests/unistr/test-set.h: New file.
35208
35209         Tests for module 'unistr/u32-move'.
35210         * modules/unistr/u32-move-tests: New file.
35211         * tests/unistr/test-u32-move.c: New file.
35212
35213         Tests for module 'unistr/u16-move'.
35214         * modules/unistr/u16-move-tests: New file.
35215         * tests/unistr/test-u16-move.c: New file.
35216
35217         Tests for module 'unistr/u8-move'.
35218         * modules/unistr/u8-move-tests: New file.
35219         * tests/unistr/test-u8-move.c: New file.
35220         * tests/unistr/test-move.h: New file.
35221
35222         Tests for module 'unistr/u32-cpy'.
35223         * modules/unistr/u32-cpy-tests: New file.
35224         * tests/unistr/test-u32-cpy.c: New file.
35225
35226         Tests for module 'unistr/u16-cpy'.
35227         * modules/unistr/u16-cpy-tests: New file.
35228         * tests/unistr/test-u16-cpy.c: New file.
35229
35230         Tests for module 'unistr/u8-cpy'.
35231         * modules/unistr/u8-cpy-tests: New file.
35232         * tests/unistr/test-u8-cpy.c: New file.
35233         * tests/unistr/test-cpy.h: New file.
35234
35235 2010-01-09  Bruno Haible  <bruno@clisp.org>
35236
35237         Tests for module 'unistr/u32-uctomb'.
35238         * modules/unistr/u32-uctomb-tests: New file.
35239         * tests/unistr/test-u32-uctomb.c: New file.
35240
35241         Tests for module 'unistr/u16-uctomb'.
35242         * modules/unistr/u16-uctomb-tests: New file.
35243         * tests/unistr/test-u16-uctomb.c: New file.
35244
35245         Tests for module 'unistr/u8-uctomb'.
35246         * modules/unistr/u8-uctomb-tests: New file.
35247         * tests/unistr/test-u8-uctomb.c: New file.
35248
35249         Tests for module 'unistr/u32-mbtoucr'.
35250         * modules/unistr/u32-mbtoucr-tests: New file.
35251         * tests/unistr/test-u32-mbtoucr.c: New file.
35252
35253         Tests for module 'unistr/u16-mbtoucr'.
35254         * modules/unistr/u16-mbtoucr-tests: New file.
35255         * tests/unistr/test-u16-mbtoucr.c: New file.
35256
35257         Tests for module 'unistr/u8-mbtoucr'.
35258         * modules/unistr/u8-mbtoucr-tests: New file.
35259         * tests/unistr/test-u8-mbtoucr.c: New file.
35260
35261         Tests for module 'unistr/u32-mbtouc'.
35262         * modules/unistr/u32-mbtouc-tests: New file.
35263         * tests/unistr/test-u32-mbtouc.c: New file.
35264
35265         Tests for module 'unistr/u16-mbtouc'.
35266         * modules/unistr/u16-mbtouc-tests: New file.
35267         * tests/unistr/test-u16-mbtouc.c: New file.
35268
35269         Tests for module 'unistr/u8-mbtouc'.
35270         * modules/unistr/u8-mbtouc-tests: New file.
35271         * tests/unistr/test-u8-mbtouc.c: New file.
35272
35273         Tests for module 'unistr/u32-mbtouc-unsafe'.
35274         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35275         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35276         * tests/unistr/test-u32-mbtouc.h: New file.
35277
35278         Tests for module 'unistr/u16-mbtouc-unsafe'.
35279         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35280         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35281         * tests/unistr/test-u16-mbtouc.h: New file.
35282
35283         Tests for module 'unistr/u8-mbtouc-unsafe'.
35284         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35285         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35286         * tests/unistr/test-u8-mbtouc.h: New file.
35287
35288         Tests for module 'unistr/u32-mblen'.
35289         * modules/unistr/u32-mblen-tests: New file.
35290         * tests/unistr/test-u32-mblen.c: New file.
35291
35292         Tests for module 'unistr/u16-mblen'.
35293         * modules/unistr/u16-mblen-tests: New file.
35294         * tests/unistr/test-u16-mblen.c: New file.
35295
35296         Tests for module 'unistr/u8-mblen'.
35297         * modules/unistr/u8-mblen-tests: New file.
35298         * tests/unistr/test-u8-mblen.c: New file.
35299
35300         Tests for module 'unistr/u32-to-u16'.
35301         * modules/unistr/u32-to-u16-tests: New file.
35302         * tests/unistr/test-u32-to-u16.c: New file.
35303
35304         Tests for module 'unistr/u32-to-u8'.
35305         * modules/unistr/u32-to-u8-tests: New file.
35306         * tests/unistr/test-u32-to-u8.c: New file.
35307
35308         Tests for module 'unistr/u16-to-u32'.
35309         * modules/unistr/u16-to-u32-tests: New file.
35310         * tests/unistr/test-u16-to-u32.c: New file.
35311
35312         Tests for module 'unistr/u16-to-u8'.
35313         * modules/unistr/u16-to-u8-tests: New file.
35314         * tests/unistr/test-u16-to-u8.c: New file.
35315
35316         Tests for module 'unistr/u8-to-u32'.
35317         * modules/unistr/u8-to-u32-tests: New file.
35318         * tests/unistr/test-u8-to-u32.c: New file.
35319
35320         Tests for module 'unistr/u8-to-u16'.
35321         * modules/unistr/u8-to-u16-tests: New file.
35322         * tests/unistr/test-u8-to-u16.c: New file.
35323
35324         Tests for module 'unistr/u32-check'.
35325         * modules/unistr/u32-check-tests: New file.
35326         * tests/unistr/test-u32-check.c: New file.
35327
35328         Tests for module 'unistr/u16-check'.
35329         * modules/unistr/u16-check-tests: New file.
35330         * tests/unistr/test-u16-check.c: New file.
35331
35332         Tests for module 'unistr/u8-check'.
35333         * modules/unistr/u8-check-tests: New file.
35334         * tests/unistr/test-u8-check.c: New file.
35335
35336         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35337         (category_equals): New function.
35338         (main): Add more tests.
35339         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35340
35341         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35342
35343 2010-01-10  Bruno Haible  <bruno@clisp.org>
35344
35345         unistr/u*-strcoll: Try harder to distinguish different strings.
35346         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35347         compare s1 and s2 to see if they are different.
35348
35349 2010-01-10  Bruno Haible  <bruno@clisp.org>
35350
35351         unistr/u*-stpncpy: Fix the return value.
35352         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35353         description of the return value consistent with stpncpy in glibc.
35354         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35355         written non-NUL unit.
35356
35357 2010-01-10  Bruno Haible  <bruno@clisp.org>
35358
35359         unistr/u*-next: Add missing dependencies.
35360         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35361         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35362         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35363
35364 2010-01-10  Bruno Haible  <bruno@clisp.org>
35365
35366         unistr/u8-mbsnlen: Fix return value for incomplete character.
35367         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35368         u8_mblen.
35369         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35370         Remove unistr/u8-mblen.
35371         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35372         u16_mblen.
35373         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35374         Remove unistr/u16-mblen.
35375
35376 2010-01-10  Bruno Haible  <bruno@clisp.org>
35377
35378         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35379         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35380         Reported by Brian Gough <bjg@gnu.org> and
35381         Chris Clayton <chris2553@googlemail.com> via
35382         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35383
35384 2010-01-09  Bruno Haible  <bruno@clisp.org>
35385
35386         unistr/u16-to-u32: Reject invalid input.
35387         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35388         u16_mbtouc.
35389         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35390         Remove unistr/u16-mbtouc.
35391
35392         unistr/u16-to-u8: Reject invalid input.
35393         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35394         u16_mbtouc.
35395         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35396         Remove unistr/u16-mbtouc.
35397
35398         unistr/u8-to-u32: Reject invalid input.
35399         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35400         u8_mbtouc.
35401         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35402         Remove unistr/u8-mbtouc.
35403
35404         unistr/u8-to-u16: Reject invalid input.
35405         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35406         u8_mbtouc.
35407         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35408         Remove unistr/u8-mbtouc.
35409
35410 2010-01-09  Bruno Haible  <bruno@clisp.org>
35411
35412         Tests for module 'getlogin'.
35413         * modules/getlogin-tests: New file.
35414         * tests/test-getlogin.c: New file.
35415
35416         New module 'getlogin'.
35417         * lib/unistd.in.h (getlogin): New declaration.
35418         * lib/getlogin.c: New file.
35419         * m4/getlogin.m4: New file.
35420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35421         HAVE_GETLOGIN.
35422         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35423         HAVE_GETLOGIN.
35424         * modules/getlogin: New file.
35425         * doc/posix-functions/getlogin.texi: Mention the new module.
35426         Reported by John W. Eaton <jwe@gnu.org>.
35427
35428 2010-01-09  Bruno Haible  <bruno@clisp.org>
35429
35430         getlogin_r: Support for native Windows.
35431         * lib/getlogin_r.c: Include <windows.h>
35432         (getlogin_r): Implement for native Windows.
35433         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35434         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35435         via John W. Eaton <jwe@gnu.org>.
35436
35437 2010-01-09  Bruno Haible  <bruno@clisp.org>
35438
35439         getlogin_r: Small fixes.
35440         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35441         succeeds.
35442         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35443         before testing whether getlogin_r is declared. No need to set
35444         HAVE_DECL_GETLOGIN_R to 1.
35445         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35446
35447 2010-01-09  Bruno Haible  <bruno@clisp.org>
35448
35449         * lib/unistd.in.h (getlogin_r): Add comment.
35450
35451 2010-01-09  Bruno Haible  <bruno@clisp.org>
35452
35453         Tests for module 'getlogin_r'.
35454         * modules/getlogin_r-tests: New file.
35455         * tests/test-getlogin_r.c: New file.
35456
35457 2010-01-09  Jim Meyering  <meyering@redhat.com>
35458
35459         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35460         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35461         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35462
35463 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35464
35465         * lib/dup2.c (rpl_dup2): Improve comment.
35466
35467 2010-01-08  Eric Blake  <ebb9@byu.net>
35468
35469         maint.mk: allow packages to add makefile @@ exceptions
35470         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35471         (sc_makefile_check): Rename...
35472         (sc_makefile_at_at_check): ...to this, and use hook.
35473
35474         dup2: work around mingw bug
35475         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35476         Reported by Simon Josefsson.
35477
35478 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35479
35480         glob: Fix C++ compilation.
35481         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35482         C++.
35483
35484 2010-01-07  Bruno Haible  <bruno@clisp.org>
35485
35486         Fix indentation of wctype.in.h, broken since 2007-01-06.
35487         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35488
35489 2010-01-07  Bruno Haible  <bruno@clisp.org>
35490
35491         mbslen: Avoid collision with system function.
35492         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35493         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35494         * m4/mbslen.m4: New file.
35495         * modules/mbslen (Files): Add it.
35496         (configure.ac): Invoke gl_MBSLEN.
35497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35498         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35499         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35500         via Ian Beckwith <ianb@erislabs.net>.
35501
35502 2010-01-07  Bruno Haible  <bruno@clisp.org>
35503
35504         dirent: Document the last fix.
35505         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35506
35507 2010-01-07  Bruno Haible  <bruno@clisp.org>
35508
35509         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35510         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35511         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35512         va_list are defined.
35513         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35514         Reported by Eric Blake.
35515
35516 2010-01-07  Bruno Haible  <bruno@clisp.org>
35517
35518         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35519         * modules/xlist (Depends-on): Add 'list',
35520         * modules/xoset (Depends-on): Add 'oset'.
35521         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35522
35523 2010-01-07  Bruno Haible  <bruno@clisp.org>
35524
35525         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35526         * doc/posix-functions/strncasecmp.texi: Likewise.
35527
35528 2010-01-07  Bruno Haible  <bruno@clisp.org>
35529
35530         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35531
35532 2010-01-07  John W. Eaton  <jwe@octave.org>
35533
35534         wctype: allow C++ use
35535         * lib/wctype.in.h: Add extern "C" block for C++.
35536
35537 2010-01-06  Eric Blake  <ebb9@byu.net>
35538
35539         maint.mk: detect incorrect GFDL usage
35540         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35541
35542 2010-01-06  Jim Meyering  <meyering@redhat.com>
35543         and Eric Blake  <ebb9@byu.net>
35544
35545         maint.mk: ignore multi-line copyright in NEWS
35546         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35547
35548 2010-01-06  Eric Blake  <ebb9@byu.net>
35549
35550         select: add missing dependency
35551         * modules/select-tests (Depends-on): Move sockets dependency...
35552         * modules/select (Depends-on): ...here.
35553         Reported by Ian Beckwith.
35554
35555         doc: regenerate INSTALL
35556         * doc/INSTALL: Reflect recent autoconf update.
35557         * doc/INSTALL.ISO: Likewise.
35558         * doc/INSTALL.UTF-8: Likewise.
35559
35560         pread: fix compilation on glibc
35561         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35562         Reported by Ralf Wildenhues.
35563
35564         dirent: fix test failure
35565         * lib/dirent.in.h (includes): Guarantee ino_t.
35566         Reported by Ralf Wildenhues.
35567
35568 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
35569
35570         linkat, renameat: avoid bad free
35571         * lib/at-func2.c (at_func2): Fix typo.
35572         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
35573
35574 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35575
35576         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
35577         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
35578         to avoid failure of symlink test later.
35579
35580 2010-01-06  Eric Blake  <ebb9@byu.net>
35581
35582         stdio, unistd: guarantee ssize_t
35583         * lib/unistd.in.h (includes): Ensure that types required by POSIX
35584         2008 are exposed when needed.
35585         * lib/stdio.in.h (includes): Likewise.
35586         Reported by Ralf Wildenhues.
35587
35588 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
35589
35590         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
35591         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
35592         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
35593
35594 2010-01-06  Jim Meyering  <meyering@redhat.com>
35595
35596         readtokens: this module *does* require xalloc.h
35597         It uses only functions that were omitted by the old syntax-check rule.
35598         * lib/readtokens.c: Include "xalloc.h" once again.
35599         * modules/readtokens (Depends-on): Add xalloc.
35600         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
35601
35602 2010-01-05  Eric Blake  <ebb9@byu.net>
35603
35604         maint: support 'make announcement' from a VPATH build
35605         * top/maint.mk (announcement): Look for correct NEWS file.
35606
35607 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
35608
35609         utimens (fdutimens): ignore a negative FD, per contract
35610         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
35611         when we have a valid file descriptor.  Otherwise, using a brand
35612         new glibc (with just-patched futimens that now fails with EBADF)
35613         would cause this function to fail with ENOSYS.
35614         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
35615         See also http://bugzilla.redhat.com/552320.
35616
35617 2010-01-05  Eric Blake  <ebb9@byu.net>
35618
35619         strcase: document what it provides
35620         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
35621         gnulib module.
35622         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
35623         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
35624
35625 2010-01-05  Jim Meyering  <meyering@redhat.com>
35626
35627         maint: remove useless inclusions of "xalloc.h"
35628         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
35629         * lib/readtokens.c: Likewise.
35630         * lib/same.c: Likewise.
35631         * modules/getloadavg (Depends-on): Remove xalloc.
35632         * modules/readtokens: Likewise.
35633         * modules/same: Likewise.
35634
35635         maint.mk: include 4 more function names in alloca.h-checking regexp
35636         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
35637         regexp.  Before, we would give a false-positive (saying alloca.h
35638         is included unnecessarily) when the only uses involved omitted symbols.
35639
35640         xalloc.h: use consistent formatting
35641         * lib/xalloc.h: Move declarations to start in the first column.
35642
35643 2010-01-05  Eric Blake  <ebb9@byu.net>
35644
35645         mkdir: avoid xalloc
35646         * lib/mkdir.c (includes): Drop unused header.
35647         Reported by John W. Eaton.
35648
35649 2010-01-04  Jim Meyering  <meyering@redhat.com>
35650
35651         nl_langinfo: avoid configure-time syntax error
35652         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
35653         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
35654         the empty string.  Don't let that provoke a shell syntax error.
35655
35656         regcomp, regexec, fnmatch: avoid array bounds read error
35657         * lib/regcomp.c (build_equiv_class): From glibc:
35658         Use only the low 24 bits of a findidx return value as an index
35659         into the weights array.  Patch by Ulrich Drepper:
35660         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
35661         * lib/regexec.c (check_node_accept_bytes): Likewise.
35662         * lib/fnmatch_loop.c (FCT): Likewise.
35663
35664         regcomp: skip collseq lookup when there are no rules
35665         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
35666         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
35667
35668         regcomp: recognize ill-formed { } expressions
35669         * lib/regcomp.c (parse_dup_op): From glibc:
35670         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
35671
35672         regcomp: fix typo in comment
35673         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
35674         s/satisfy/satisfies/.
35675
35676         regcomp: sync from glibc: remove dead store
35677         * lib/regcomp.c (duplicate_node_closure): Remove useless
35678         search_duplicated_node call and dead store.
35679
35680         regcomp: sync from glibc; always use nl_langinfo
35681         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
35682         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
35683         * modules/regex (Depends-on): Add nl_langinfo.
35684
35685 2010-01-04  Eric Blake  <ebb9@byu.net>
35686
35687         fdopendir: fix configure test
35688         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
35689
35690 2010-01-01  Bruno Haible  <bruno@clisp.org>
35691
35692         wchar: Remove unused configure check.
35693         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
35694
35695 2010-01-01  Eric Blake  <ebb9@byu.net>
35696
35697         headers: make check of system header explicit
35698         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
35699         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
35700         ourselves.
35701         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35702         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35703         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35704         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
35705         internals.
35706         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
35707         missing.
35708         Suggested by Bruno Haible.
35709
35710 2010-01-01  Jim Meyering  <meyering@redhat.com>
35711
35712         ChangeLog: tweak to eliminate unnecessary copyright line
35713         * ChangeLog: Remove a copyright line that was mistakenly updated
35714         by today's update-copyright run.  Reported by Eric Blake.
35715
35716         test-update-copyright: don't let envvar setting cause test failure
35717         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35718
35719 2010-01-01  Bruno Haible  <bruno@clisp.org>
35720
35721         localename: Avoid gcc warning.
35722         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
35723         function if it is not used.
35724
35725 2010-01-01  Jim Meyering  <meyering@redhat.com>
35726
35727         update nearly all FSF copyright year lists to include 2010
35728         Use the same procedure as for 2009, outlined in
35729         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
35730
35731         version-etc: set COPYRIGHT_YEAR to 2010
35732         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
35733
35734 2009-12-31  Eric Blake  <ebb9@byu.net>
35735
35736         doc: correct availability of cygwin 1.5.x getopt
35737         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
35738         variables.
35739         * doc/posix-functions/opterr.texi (opterr): Likewise.
35740         * doc/posix-functions/optind.texi (optind): Likewise.
35741         * doc/posix-functions/optopt.texi (optopt): Likewise.
35742         * doc/posix-functions/tzname.texi (tzname): Likewise.
35743
35744         openat: update maintainer
35745         * modules/openat (Maintainer): Add myself.
35746
35747         utimens: avoid shadowing warning
35748         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
35749         buffers into one, to avoid shadowing, as well as avoiding a
35750         redundant stat.
35751         Reported by Jim Meyering.
35752
35753         test-dup2: avoid compiler warning
35754         * tests/test-dup2.c (is_inheritable): Only define if used.
35755
35756 2010-01-01  Bruno Haible  <bruno@clisp.org>
35757
35758         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
35759         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
35760         defined, use wctomb instead of wcrtomb.
35761
35762 2010-01-01  Bruno Haible  <bruno@clisp.org>
35763
35764         iconv: Reject native Solaris iconv.
35765         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35766         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35767
35768 2009-12-31  Bruno Haible  <bruno@clisp.org>
35769
35770         * tests/test-signal.c (main): Remove test of 'SIG'.
35771
35772 2009-12-31  Bruno Haible  <bruno@clisp.org>
35773
35774         spawn: Fix incomplete fix.
35775         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35776         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35777         warnings for GNULIB_POSIXCHECK again.
35778         Reported by Eric Blake.
35779
35780 2009-12-31  Bruno Haible  <bruno@clisp.org>
35781
35782         Avoid namespace pollution on glibc systems.
35783         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35784         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35785         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35786         glibc systems.
35787
35788 2009-12-31  Bruno Haible  <bruno@clisp.org>
35789
35790         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35791         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35792         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35793         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35794         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35795         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35796         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35797
35798 2009-12-31  Bruno Haible  <bruno@clisp.org>
35799
35800         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35801         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35802         afterwards.
35803
35804 2009-12-31  Bruno Haible  <bruno@clisp.org>
35805
35806         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35807         SYS_UTSNAME_H.
35808
35809 2009-12-31  Bruno Haible  <bruno@clisp.org>
35810
35811         spawn: Fix misapplied patch.
35812         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35813         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35814         warnings for GNULIB_POSIXCHECK.
35815
35816 2009-12-31  Bruno Haible  <bruno@clisp.org>
35817
35818         times: Update after sys_times changed.
35819         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35820         * modules/times (Files): Add it.
35821         (configure.ac): Invoke gl_FUNC_TIMES.
35822
35823 2009-12-31  Bruno Haible  <bruno@clisp.org>
35824
35825         Use AC_C_INLINE where necessary.
35826         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35827         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35828         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35829         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35830         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35831         * m4/mbiter.m4 (gl_MBITER): Likewise.
35832         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35833         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35834         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35835         * modules/u64 (configure.ac): Likewise.
35836
35837 2009-12-31  Bruno Haible  <bruno@clisp.org>
35838
35839         Use AC_C_INLINE instead of module 'inline' where possible.
35840         * modules/inline (Description): Clarify purpose.
35841         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35842         * modules/count-one-bits (Depends-on): Remove inline.
35843         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35844         * modules/openat (Depends-on): Remove inline.
35845         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35846         instead of depending on module 'inline'.
35847         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35848         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35849         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35850         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35851         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35852         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35853         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35854         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35855         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35856         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35857         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35858         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35859         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35860         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35861         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35862         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35863         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35864         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35865         Likewise.
35866         * modules/unictype/property-ascii-hex-digit (Depends-on,
35867         configure.ac): Likewise.
35868         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35869         configure.ac): Likewise.
35870         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35871         configure.ac): Likewise.
35872         * modules/unictype/property-bidi-block-separator (Depends-on,
35873         configure.ac): Likewise.
35874         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35875         configure.ac): Likewise.
35876         * modules/unictype/property-bidi-common-separator (Depends-on,
35877         configure.ac): Likewise.
35878         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35879         Likewise.
35880         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35881         configure.ac): Likewise.
35882         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35883         configure.ac): Likewise.
35884         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35885         configure.ac): Likewise.
35886         * modules/unictype/property-bidi-european-digit (Depends-on,
35887         configure.ac): Likewise.
35888         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35889         configure.ac): Likewise.
35890         * modules/unictype/property-bidi-left-to-right (Depends-on,
35891         configure.ac): Likewise.
35892         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35893         configure.ac): Likewise.
35894         * modules/unictype/property-bidi-other-neutral (Depends-on,
35895         configure.ac): Likewise.
35896         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35897         Likewise.
35898         * modules/unictype/property-bidi-segment-separator (Depends-on,
35899         configure.ac): Likewise.
35900         * modules/unictype/property-bidi-whitespace (Depends-on,
35901         configure.ac): Likewise.
35902         * modules/unictype/property-combining (Depends-on, configure.ac):
35903         Likewise.
35904         * modules/unictype/property-composite (Depends-on, configure.ac):
35905         Likewise.
35906         * modules/unictype/property-currency-symbol (Depends-on,
35907         configure.ac): Likewise.
35908         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35909         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35910         Likewise.
35911         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35912         configure.ac): Likewise.
35913         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35914         Likewise.
35915         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35916         Likewise.
35917         * modules/unictype/property-extender (Depends-on, configure.ac):
35918         Likewise.
35919         * modules/unictype/property-format-control (Depends-on, configure.ac):
35920         Likewise.
35921         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35922         Likewise.
35923         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35924         Likewise.
35925         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35926         Likewise.
35927         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35928         Likewise.
35929         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35930         Likewise.
35931         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35932         Likewise.
35933         * modules/unictype/property-id-start (Depends-on, configure.ac):
35934         Likewise.
35935         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35936         Likewise.
35937         * modules/unictype/property-ids-binary-operator (Depends-on,
35938         configure.ac): Likewise.
35939         * modules/unictype/property-ids-trinary-operator (Depends-on,
35940         configure.ac): Likewise.
35941         * modules/unictype/property-ignorable-control (Depends-on,
35942         configure.ac): Likewise.
35943         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35944         Likewise.
35945         * modules/unictype/property-join-control (Depends-on, configure.ac):
35946         Likewise.
35947         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35948         Likewise.
35949         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35950         Likewise.
35951         * modules/unictype/property-logical-order-exception (Depends-on,
35952         configure.ac): Likewise.
35953         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35954         Likewise.
35955         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35956         * modules/unictype/property-non-break (Depends-on, configure.ac):
35957         Likewise.
35958         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35959         Likewise.
35960         * modules/unictype/property-numeric (Depends-on, configure.ac):
35961         Likewise.
35962         * modules/unictype/property-other-alphabetic (Depends-on,
35963         configure.ac): Likewise.
35964         * modules/unictype/property-other-default-ignorable-code-point
35965         (Depends-on, configure.ac): Likewise.
35966         * modules/unictype/property-other-grapheme-extend (Depends-on,
35967         configure.ac): Likewise.
35968         * modules/unictype/property-other-id-continue (Depends-on,
35969         configure.ac): Likewise.
35970         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35971         Likewise.
35972         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35973         Likewise.
35974         * modules/unictype/property-other-math (Depends-on, configure.ac):
35975         Likewise.
35976         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35977         Likewise.
35978         * modules/unictype/property-paired-punctuation (Depends-on,
35979         configure.ac): Likewise.
35980         * modules/unictype/property-paragraph-separator (Depends-on,
35981         configure.ac): Likewise.
35982         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35983         Likewise.
35984         * modules/unictype/property-pattern-white-space (Depends-on,
35985         configure.ac): Likewise.
35986         * modules/unictype/property-private-use (Depends-on, configure.ac):
35987         Likewise.
35988         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35989         Likewise.
35990         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35991         Likewise.
35992         * modules/unictype/property-radical (Depends-on, configure.ac):
35993         Likewise.
35994         * modules/unictype/property-sentence-terminal (Depends-on,
35995         configure.ac): Likewise.
35996         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35997         Likewise.
35998         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35999         * modules/unictype/property-terminal-punctuation (Depends-on,
36000         configure.ac): Likewise.
36001         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36002         Likewise.
36003         * modules/unictype/property-unassigned-code-value (Depends-on,
36004         configure.ac): Likewise.
36005         * modules/unictype/property-unified-ideograph (Depends-on,
36006         configure.ac): Likewise.
36007         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36008         Likewise.
36009         * modules/unictype/property-variation-selector (Depends-on,
36010         configure.ac): Likewise.
36011         * modules/unictype/property-white-space (Depends-on, configure.ac):
36012         Likewise.
36013         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36014         Likewise.
36015         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36016         Likewise.
36017         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36018         Likewise.
36019         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36020         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36021         Likewise.
36022
36023 2009-12-31  Bruno Haible  <bruno@clisp.org>
36024
36025         Remove unnecessary AC_C_INLINE invocation.
36026         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36027         since 2009-08-21.
36028
36029 2009-12-31  Jim Meyering  <meyering@redhat.com>
36030
36031         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36032         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36033         With this change, we can all remove the gpg_key_ID = ... definition
36034         from our respective cfg.mk files.
36035
36036         maint.mk: create announcement template in ~/, not in /tmp
36037         * top/maint.mk (emit_upload_commands): Adjust.
36038         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36039         Remove temporary file, .ci-msg.
36040
36041 2009-12-31  Eric Blake  <ebb9@byu.net>
36042
36043         link-warning: always build headers with link warnings
36044         * modules/arpa_inet (Makefile.am): Always build replacement
36045         header.
36046         * modules/ctype (Makefile.am): Likewise.
36047         * modules/dirent (Makefile.am): Likewise.
36048         * modules/inttypes (Makefile.am): Likewise.
36049         * modules/langinfo (Makefile.am): Likewise.
36050         * modules/locale (Makefile.am): Likewise.
36051         * modules/spawn (Makefile.am): Likewise.
36052         * modules/sys_file (Makefile.am): Likewise.
36053         * modules/sys_ioctl (Makefile.am): Likewise.
36054         * modules/sys_select (Makefile.am): Likewise.
36055         * modules/sys_socket (Makefile.am): Likewise.
36056         * modules/sys_times (Makefile.am): Likewise.
36057         * modules/sys_utsname (Makefile.am): Likewise.
36058         * modules/sys_wait (Makefile.am): Likewise.
36059         * modules/wchar (Makefile.am): Likewise.
36060         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36061         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36062         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36063         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36064         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36065         Likewise.
36066         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36067         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36068         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36069         Likewise.
36070         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36071         Likewise.
36072         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36073         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36074         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36075         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36076         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36077         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36078         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36079         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36080         (gl_WCHAR_H_DEFAULTS): Likewise.
36081
36082 2009-12-31  Eric Blake  <ebb9@byu.net>
36083
36084         signal, spawn: use link warnings
36085         * lib/signal.in.h (sigset_t): Make unconditional.
36086         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36087         (sigpending, sigprocmask, sigaction): Add link warnings.
36088         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36089         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36090         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36091         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36092         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36093         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36094         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36095         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36096         (posix_spawn_file_actions_destroy)
36097         (posix_spawn_file_actions_addopen)
36098         (posix_spawn_file_actions_addclose)
36099         (posix_spawn_file_actions_adddup2): Likewise.
36100         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36101         * tests/test-signal.c (main): Enhance test.
36102
36103         spawn: improve wrapper support
36104         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36105         (gl_SPAWN_H_DEFAULTS): New defaults.
36106         * modules/spawn (Makefile.am): Substitute them.
36107         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36108         Only declare if missing or broken.
36109
36110         sys_times, sys_utsname: use include_next
36111         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36112         header.
36113         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36114         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36115         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36116         * modules/sys_times (Depends-on): Add include_next.
36117         (Makefile.am): Substitute additional values.
36118         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36119         * lib/sys_times.in.h (includes): Include native header, if
36120         available.
36121         * lib/sys_utsname.in.h (includes): Likewise.
36122         * tests/test-sys_times.c (main): Enhance test.
36123
36124         fdutimensat: revert prior patch
36125         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36126         utimens.h.
36127         Reported by Bruno Haible.
36128
36129 2009-12-30  Eric Blake  <ebb9@byu.net>
36130
36131         sys_wait: drop link-warning dependency
36132         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36133         link-warning efforts.
36134         * lib/sys_wait.in.h: Likewise.
36135
36136         fdutimensat: remove bogus dependency
36137         * modules/fdutimensat (Depends-on): Drop inline.
36138
36139         unistd: fix typo
36140         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36141
36142 2009-12-30  Bruno Haible  <bruno@clisp.org>
36143
36144         Fix compilation error with Solaris cc.
36145         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36146         * lib/unicase/u16-is-invariant.c: Likewise.
36147         * lib/unicase/u32-is-invariant.c: Likewise.
36148         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36149
36150 2009-12-30  Bruno Haible  <bruno@clisp.org>
36151
36152         Fix test crash.
36153         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36154         locales.
36155         Reported by Simon Josefsson <simon@josefsson.org>.
36156
36157 2009-12-30  Bruno Haible  <bruno@clisp.org>
36158
36159         Fix compilation error on most platforms.
36160         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36161         Reported by Simon Josefsson <simon@josefsson.org>
36162         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36163
36164 2009-12-30  Eric Blake  <ebb9@byu.net>
36165
36166         futimens, utimensat: work around ntfs-3g bug
36167         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36168         a ctime bug is present, and expand workaround to cover ntfs-3g.
36169         * lib/utimens.c (fdutimens, lutimens): Likewise.
36170         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36171         (validate_timespec): Adjust return value.
36172         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36173         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36174         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36175
36176 2009-12-29  Eric Blake  <ebb9@byu.net>
36177
36178         link-warning: make usage consistent
36179         * modules/ctype (Depends-on): Add link-warning.
36180         (Makefile.am): Update rules accordingly.
36181         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36182         * modules/locale (Depends-on, Makefile.am): Likewise.
36183         * modules/sys_file (Makefile.am): Likewise.
36184         * modules/getopt-posix (Makefile.am): Delete unused link warning
36185         efforts.
36186         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36187         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36188         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36189         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36190
36191         stdio: remove unused variables
36192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36193         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36194         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36195
36196         tests: test more substitute headers
36197         * modules/ctype-tests: New file.
36198         * modules/dirent-tests: Likewise.
36199         * modules/spawn-tests: Likewise.
36200         * modules/sys_file-tests: Likewise.
36201         * modules/sys_ioctl-tests: Likewise.
36202         * modules/sys_wait-tests: Likewise.
36203         * tests/test-ctype.c: Likewise.
36204         * tests/test-dirent.c: Likewise.
36205         * tests/test-spawn.c: Likewise.
36206         * tests/test-sys_file.c: Likewise.
36207         * tests/test-sys_ioctl.c: Likewise.
36208         * tests/test-sys_wait.c: Likewise.
36209         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36210         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36211         whether or not flock is in use.
36212
36213         tests: remove License section from module
36214         * modules/arpa_inet-tests: Remove unneeded section.
36215         * modules/byteswap-tests: Likewise.
36216         * modules/ceilf-tests: Likewise.
36217         * modules/ceill-tests: Likewise.
36218         * modules/crypto/des-tests: Likewise.
36219         * modules/crypto/gc-arcfour-tests: Likewise.
36220         * modules/crypto/gc-arctwo-tests: Likewise.
36221         * modules/crypto/gc-des-tests: Likewise.
36222         * modules/crypto/gc-hmac-md5-tests: Likewise.
36223         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36224         * modules/crypto/gc-md2-tests: Likewise.
36225         * modules/crypto/gc-md4-tests: Likewise.
36226         * modules/crypto/gc-md5-tests: Likewise.
36227         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36228         * modules/crypto/gc-rijndael-tests: Likewise.
36229         * modules/crypto/gc-sha1-tests: Likewise.
36230         * modules/crypto/gc-tests: Likewise.
36231         * modules/crypto/md2-tests: Likewise.
36232         * modules/crypto/md4-tests: Likewise.
36233         * modules/fcntl-h-tests: Likewise.
36234         * modules/floorf-tests: Likewise.
36235         * modules/floorl-tests: Likewise.
36236         * modules/frexp-nolibm-tests: Likewise.
36237         * modules/frexp-tests: Likewise.
36238         * modules/frexpl-nolibm-tests: Likewise.
36239         * modules/frexpl-tests: Likewise.
36240         * modules/getaddrinfo-tests: Likewise.
36241         * modules/inttypes-tests: Likewise.
36242         * modules/isfinite-tests: Likewise.
36243         * modules/isinf-tests: Likewise.
36244         * modules/ldexpl-tests: Likewise.
36245         * modules/locale-tests: Likewise.
36246         * modules/math-tests: Likewise.
36247         * modules/netdb-tests: Likewise.
36248         * modules/netinet_in-tests: Likewise.
36249         * modules/printf-frexp-tests: Likewise.
36250         * modules/printf-frexpl-tests: Likewise.
36251         * modules/priv-set-tests: Likewise.
36252         * modules/random_r-tests: Likewise.
36253         * modules/round-tests: Likewise.
36254         * modules/roundf-tests: Likewise.
36255         * modules/roundl-tests: Likewise.
36256         * modules/search-tests: Likewise.
36257         * modules/select-tests: Likewise.
36258         * modules/signal-tests: Likewise.
36259         * modules/stdbool-tests: Likewise.
36260         * modules/stddef-tests: Likewise.
36261         * modules/stdint-tests: Likewise.
36262         * modules/stdio-tests: Likewise.
36263         * modules/stdlib-tests: Likewise.
36264         * modules/string-tests: Likewise.
36265         * modules/strings-tests: Likewise.
36266         * modules/sys_select-tests: Likewise.
36267         * modules/sys_socket-tests: Likewise.
36268         * modules/sys_stat-tests: Likewise.
36269         * modules/sys_time-tests: Likewise.
36270         * modules/sys_utsname-tests: Likewise.
36271         * modules/sysexits-tests: Likewise.
36272         * modules/time-tests: Likewise.
36273         * modules/trunc-tests: Likewise.
36274         * modules/truncf-tests: Likewise.
36275         * modules/truncl-tests: Likewise.
36276         * modules/tsearch-tests: Likewise.
36277         * modules/unistd-tests: Likewise.
36278         * modules/wchar-tests: Likewise.
36279         * modules/wctype-tests: Likewise.
36280
36281         tests: fix license on several tests
36282         * tests/test-des.c: Update to GPLv3+.
36283         * tests/test-flock.c: Likewise.
36284         * tests/test-fsync.c: Likewise.
36285         * tests/test-futimens.h: Likewise.
36286         * tests/test-gc-arcfour.c: Likewise.
36287         * tests/test-gc-arctwo.c: Likewise.
36288         * tests/test-gc-des.c: Likewise.
36289         * tests/test-gc-hmac-md5.c: Likewise.
36290         * tests/test-gc-hmac-sha1.c: Likewise.
36291         * tests/test-gc-md2.c: Likewise.
36292         * tests/test-gc-md4.c: Likewise.
36293         * tests/test-gc-md5.c: Likewise.
36294         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36295         * tests/test-gc-rijndael.c: Likewise.
36296         * tests/test-gc-sha1.c: Likewise.
36297         * tests/test-gc.c: Likewise.
36298         * tests/test-getcwd.c: Likewise.
36299         * tests/test-link.c: Likewise.
36300         * tests/test-link.h: Likewise.
36301         * tests/test-lutimens.h: Likewise.
36302         * tests/test-md2.c: Likewise.
36303         * tests/test-md4.c: Likewise.
36304         * tests/test-mkdir.h: Likewise.
36305         * tests/test-rename.c: Likewise.
36306         * tests/test-rename.h: Likewise.
36307         * tests/test-safe-alloc.c: Likewise.
36308         * tests/test-utimens-common.h: Likewise.
36309         * tests/test-utimens.h: Likewise.
36310
36311         maint: sync license texts
36312         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36313         * doc/gpl-3.0.texi: Revert copyright year update.
36314         * doc/lgpl-3.0.texi: Likewise.
36315
36316 2009-12-29  Jim Meyering  <meyering@redhat.com>
36317
36318         update nearly all FSF copyright year lists to include 2009
36319         The files named by the following are exempted:
36320             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36321               test -f "$dst" && { echo "$dst"; continue; }
36322               test -d "$dst" || continue
36323               echo "$dst"/$(basename "$src")
36324             done > exempt
36325             git ls-files tests/unictype >> exempt
36326         In the remaining files, convert to all-interval notation if
36327         - there is already at least one year interval like 2000-2003
36328         - the file is maintained by me
36329         - the file is in lib/uni*/, where that style already prevails
36330         Otherwise, use update-copyright's default.
36331
36332 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36333         and Eric Blake  <ebb9@byu.net>
36334
36335         tests: don't require debug system() to pass
36336         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36337         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36338         * tests/test-unlink.h (test_unlink_func): Likewise.
36339         * tests/test-fstatat.c (main): ...into callers.
36340         * tests/test-lstat.c (main): Likewise.
36341         * tests/test-rmdir.c (main): Likewise.
36342         * tests/test-unlink.c (main): Likewise.
36343         * tests/test-unlinkat.c (main): Likewise.
36344         * tests/test-areadlink-with-size.c (main): Don't require a
36345         debug-only system call to pass, aiding cross-testing to mingw.
36346         * tests/test-areadlink.c (main): Likewise.
36347         * tests/test-areadlinkat-with-size.c (main): Likewise.
36348         * tests/test-areadlinkat.c (main): Likewise.
36349         * tests/test-canonicalize-lgpl.c (main): Likewise.
36350         * tests/test-canonicalize.c (main): Likewise.
36351         * tests/test-chown.c (main): Likewise.
36352         * tests/test-fchownat.c (main): Likewise.
36353         * tests/test-lchown.c (main): Likewise.
36354         * tests/test-fdutimensat.c (main): Likewise.
36355         * tests/test-futimens.c (main): Likewise.
36356         * tests/test-link.c (main): Likewise.
36357         * tests/test-linkat.c (main): Likewise.
36358         * tests/test-mkdir.c (main): Likewise.
36359         * tests/test-mkdirat.c (main): Likewise.
36360         * tests/test-mkfifo.c (main): Likewise.
36361         * tests/test-mkfifoat.c (main): Likewise.
36362         * tests/test-mknod.c (main): Likewise.
36363         * tests/test-readlink.c (main): Likewise.
36364         * tests/test-remove.c (main): Likewise.
36365         * tests/test-rename.c (main): Likewise.
36366         * tests/test-renameat.c (main): Likewise.
36367         * tests/test-symlink.c (main): Likewise.
36368         * tests/test-symlinkat.c (main): Likewise.
36369         * tests/test-utimens.c (main): Likewise.
36370         * tests/test-utimensat.c (main): Likewise.
36371
36372 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36373
36374         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36375         on $(UNUSED_PARAMETER_H) to avoid build failure.
36376
36377 2009-12-28  Jim Meyering  <meyering@redhat.com>
36378
36379         update-copyright: you may specify a max. line length other than 72
36380         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36381
36382         maint: use consistent FSF copyright line syntax
36383         * lib/posixtm.c: Add missing comma in FSF copyright line.
36384         * lib/posixtm.h: Likewise.
36385         * lib/getugroups.c: Add missing ", Inc.".
36386
36387         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36388         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36389         FSF copyright line.  Remove trailing blanks.
36390
36391 2009-12-28  Eric Blake  <ebb9@byu.net>
36392
36393         test-dup2: reduce dependencies
36394         * modules/cloexec (Configure.ac): Set witness.
36395         * modules/dup2-tests (Depends-on): Drop cloexec.
36396         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36397         not present.
36398         Suggested by Bruno Haible.
36399
36400 2009-12-26  Bruno Haible  <bruno@clisp.org>
36401
36402         Remove an unneeded dependency.
36403         * modules/fseterr (Depends-on): Remove dup2.
36404
36405 2009-12-26  Eric Blake  <ebb9@byu.net>
36406
36407         tests: use macros.h in more places
36408         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36409         (ASSERT_STREAM): Provide default of stderr.
36410         * tests/test-dirent-safer.c: Include macros.h, using alternate
36411         stream for assertions.
36412         * tests/test-dup-safer.c: Likewise.
36413         * tests/test-freopen-safer.c: Likewise.
36414         * tests/test-getopt.c: Likewise.
36415         * tests/test-openat-safer.c: Likewise.
36416         * tests/test-pipe.c: Likewise.
36417         * tests/test-popen-safer.c: Likewise.
36418         * modules/dirent-safer-tests (Files): Include macros.h.
36419         * modules/unistd-safer-tests (Files): Likewise.
36420         * modules/freopen-safer-tests (Files): Likewise.
36421         * modules/getopt-posix-tests (Files): Likewise.
36422         * modules/openat-safer-tests (Files): Likewise.
36423         * modules/pipe-tests (Files): Likewise.
36424
36425 2009-12-26  Bruno Haible  <bruno@clisp.org>
36426
36427         javacomp: Portability fix.
36428         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36429         that it also works on Solaris.
36430
36431 2009-12-26  Bruno Haible  <bruno@clisp.org>
36432
36433         localename: Fix storage allocation of gl_locale_name_thread's result.
36434         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36435         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36436         all platforms that have 'uselocale'.
36437         (gl_locale_name_thread_unsafe): New function, extracted from
36438         gl_locale_name_thread.
36439         (gl_locale_name_thread): Call struniq on all platforms that have
36440         'uselocale'.
36441         * tests/test-localename.c (test_locale_name_thread): Check that the
36442         resulting strings are permanently allocated.
36443         * modules/localename-tests (Depends-on): Add strdup.
36444
36445 2009-12-26  Bruno Haible  <bruno@clisp.org>
36446
36447         * tests/test-localename.c (categories): Fill in the strings.
36448
36449 2009-12-26  Jim Meyering  <meyering@redhat.com>
36450
36451         isdir: complete the removal of m4/isdir.m4
36452         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36453
36454         isdir: clean up, since at least grep still uses it
36455         * lib/isdir.c: Include "isdir.h".
36456         (S_ISDIR): Remove now-unneeded definition.
36457         * modules/isdir (Files): Add lib/isdir.h.
36458         * lib/isdir.h: New file, with declaration.
36459         * m4/isdir.m4: Remove file -- unneeded.
36460
36461 2009-12-25  Bruno Haible  <bruno@clisp.org>
36462
36463         selinux-h: Make generated .h files standalone.
36464         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36465         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36466         * lib/se-selinux.in.h: Likewise.
36467         * modules/selinux-h (Depends-on): Add unused-parameter.
36468         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36469         selinux/selinux.h and selinux/context.h.
36470         Suggested by Eric Blake.
36471
36472 2009-12-25  Bruno Haible  <bruno@clisp.org>
36473
36474         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36475         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36476         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36477         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36478         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36479
36480 2009-12-24  Bruno Haible  <bruno@clisp.org>
36481
36482         openat: Fix warning.
36483         * lib/openat-proc.c: Include <unistd.h>.
36484
36485 2009-12-24  Bruno Haible  <bruno@clisp.org>
36486
36487         New module 'unused-parameter'.
36488         * build-aux/unused-parameter.h: New file, extracted from earlier
36489         gnulib-common.m4.
36490         * modules/unused-parameter: New file.
36491         * lib/unistr.h: Include unused-parameter.h.
36492         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36493         _GL_UNUSED.
36494         * modules/unistr/base (Depends-on): Add unused-parameter.
36495
36496 2009-12-24  Bruno Haible  <bruno@clisp.org>
36497
36498         Add missing dependencies to 'extensions' module.
36499         * m4/extensions.m4: Add comment.
36500         * modules/accept4 (Depends-on): Add extensions.
36501         * modules/dup3 (Depends-on): Likewise.
36502         * modules/fcntl (Depends-on): Likewise.
36503         * modules/futimens (Depends-on): Likewise.
36504         * modules/mknod (Depends-on): Likewise.
36505         * modules/pipe2 (Depends-on): Likewise.
36506         * modules/stat-time (Depends-on): Likewise.
36507         * modules/strcasestr-simple (Depends-on): Likewise.
36508         * modules/strsignal (Depends-on): Likewise.
36509         * modules/utimensat (Depends-on): Likewise.
36510         * modules/localcharset (Depends-on): Likewise. Needed because of
36511         gl_FCNTL_O_FLAGS.
36512         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36513         AC_TYPE_MBSTATE_T.
36514         * modules/wcsnrtombs (Depends-on): Likewise.
36515         * modules/wcsrtombs (Depends-on): Likewise.
36516
36517 2009-12-24  Bruno Haible  <bruno@clisp.org>
36518
36519         binary-io: Avoid gcc warning due to SET_BINARY.
36520         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36521         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36522
36523 2009-12-24  Bruno Haible  <bruno@clisp.org>
36524
36525         Avoid future namespace pollution on glibc systems.
36526         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36527         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36528         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36529         glibc systems.
36530
36531 2009-12-24  Bruno Haible  <bruno@clisp.org>
36532
36533         Refactor common macros used in tests.
36534         * tests/macros.h: New file.
36535         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36536         and/or <stdlib.h>, if appropriate.
36537         (ASSERT, SIZEOF): Remove macros.
36538         * tests/test-areadlink-with-size.c: Likewise.
36539         * tests/test-areadlinkat.c: Likewise.
36540         * tests/test-areadlinkat-with-size.c: Likewise.
36541         * tests/test-argmatch.c: Likewise.
36542         * tests/test-argv-iter.c: Likewise.
36543         * tests/test-array-mergesort.c: Likewise.
36544         * tests/test-array_list.c: Likewise.
36545         * tests/test-array_oset.c: Likewise.
36546         * tests/test-avltree_list.c: Likewise.
36547         * tests/test-avltree_oset.c: Likewise.
36548         * tests/test-avltreehash_list.c: Likewise.
36549         * tests/test-base64.c: Likewise.
36550         * tests/test-binary-io.c: Likewise.
36551         * tests/test-bitrotate.c: Likewise.
36552         * tests/test-btowc.c: Likewise.
36553         * tests/test-byteswap.c: Likewise.
36554         * tests/test-c-ctype.c: Likewise.
36555         * tests/test-c-stack.c: Likewise.
36556         * tests/test-c-strcasecmp.c: Likewise.
36557         * tests/test-c-strcasestr.c: Likewise.
36558         * tests/test-c-strncasecmp.c: Likewise.
36559         * tests/test-c-strstr.c: Likewise.
36560         * tests/test-canonicalize-lgpl.c: Likewise.
36561         * tests/test-canonicalize.c: Likewise.
36562         * tests/test-carray_list.c: Likewise.
36563         * tests/test-ceilf1.c: Likewise.
36564         * tests/test-ceilf2.c: Likewise.
36565         * tests/test-ceill.c: Likewise.
36566         * tests/test-chown.c: Likewise.
36567         * tests/test-cloexec.c: Likewise.
36568         * tests/test-copy-acl.c: Likewise.
36569         * tests/test-copy-file.c: Likewise.
36570         * tests/test-count-one-bits.c: Likewise.
36571         * tests/test-dprintf-posix.c: Likewise.
36572         * tests/test-dup2.c: Likewise.
36573         * tests/test-dup3.c: Likewise.
36574         * tests/test-duplocale.c: Likewise.
36575         * tests/test-fbufmode.c: Likewise.
36576         * tests/test-fchdir.c: Likewise.
36577         * tests/test-fchownat.c: Likewise.
36578         * tests/test-fcntl-safer.c: Likewise.
36579         * tests/test-fcntl.c: Likewise.
36580         * tests/test-fdopendir.c: Likewise.
36581         * tests/test-fdutimensat.c: Likewise.
36582         * tests/test-fflush2.c: Likewise.
36583         * tests/test-file-has-acl.c: Likewise.
36584         * tests/test-filevercmp.c: Likewise.
36585         * tests/test-flock.c: Likewise.
36586         * tests/test-floorf1.c: Likewise.
36587         * tests/test-floorf2.c: Likewise.
36588         * tests/test-floorl.c: Likewise.
36589         * tests/test-fnmatch.c: Likewise.
36590         * tests/test-fopen.h: Likewise.
36591         * tests/test-fpending.c: Likewise.
36592         * tests/test-fprintf-posix.c: Likewise.
36593         * tests/test-fpurge.c: Likewise.
36594         * tests/test-freadable.c: Likewise.
36595         * tests/test-freadahead.c: Likewise.
36596         * tests/test-freading.c: Likewise.
36597         * tests/test-freadptr.c: Likewise.
36598         * tests/test-freadptr2.c: Likewise.
36599         * tests/test-freadseek.c: Likewise.
36600         * tests/test-freopen.c: Likewise.
36601         * tests/test-frexp.c: Likewise.
36602         * tests/test-frexpl.c: Likewise.
36603         * tests/test-fseek.c: Likewise.
36604         * tests/test-fseeko.c: Likewise.
36605         * tests/test-fstatat.c: Likewise.
36606         * tests/test-fstrcmp.c: Likewise.
36607         * tests/test-fsync.c: Likewise.
36608         * tests/test-ftell.c: Likewise.
36609         * tests/test-ftello.c: Likewise.
36610         * tests/test-func.c: Likewise.
36611         * tests/test-futimens.c: Likewise.
36612         * tests/test-fwritable.c: Likewise.
36613         * tests/test-fwriting.c: Likewise.
36614         * tests/test-getcwd.c: Likewise.
36615         * tests/test-getdate.c: Likewise.
36616         * tests/test-getdelim.c: Likewise.
36617         * tests/test-getdtablesize.c: Likewise.
36618         * tests/test-getgroups.c: Likewise.
36619         * tests/test-getline.c: Likewise.
36620         * tests/test-getndelim2.c: Likewise.
36621         * tests/test-glob.c: Likewise.
36622         * tests/test-hash.c: Likewise.
36623         * tests/test-i-ring.c: Likewise.
36624         * tests/test-iconv-utf.c: Likewise.
36625         * tests/test-iconv.c: Likewise.
36626         * tests/test-idpriv-drop.c: Likewise.
36627         * tests/test-idpriv-droptemp.c: Likewise.
36628         * tests/test-inet_ntop.c: Likewise.
36629         * tests/test-inet_pton.c: Likewise.
36630         * tests/test-isblank.c: Likewise.
36631         * tests/test-isfinite.c: Likewise.
36632         * tests/test-isinf.c: Likewise.
36633         * tests/test-isnan.c: Likewise.
36634         * tests/test-isnand.h: Likewise.
36635         * tests/test-isnanf.h: Likewise.
36636         * tests/test-isnanl.h: Likewise.
36637         * tests/test-lchown.c: Likewise.
36638         * tests/test-ldexpl.c: Likewise.
36639         * tests/test-link.c: Likewise.
36640         * tests/test-linkat.c: Likewise.
36641         * tests/test-linked_list.c: Likewise.
36642         * tests/test-linkedhash_list.c: Likewise.
36643         * tests/test-localename.c: Likewise.
36644         * tests/test-lseek.c: Likewise.
36645         * tests/test-lstat.c: Likewise.
36646         * tests/test-mbmemcasecmp.c: Likewise.
36647         * tests/test-mbmemcasecoll.c: Likewise.
36648         * tests/test-mbrtowc.c: Likewise.
36649         * tests/test-mbscasecmp.c: Likewise.
36650         * tests/test-mbscasestr1.c: Likewise.
36651         * tests/test-mbscasestr2.c: Likewise.
36652         * tests/test-mbscasestr3.c: Likewise.
36653         * tests/test-mbscasestr4.c: Likewise.
36654         * tests/test-mbschr.c: Likewise.
36655         * tests/test-mbscspn.c: Likewise.
36656         * tests/test-mbsinit.c: Likewise.
36657         * tests/test-mbsncasecmp.c: Likewise.
36658         * tests/test-mbsnrtowcs.c: Likewise.
36659         * tests/test-mbspbrk.c: Likewise.
36660         * tests/test-mbspcasecmp.c: Likewise.
36661         * tests/test-mbsrchr.c: Likewise.
36662         * tests/test-mbsrtowcs.c: Likewise.
36663         * tests/test-mbsspn.c: Likewise.
36664         * tests/test-mbsstr1.c: Likewise.
36665         * tests/test-mbsstr2.c: Likewise.
36666         * tests/test-mbsstr3.c: Likewise.
36667         * tests/test-memchr.c: Likewise.
36668         * tests/test-memchr2.c: Likewise.
36669         * tests/test-memcmp.c: Likewise.
36670         * tests/test-memmem.c: Likewise.
36671         * tests/test-memrchr.c: Likewise.
36672         * tests/test-mkdir.c: Likewise.
36673         * tests/test-mkdirat.c: Likewise.
36674         * tests/test-mkfifo.c: Likewise.
36675         * tests/test-mkfifoat.c: Likewise.
36676         * tests/test-mknod.c: Likewise.
36677         * tests/test-nanosleep.c: Likewise.
36678         * tests/test-nl_langinfo.c: Likewise.
36679         * tests/test-obstack-printf.c: Likewise.
36680         * tests/test-open.c: Likewise.
36681         * tests/test-openat.c: Likewise.
36682         * tests/test-pipe-filter-gi1.c: Likewise.
36683         * tests/test-pipe-filter-gi2-main.c: Likewise.
36684         * tests/test-pipe-filter-ii1.c: Likewise.
36685         * tests/test-pipe-filter-ii2-main.c: Likewise.
36686         * tests/test-pipe2.c: Likewise.
36687         * tests/test-popen.h: Likewise.
36688         * tests/test-posixtm.c: Likewise.
36689         * tests/test-pread.c: Likewise.
36690         * tests/test-printf-frexp.c: Likewise.
36691         * tests/test-printf-frexpl.c: Likewise.
36692         * tests/test-printf-posix.c: Likewise.
36693         * tests/test-priv-set.c: Likewise.
36694         * tests/test-quotearg.c: Likewise.
36695         * tests/test-random_r.c: Likewise.
36696         * tests/test-rawmemchr.c: Likewise.
36697         * tests/test-rbtree_list.c: Likewise.
36698         * tests/test-rbtree_oset.c: Likewise.
36699         * tests/test-rbtreehash_list.c: Likewise.
36700         * tests/test-readlink.c: Likewise.
36701         * tests/test-remove.c: Likewise.
36702         * tests/test-rename.c: Likewise.
36703         * tests/test-renameat.c: Likewise.
36704         * tests/test-rmdir.c: Likewise.
36705         * tests/test-round1.c: Likewise.
36706         * tests/test-roundf1.c: Likewise.
36707         * tests/test-roundl.c: Likewise.
36708         * tests/test-safe-alloc.c: Likewise.
36709         * tests/test-sameacls.c: Likewise.
36710         * tests/test-set-mode-acl.c: Likewise.
36711         * tests/test-setenv.c: Likewise.
36712         * tests/test-sigaction.c: Likewise.
36713         * tests/test-signbit.c: Likewise.
36714         * tests/test-sleep.c: Likewise.
36715         * tests/test-snprintf-posix.c: Likewise.
36716         * tests/test-snprintf.c: Likewise.
36717         * tests/test-sprintf-posix.c: Likewise.
36718         * tests/test-stat-time.c: Likewise.
36719         * tests/test-stat.c: Likewise.
36720         * tests/test-strcasestr.c: Likewise.
36721         * tests/test-strchrnul.c: Likewise.
36722         * tests/test-strerror.c: Likewise.
36723         * tests/test-striconv.c: Likewise.
36724         * tests/test-striconveh.c: Likewise.
36725         * tests/test-striconveha.c: Likewise.
36726         * tests/test-strsignal.c: Likewise.
36727         * tests/test-strstr.c: Likewise.
36728         * tests/test-strtod.c: Likewise.
36729         * tests/test-strverscmp.c: Likewise.
36730         * tests/test-symlink.c: Likewise.
36731         * tests/test-symlinkat.c: Likewise.
36732         * tests/test-trunc1.c: Likewise.
36733         * tests/test-trunc2.c: Likewise.
36734         * tests/test-truncf1.c: Likewise.
36735         * tests/test-truncf2.c: Likewise.
36736         * tests/test-truncl.c: Likewise.
36737         * tests/test-uname.c: Likewise.
36738         * tests/test-unlink.c: Likewise.
36739         * tests/test-unlinkat.c: Likewise.
36740         * tests/test-unsetenv.c: Likewise.
36741         * tests/test-usleep.c: Likewise.
36742         * tests/test-utimens.c: Likewise.
36743         * tests/test-utimensat.c: Likewise.
36744         * tests/test-vasnprintf-posix.c: Likewise.
36745         * tests/test-vasnprintf-posix2.c: Likewise.
36746         * tests/test-vasnprintf.c: Likewise.
36747         * tests/test-vasprintf-posix.c: Likewise.
36748         * tests/test-vasprintf.c: Likewise.
36749         * tests/test-vdprintf-posix.c: Likewise.
36750         * tests/test-vfprintf-posix.c: Likewise.
36751         * tests/test-vprintf-posix.c: Likewise.
36752         * tests/test-vsnprintf-posix.c: Likewise.
36753         * tests/test-vsnprintf.c: Likewise.
36754         * tests/test-vsprintf-posix.c: Likewise.
36755         * tests/test-wcrtomb.c: Likewise.
36756         * tests/test-wcsnrtombs.c: Likewise.
36757         * tests/test-wcsrtombs.c: Likewise.
36758         * tests/test-wctype.c: Likewise.
36759         * tests/test-wcwidth.c: Likewise.
36760         * tests/test-xfprintf-posix.c: Likewise.
36761         * tests/test-xmemdup0.c: Likewise.
36762         * tests/test-xprintf-posix.c: Likewise.
36763         * tests/test-xvasprintf.c: Likewise.
36764         * tests/unicase/test-locale-language.c: Likewise.
36765         * tests/unicase/test-mapping-part1.h: Likewise.
36766         * tests/unicase/test-predicate-part1.h: Likewise.
36767         * tests/unicase/test-u8-casecmp.c: Likewise.
36768         * tests/unicase/test-u8-casecoll.c: Likewise.
36769         * tests/unicase/test-u8-casefold.c: Likewise.
36770         * tests/unicase/test-u8-is-cased.c: Likewise.
36771         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36772         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36773         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36774         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36775         * tests/unicase/test-u8-tolower.c: Likewise.
36776         * tests/unicase/test-u8-totitle.c: Likewise.
36777         * tests/unicase/test-u8-toupper.c: Likewise.
36778         * tests/unicase/test-u16-casecmp.c: Likewise.
36779         * tests/unicase/test-u16-casecoll.c: Likewise.
36780         * tests/unicase/test-u16-casefold.c: Likewise.
36781         * tests/unicase/test-u16-is-cased.c: Likewise.
36782         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36783         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36784         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36785         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36786         * tests/unicase/test-u16-tolower.c: Likewise.
36787         * tests/unicase/test-u16-totitle.c: Likewise.
36788         * tests/unicase/test-u16-toupper.c: Likewise.
36789         * tests/unicase/test-u32-casecmp.c: Likewise.
36790         * tests/unicase/test-u32-casecoll.c: Likewise.
36791         * tests/unicase/test-u32-casefold.c: Likewise.
36792         * tests/unicase/test-u32-is-cased.c: Likewise.
36793         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36794         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36795         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36796         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36797         * tests/unicase/test-u32-tolower.c: Likewise.
36798         * tests/unicase/test-u32-totitle.c: Likewise.
36799         * tests/unicase/test-u32-toupper.c: Likewise.
36800         * tests/unicase/test-ulc-casecmp.c: Likewise.
36801         * tests/unicase/test-ulc-casecoll.c: Likewise.
36802         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36803         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36804         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36805         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36806         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36807         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36808         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36809         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36810         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36811         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36812         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36813         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36814         * tests/unictype/test-bidi_byname.c: Likewise.
36815         * tests/unictype/test-bidi_name.c: Likewise.
36816         * tests/unictype/test-bidi_of.c: Likewise.
36817         * tests/unictype/test-bidi_test.c: Likewise.
36818         * tests/unictype/test-block_list.c: Likewise.
36819         * tests/unictype/test-block_of.c: Likewise.
36820         * tests/unictype/test-block_test.c: Likewise.
36821         * tests/unictype/test-categ_and.c: Likewise.
36822         * tests/unictype/test-categ_and_not.c: Likewise.
36823         * tests/unictype/test-categ_byname.c: Likewise.
36824         * tests/unictype/test-categ_name.c: Likewise.
36825         * tests/unictype/test-categ_none.c: Likewise.
36826         * tests/unictype/test-categ_of.c: Likewise.
36827         * tests/unictype/test-categ_or.c: Likewise.
36828         * tests/unictype/test-categ_test_withtable.c: Likewise.
36829         * tests/unictype/test-combining.c: Likewise.
36830         * tests/unictype/test-decdigit.c: Likewise.
36831         * tests/unictype/test-digit.c: Likewise.
36832         * tests/unictype/test-mirror.c: Likewise.
36833         * tests/unictype/test-numeric.c: Likewise.
36834         * tests/unictype/test-pr_byname.c: Likewise.
36835         * tests/unictype/test-pr_test.c: Likewise.
36836         * tests/unictype/test-predicate-part1.h: Likewise.
36837         * tests/unictype/test-scripts.c: Likewise.
36838         * tests/unictype/test-sy_c_ident.c: Likewise.
36839         * tests/unictype/test-sy_java_ident.c: Likewise.
36840         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36841         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36842         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36843         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36844         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36845         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36846         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36847         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36848         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36849         * tests/uninorm/test-compat-decomposition.c: Likewise.
36850         * tests/uninorm/test-composition.c: Likewise.
36851         * tests/uninorm/test-decomposing-form.c: Likewise.
36852         * tests/uninorm/test-decomposition.c: Likewise.
36853         * tests/uninorm/test-u8-nfc.c: Likewise.
36854         * tests/uninorm/test-u8-nfd.c: Likewise.
36855         * tests/uninorm/test-u8-nfkc.c: Likewise.
36856         * tests/uninorm/test-u8-nfkd.c: Likewise.
36857         * tests/uninorm/test-u8-normcmp.c: Likewise.
36858         * tests/uninorm/test-u8-normcoll.c: Likewise.
36859         * tests/uninorm/test-u16-nfc.c: Likewise.
36860         * tests/uninorm/test-u16-nfd.c: Likewise.
36861         * tests/uninorm/test-u16-nfkc.c: Likewise.
36862         * tests/uninorm/test-u16-nfkd.c: Likewise.
36863         * tests/uninorm/test-u16-normcmp.c: Likewise.
36864         * tests/uninorm/test-u16-normcoll.c: Likewise.
36865         * tests/uninorm/test-u32-nfc.c: Likewise.
36866         * tests/uninorm/test-u32-nfd.c: Likewise.
36867         * tests/uninorm/test-u32-nfkc.c: Likewise.
36868         * tests/uninorm/test-u32-nfkd.c: Likewise.
36869         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36870         * tests/uninorm/test-u32-normcmp.c: Likewise.
36871         * tests/uninorm/test-u32-normcoll.c: Likewise.
36872         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36873         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36874         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36875         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36876         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36877         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36878         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36879         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36880         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36881         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36882         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36883         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36884         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36885         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36886         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36887         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36888         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36889         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36890         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36891         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36892         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36893         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36894         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36895         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36896         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36897         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36898         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36899         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36900         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36901         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36902         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36903         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36904         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36905         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36906         * tests/uniwidth/test-u8-width.c: Likewise.
36907         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36908         * tests/uniwidth/test-u16-width.c: Likewise.
36909         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36910         * tests/uniwidth/test-u32-width.c: Likewise.
36911         * tests/uniwidth/test-uc_width.c: Likewise.
36912         * tests/uniwidth/test-uc_width2.c: Likewise.
36913         * modules/acl-tests (Files): Add tests/macros.h.
36914         * modules/areadlink-tests (Files): Likewise.
36915         * modules/areadlink-with-size-tests (Files): Likewise.
36916         * modules/areadlinkat-tests (Files): Likewise.
36917         * modules/areadlinkat-with-size-tests (Files): Likewise.
36918         * modules/argmatch-tests (Files): Likewise.
36919         * modules/argv-iter-tests (Files): Likewise.
36920         * modules/array-list-tests (Files): Likewise.
36921         * modules/array-mergesort-tests (Files): Likewise.
36922         * modules/array-oset-tests (Files): Likewise.
36923         * modules/avltree-list-tests (Files): Likewise.
36924         * modules/avltree-oset-tests (Files): Likewise.
36925         * modules/avltreehash-list-tests (Files): Likewise.
36926         * modules/base64-tests (Files): Likewise.
36927         * modules/binary-io-tests (Files): Likewise.
36928         * modules/bitrotate-tests (Files): Likewise.
36929         * modules/btowc-tests (Files): Likewise.
36930         * modules/byteswap-tests (Files): Likewise.
36931         * modules/c-ctype-tests (Files): Likewise.
36932         * modules/c-stack-tests (Files): Likewise.
36933         * modules/c-strcase-tests (Files): Likewise.
36934         * modules/c-strcasestr-tests (Files): Likewise.
36935         * modules/c-strstr-tests (Files): Likewise.
36936         * modules/canonicalize-lgpl-tests (Files): Likewise.
36937         * modules/canonicalize-tests (Files): Likewise.
36938         * modules/carray-list-tests (Files): Likewise.
36939         * modules/ceilf-tests (Files): Likewise.
36940         * modules/ceill-tests (Files): Likewise.
36941         * modules/chown-tests (Files): Likewise.
36942         * modules/cloexec-tests (Files): Likewise.
36943         * modules/copy-file-tests (Files): Likewise.
36944         * modules/count-one-bits-tests (Files): Likewise.
36945         * modules/dprintf-posix-tests (Files): Likewise.
36946         * modules/dup2-tests (Files): Likewise.
36947         * modules/dup3-tests (Files): Likewise.
36948         * modules/duplocale-tests (Files): Likewise.
36949         * modules/fbufmode-tests (Files): Likewise.
36950         * modules/fchdir-tests (Files): Likewise.
36951         * modules/fcntl-safer-tests (Files): Likewise.
36952         * modules/fcntl-tests (Files): Likewise.
36953         * modules/fdopendir-tests (Files): Likewise.
36954         * modules/fdutimensat-tests (Files): Likewise.
36955         * modules/fflush-tests (Files): Likewise.
36956         * modules/filevercmp-tests (Files): Likewise.
36957         * modules/flock-tests (Files): Likewise.
36958         * modules/floorf-tests (Files): Likewise.
36959         * modules/floorl-tests (Files): Likewise.
36960         * modules/fnmatch-tests (Files): Likewise.
36961         * modules/fopen-safer-tests (Files): Likewise.
36962         * modules/fopen-tests (Files): Likewise.
36963         * modules/fpending-tests (Files): Likewise.
36964         * modules/fprintf-posix-tests (Files): Likewise.
36965         * modules/fpurge-tests (Files): Likewise.
36966         * modules/freadable-tests (Files): Likewise.
36967         * modules/freadahead-tests (Files): Likewise.
36968         * modules/freading-tests (Files): Likewise.
36969         * modules/freadptr-tests (Files): Likewise.
36970         * modules/freadseek-tests (Files): Likewise.
36971         * modules/freopen-tests (Files): Likewise.
36972         * modules/frexp-nolibm-tests (Files): Likewise.
36973         * modules/frexp-tests (Files): Likewise.
36974         * modules/frexpl-nolibm-tests (Files): Likewise.
36975         * modules/frexpl-tests (Files): Likewise.
36976         * modules/fseek-tests (Files): Likewise.
36977         * modules/fseeko-tests (Files): Likewise.
36978         * modules/fstrcmp-tests (Files): Likewise.
36979         * modules/fsync-tests (Files): Likewise.
36980         * modules/ftell-tests (Files): Likewise.
36981         * modules/ftello-tests (Files): Likewise.
36982         * modules/func-tests (Files): Likewise.
36983         * modules/futimens-tests (Files): Likewise.
36984         * modules/fwritable-tests (Files): Likewise.
36985         * modules/fwriting-tests (Files): Likewise.
36986         * modules/getcwd-tests (Files): Likewise.
36987         * modules/getdate-tests (Files): Likewise.
36988         * modules/getdelim-tests (Files): Likewise.
36989         * modules/getdtablesize-tests (Files): Likewise.
36990         * modules/getgroups-tests (Files): Likewise.
36991         * modules/getline-tests (Files): Likewise.
36992         * modules/getndelim2-tests (Files): Likewise.
36993         * modules/glob-tests (Files): Likewise.
36994         * modules/hash-tests (Files): Likewise.
36995         * modules/i-ring-tests (Files): Likewise.
36996         * modules/iconv-tests (Files): Likewise.
36997         * modules/iconv_open-utf-tests (Files): Likewise.
36998         * modules/idpriv-drop-tests (Files): Likewise.
36999         * modules/idpriv-droptemp-tests (Files): Likewise.
37000         * modules/inet_ntop-tests (Files): Likewise.
37001         * modules/inet_pton-tests (Files): Likewise.
37002         * modules/isblank-tests (Files): Likewise.
37003         * modules/isfinite-tests (Files): Likewise.
37004         * modules/isinf-tests (Files): Likewise.
37005         * modules/isnan-tests (Files): Likewise.
37006         * modules/isnand-nolibm-tests (Files): Likewise.
37007         * modules/isnand-tests (Files): Likewise.
37008         * modules/isnanf-nolibm-tests (Files): Likewise.
37009         * modules/isnanf-tests (Files): Likewise.
37010         * modules/isnanl-nolibm-tests (Files): Likewise.
37011         * modules/isnanl-tests (Files): Likewise.
37012         * modules/lchown-tests (Files): Likewise.
37013         * modules/ldexpl-tests (Files): Likewise.
37014         * modules/link-tests (Files): Likewise.
37015         * modules/linkat-tests (Files): Likewise.
37016         * modules/linked-list-tests (Files): Likewise.
37017         * modules/linkedhash-list-tests (Files): Likewise.
37018         * modules/localename-tests (Files): Likewise.
37019         * modules/lseek-tests (Files): Likewise.
37020         * modules/lstat-tests (Files): Likewise.
37021         * modules/mbmemcasecmp-tests (Files): Likewise.
37022         * modules/mbmemcasecoll-tests (Files): Likewise.
37023         * modules/mbrtowc-tests (Files): Likewise.
37024         * modules/mbscasecmp-tests (Files): Likewise.
37025         * modules/mbscasestr-tests (Files): Likewise.
37026         * modules/mbschr-tests (Files): Likewise.
37027         * modules/mbscspn-tests (Files): Likewise.
37028         * modules/mbsinit-tests (Files): Likewise.
37029         * modules/mbsncasecmp-tests (Files): Likewise.
37030         * modules/mbsnrtowcs-tests (Files): Likewise.
37031         * modules/mbspbrk-tests (Files): Likewise.
37032         * modules/mbspcasecmp-tests (Files): Likewise.
37033         * modules/mbsrchr-tests (Files): Likewise.
37034         * modules/mbsrtowcs-tests (Files): Likewise.
37035         * modules/mbsspn-tests (Files): Likewise.
37036         * modules/mbsstr-tests (Files): Likewise.
37037         * modules/memchr-tests (Files): Likewise.
37038         * modules/memchr2-tests (Files): Likewise.
37039         * modules/memcmp-tests (Files): Likewise.
37040         * modules/memmem-tests (Files): Likewise.
37041         * modules/memrchr-tests (Files): Likewise.
37042         * modules/mkdir-tests (Files): Likewise.
37043         * modules/mkfifo-tests (Files): Likewise.
37044         * modules/mkfifoat-tests (Files): Likewise.
37045         * modules/mknod-tests (Files): Likewise.
37046         * modules/nanosleep-tests (Files): Likewise.
37047         * modules/nl_langinfo-tests (Files): Likewise.
37048         * modules/obstack-printf-tests (Files): Likewise.
37049         * modules/open-tests (Files): Likewise.
37050         * modules/openat-tests (Files): Likewise.
37051         * modules/pipe-filter-gi-tests (Files): Likewise.
37052         * modules/pipe-filter-ii-tests (Files): Likewise.
37053         * modules/pipe2-tests (Files): Likewise.
37054         * modules/popen-safer-tests (Files): Likewise.
37055         * modules/popen-tests (Files): Likewise.
37056         * modules/posixtm-tests (Files): Likewise.
37057         * modules/pread-tests (Files): Likewise.
37058         * modules/printf-frexp-tests (Files): Likewise.
37059         * modules/printf-frexpl-tests (Files): Likewise.
37060         * modules/printf-posix-tests (Files): Likewise.
37061         * modules/priv-set-tests (Files): Likewise.
37062         * modules/quotearg-tests (Files): Likewise.
37063         * modules/random_r-tests (Files): Likewise.
37064         * modules/rawmemchr-tests (Files): Likewise.
37065         * modules/rbtree-list-tests (Files): Likewise.
37066         * modules/rbtree-oset-tests (Files): Likewise.
37067         * modules/rbtreehash-list-tests (Files): Likewise.
37068         * modules/readlink-tests (Files): Likewise.
37069         * modules/remove-tests (Files): Likewise.
37070         * modules/rename-tests (Files): Likewise.
37071         * modules/renameat-tests (Files): Likewise.
37072         * modules/rmdir-tests (Files): Likewise.
37073         * modules/round-tests (Files): Likewise.
37074         * modules/roundf-tests (Files): Likewise.
37075         * modules/roundl-tests (Files): Likewise.
37076         * modules/safe-alloc-tests (Files): Likewise.
37077         * modules/setenv-tests (Files): Likewise.
37078         * modules/sigaction-tests (Files): Likewise.
37079         * modules/signbit-tests (Files): Likewise.
37080         * modules/sleep-tests (Files): Likewise.
37081         * modules/snprintf-posix-tests (Files): Likewise.
37082         * modules/snprintf-tests (Files): Likewise.
37083         * modules/sprintf-posix-tests (Files): Likewise.
37084         * modules/stat-tests (Files): Likewise.
37085         * modules/stat-time-tests (Files): Likewise.
37086         * modules/strcasestr-tests (Files): Likewise.
37087         * modules/strchrnul-tests (Files): Likewise.
37088         * modules/strerror-tests (Files): Likewise.
37089         * modules/striconv-tests (Files): Likewise.
37090         * modules/striconveh-tests (Files): Likewise.
37091         * modules/striconveha-tests (Files): Likewise.
37092         * modules/strsignal-tests (Files): Likewise.
37093         * modules/strstr-tests (Files): Likewise.
37094         * modules/strtod-tests (Files): Likewise.
37095         * modules/strverscmp-tests (Files): Likewise.
37096         * modules/symlink-tests (Files): Likewise.
37097         * modules/symlinkat-tests (Files): Likewise.
37098         * modules/trunc-tests (Files): Likewise.
37099         * modules/truncf-tests (Files): Likewise.
37100         * modules/truncl-tests (Files): Likewise.
37101         * modules/uname-tests (Files): Likewise.
37102         * modules/unicase/cased-tests (Files): Likewise.
37103         * modules/unicase/ignorable-tests (Files): Likewise.
37104         * modules/unicase/locale-language-tests (Files): Likewise.
37105         * modules/unicase/tolower-tests (Files): Likewise.
37106         * modules/unicase/totitle-tests (Files): Likewise.
37107         * modules/unicase/toupper-tests (Files): Likewise.
37108         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37109         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37110         * modules/unicase/u8-casefold-tests (Files): Likewise.
37111         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37112         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37113         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37114         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37115         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37116         * modules/unicase/u8-tolower-tests (Files): Likewise.
37117         * modules/unicase/u8-totitle-tests (Files): Likewise.
37118         * modules/unicase/u8-toupper-tests (Files): Likewise.
37119         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37120         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37121         * modules/unicase/u16-casefold-tests (Files): Likewise.
37122         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37123         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37124         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37125         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37126         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37127         * modules/unicase/u16-tolower-tests (Files): Likewise.
37128         * modules/unicase/u16-totitle-tests (Files): Likewise.
37129         * modules/unicase/u16-toupper-tests (Files): Likewise.
37130         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37131         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37132         * modules/unicase/u32-casefold-tests (Files): Likewise.
37133         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37134         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37135         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37136         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37137         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37138         * modules/unicase/u32-tolower-tests (Files): Likewise.
37139         * modules/unicase/u32-totitle-tests (Files): Likewise.
37140         * modules/unicase/u32-toupper-tests (Files): Likewise.
37141         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37142         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37143         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37144         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37145         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37146         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37147         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37148         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37149         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37150         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37151         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37152         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37153         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37154         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37155         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37156         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37157         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37158         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37159         * modules/unictype/block-list-tests (Files): Likewise.
37160         * modules/unictype/block-of-tests (Files): Likewise.
37161         * modules/unictype/block-test-tests (Files): Likewise.
37162         * modules/unictype/category-C-tests (Files): Likewise.
37163         * modules/unictype/category-Cc-tests (Files): Likewise.
37164         * modules/unictype/category-Cf-tests (Files): Likewise.
37165         * modules/unictype/category-Cn-tests (Files): Likewise.
37166         * modules/unictype/category-Co-tests (Files): Likewise.
37167         * modules/unictype/category-Cs-tests (Files): Likewise.
37168         * modules/unictype/category-L-tests (Files): Likewise.
37169         * modules/unictype/category-Ll-tests (Files): Likewise.
37170         * modules/unictype/category-Lm-tests (Files): Likewise.
37171         * modules/unictype/category-Lo-tests (Files): Likewise.
37172         * modules/unictype/category-Lt-tests (Files): Likewise.
37173         * modules/unictype/category-Lu-tests (Files): Likewise.
37174         * modules/unictype/category-M-tests (Files): Likewise.
37175         * modules/unictype/category-Mc-tests (Files): Likewise.
37176         * modules/unictype/category-Me-tests (Files): Likewise.
37177         * modules/unictype/category-Mn-tests (Files): Likewise.
37178         * modules/unictype/category-N-tests (Files): Likewise.
37179         * modules/unictype/category-Nd-tests (Files): Likewise.
37180         * modules/unictype/category-Nl-tests (Files): Likewise.
37181         * modules/unictype/category-No-tests (Files): Likewise.
37182         * modules/unictype/category-P-tests (Files): Likewise.
37183         * modules/unictype/category-Pc-tests (Files): Likewise.
37184         * modules/unictype/category-Pd-tests (Files): Likewise.
37185         * modules/unictype/category-Pe-tests (Files): Likewise.
37186         * modules/unictype/category-Pf-tests (Files): Likewise.
37187         * modules/unictype/category-Pi-tests (Files): Likewise.
37188         * modules/unictype/category-Po-tests (Files): Likewise.
37189         * modules/unictype/category-Ps-tests (Files): Likewise.
37190         * modules/unictype/category-S-tests (Files): Likewise.
37191         * modules/unictype/category-Sc-tests (Files): Likewise.
37192         * modules/unictype/category-Sk-tests (Files): Likewise.
37193         * modules/unictype/category-Sm-tests (Files): Likewise.
37194         * modules/unictype/category-So-tests (Files): Likewise.
37195         * modules/unictype/category-Z-tests (Files): Likewise.
37196         * modules/unictype/category-Zl-tests (Files): Likewise.
37197         * modules/unictype/category-Zp-tests (Files): Likewise.
37198         * modules/unictype/category-Zs-tests (Files): Likewise.
37199         * modules/unictype/category-and-not-tests (Files): Likewise.
37200         * modules/unictype/category-and-tests (Files): Likewise.
37201         * modules/unictype/category-byname-tests (Files): Likewise.
37202         * modules/unictype/category-name-tests (Files): Likewise.
37203         * modules/unictype/category-none-tests (Files): Likewise.
37204         * modules/unictype/category-of-tests (Files): Likewise.
37205         * modules/unictype/category-or-tests (Files): Likewise.
37206         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37207         * modules/unictype/combining-class-tests (Files): Likewise.
37208         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37209         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37210         * modules/unictype/ctype-blank-tests (Files): Likewise.
37211         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37212         * modules/unictype/ctype-digit-tests (Files): Likewise.
37213         * modules/unictype/ctype-graph-tests (Files): Likewise.
37214         * modules/unictype/ctype-lower-tests (Files): Likewise.
37215         * modules/unictype/ctype-print-tests (Files): Likewise.
37216         * modules/unictype/ctype-punct-tests (Files): Likewise.
37217         * modules/unictype/ctype-space-tests (Files): Likewise.
37218         * modules/unictype/ctype-upper-tests (Files): Likewise.
37219         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37220         * modules/unictype/decimal-digit-tests (Files): Likewise.
37221         * modules/unictype/digit-tests (Files): Likewise.
37222         * modules/unictype/mirror-tests (Files): Likewise.
37223         * modules/unictype/numeric-tests (Files): Likewise.
37224         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37225         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37226         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37227         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37228         Likewise.
37229         * modules/unictype/property-bidi-block-separator-tests (Files):
37230         Likewise.
37231         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37232         Likewise.
37233         * modules/unictype/property-bidi-common-separator-tests (Files):
37234         Likewise.
37235         * modules/unictype/property-bidi-control-tests (Files): Likewise.
37236         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
37237         Likewise.
37238         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
37239         Likewise.
37240         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
37241         Likewise.
37242         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
37243         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
37244         Likewise.
37245         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
37246         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
37247         Likewise.
37248         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
37249         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
37250         * modules/unictype/property-bidi-segment-separator-tests (Files):
37251         Likewise.
37252         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
37253         * modules/unictype/property-byname-tests (Files): Likewise.
37254         * modules/unictype/property-combining-tests (Files): Likewise.
37255         * modules/unictype/property-composite-tests (Files): Likewise.
37256         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37257         * modules/unictype/property-dash-tests (Files): Likewise.
37258         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37259         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37260         Likewise.
37261         * modules/unictype/property-deprecated-tests (Files): Likewise.
37262         * modules/unictype/property-diacritic-tests (Files): Likewise.
37263         * modules/unictype/property-extender-tests (Files): Likewise.
37264         * modules/unictype/property-format-control-tests (Files): Likewise.
37265         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37266         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37267         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37268         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37269         * modules/unictype/property-hyphen-tests (Files): Likewise.
37270         * modules/unictype/property-id-continue-tests (Files): Likewise.
37271         * modules/unictype/property-id-start-tests (Files): Likewise.
37272         * modules/unictype/property-ideographic-tests (Files): Likewise.
37273         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37274         * modules/unictype/property-ids-trinary-operator-tests (Files):
37275         Likewise.
37276         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37277         * modules/unictype/property-iso-control-tests (Files): Likewise.
37278         * modules/unictype/property-join-control-tests (Files): Likewise.
37279         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37280         * modules/unictype/property-line-separator-tests (Files): Likewise.
37281         * modules/unictype/property-logical-order-exception-tests (Files):
37282         Likewise.
37283         * modules/unictype/property-lowercase-tests (Files): Likewise.
37284         * modules/unictype/property-math-tests (Files): Likewise.
37285         * modules/unictype/property-non-break-tests (Files): Likewise.
37286         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37287         * modules/unictype/property-numeric-tests (Files): Likewise.
37288         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37289         * modules/unictype/property-other-default-ignorable-code-point-tests
37290         (Files): Likewise.
37291         * modules/unictype/property-other-grapheme-extend-tests (Files):
37292         Likewise.
37293         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37294         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37295         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37296         * modules/unictype/property-other-math-tests (Files): Likewise.
37297         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37298         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37299         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37300         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37301         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37302         * modules/unictype/property-private-use-tests (Files): Likewise.
37303         * modules/unictype/property-punctuation-tests (Files): Likewise.
37304         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37305         * modules/unictype/property-radical-tests (Files): Likewise.
37306         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37307         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37308         * modules/unictype/property-space-tests (Files): Likewise.
37309         * modules/unictype/property-terminal-punctuation-tests (Files):
37310         Likewise.
37311         * modules/unictype/property-test-tests (Files): Likewise.
37312         * modules/unictype/property-titlecase-tests (Files): Likewise.
37313         * modules/unictype/property-unassigned-code-value-tests (Files):
37314         Likewise.
37315         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37316         * modules/unictype/property-uppercase-tests (Files): Likewise.
37317         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37318         * modules/unictype/property-white-space-tests (Files): Likewise.
37319         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37320         * modules/unictype/property-xid-start-tests (Files): Likewise.
37321         * modules/unictype/property-zero-width-tests (Files): Likewise.
37322         * modules/unictype/scripts-tests (Files): Likewise.
37323         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37324         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37325         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37326         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37327         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37328         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37329         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37330         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37331         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37332         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37333         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37334         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37335         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37336         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37337         * modules/uninorm/composition-tests (Files): Likewise.
37338         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37339         * modules/uninorm/decomposition-tests (Files): Likewise.
37340         * modules/uninorm/filter-tests (Files): Likewise.
37341         * modules/uninorm/nfc-tests (Files): Likewise.
37342         * modules/uninorm/nfd-tests (Files): Likewise.
37343         * modules/uninorm/nfkc-tests (Files): Likewise.
37344         * modules/uninorm/nfkd-tests (Files): Likewise.
37345         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37346         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37347         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37348         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37349         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37350         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37351         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37352         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37353         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37354         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37355         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37356         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37357         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37358         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37359         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37360         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37361         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37362         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37363         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37364         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37365         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37366         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37367         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37368         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37369         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37370         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37371         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37372         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37373         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37374         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37375         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37376         * modules/uniwidth/u8-width-tests (Files): Likewise.
37377         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37378         * modules/uniwidth/u16-width-tests (Files): Likewise.
37379         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37380         * modules/uniwidth/u32-width-tests (Files): Likewise.
37381         * modules/uniwidth/width-tests (Files): Likewise.
37382         * modules/unlink-tests (Files): Likewise.
37383         * modules/unsetenv-tests (Files): Likewise.
37384         * modules/usleep-tests (Files): Likewise.
37385         * modules/utimens-tests (Files): Likewise.
37386         * modules/utimensat-tests (Files): Likewise.
37387         * modules/vasnprintf-posix-tests (Files): Likewise.
37388         * modules/vasnprintf-tests (Files): Likewise.
37389         * modules/vasprintf-posix-tests (Files): Likewise.
37390         * modules/vasprintf-tests (Files): Likewise.
37391         * modules/vdprintf-posix-tests (Files): Likewise.
37392         * modules/vfprintf-posix-tests (Files): Likewise.
37393         * modules/vprintf-posix-tests (Files): Likewise.
37394         * modules/vsnprintf-posix-tests (Files): Likewise.
37395         * modules/vsnprintf-tests (Files): Likewise.
37396         * modules/vsprintf-posix-tests (Files): Likewise.
37397         * modules/wcrtomb-tests (Files): Likewise.
37398         * modules/wcsnrtombs-tests (Files): Likewise.
37399         * modules/wcsrtombs-tests (Files): Likewise.
37400         * modules/wctype-tests (Files): Likewise.
37401         * modules/wcwidth-tests (Files): Likewise.
37402         * modules/xmemdup0-tests (Files): Likewise.
37403         * modules/xprintf-posix-tests (Files): Likewise.
37404         * modules/xvasprintf-tests (Files): Likewise.
37405
37406 2009-12-24  Eric Blake  <ebb9@byu.net>
37407
37408         test-nanosleep: fix typo
37409         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37410         patch.
37411         Reported by Bruno Haible.
37412
37413 2009-12-24  Bruno Haible  <bruno@clisp.org>
37414
37415         Reduce namespace pollution on glibc systems.
37416         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37417         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37418         systems.
37419         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37420         <getopt.h> on glibc systems.
37421         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37422         systems.
37423         * lib/fcntl.c: Include <unistd.h> here instead.
37424
37425 2009-12-24  Bruno Haible  <bruno@clisp.org>
37426
37427         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37428
37429 2009-12-24  Eric Blake  <ebb9@byu.net>
37430
37431         tests: add signature checks
37432         * tests/signature.h (SIGNATURE_CHECK): New file.
37433         * modules/atexit-tests (Files): Use it.
37434         * modules/btowc-tests (Files): Likewise.
37435         * modules/canonicalize-lgpl-tests (Files): Likewise.
37436         * modules/ceilf-tests (Files): Likewise.
37437         * modules/ceill-tests (Files): Likewise.
37438         * modules/chown-tests (Files): Likewise.
37439         * modules/dprintf-posix-tests (Files): Likewise.
37440         * modules/dup2-tests (Files): Likewise.
37441         * modules/dup3-tests (Files): Likewise.
37442         * modules/duplocale-tests (Files): Likewise.
37443         * modules/fchdir-tests (Files): Likewise.
37444         * modules/fcntl-tests (Files): Likewise.
37445         * modules/fdopendir-tests (Files): Likewise.
37446         * modules/fflush-tests (Files): Likewise.
37447         * modules/flock-tests (Files): Likewise.
37448         * modules/floorf-tests (Files): Likewise.
37449         * modules/floorl-tests (Files): Likewise.
37450         * modules/fnmatch-tests (Files): Likewise.
37451         * modules/fopen-tests (Files): Likewise.
37452         * modules/fprintf-posix-tests (Files): Likewise.
37453         * modules/freopen-tests (Files): Likewise.
37454         * modules/frexp-nolibm-tests (Files): Likewise.
37455         * modules/frexp-tests (Files): Likewise.
37456         * modules/frexpl-nolibm-tests (Files): Likewise.
37457         * modules/frexpl-tests (Files): Likewise.
37458         * modules/fseek-tests (Files): Likewise.
37459         * modules/fseeko-tests (Files): Likewise.
37460         * modules/fsync-tests (Files): Likewise.
37461         * modules/ftell-tests (Files): Likewise.
37462         * modules/ftello-tests (Files): Likewise.
37463         * modules/futimens-tests (Files): Likewise.
37464         * modules/getaddrinfo-tests (Files): Likewise.
37465         * modules/getcwd-tests (Files): Likewise.
37466         * modules/getdelim-tests (Files): Likewise.
37467         * modules/getdtablesize-tests (Files): Likewise.
37468         * modules/getgroups-tests (Files): Likewise.
37469         * modules/gethostname-tests (Files): Likewise.
37470         * modules/getline-tests (Files): Likewise.
37471         * modules/getopt-posix-tests (Files): Likewise.
37472         * modules/gettimeofday-tests (Files): Likewise.
37473         * modules/glob-tests (Files): Likewise.
37474         * modules/iconv-tests (Files): Likewise.
37475         * modules/inet_ntop-tests (Files): Likewise.
37476         * modules/inet_pton-tests (Files): Likewise.
37477         * modules/isblank-tests (Files): Likewise.
37478         * modules/lchown-tests (Files): Likewise.
37479         * modules/ldexpl-tests (Files): Likewise.
37480         * modules/link-tests (Files): Likewise.
37481         * modules/linkat-tests (Files): Likewise.
37482         * modules/lseek-tests (Files): Likewise.
37483         * modules/lstat-tests (Files): Likewise.
37484         * modules/mbrtowc-tests (Files): Likewise.
37485         * modules/mbsinit-tests (Files): Likewise.
37486         * modules/mbsnrtowcs-tests (Files): Likewise.
37487         * modules/mbsrtowcs-tests (Files): Likewise.
37488         * modules/memchr-tests (Files): Likewise.
37489         * modules/memcmp-tests (Files): Likewise.
37490         * modules/memmem-tests (Files): Likewise.
37491         * modules/memrchr-tests (Files): Likewise.
37492         * modules/mkdir-tests (Files): Likewise.
37493         * modules/mkfifo-tests (Files): Likewise.
37494         * modules/mkfifoat-tests (Files): Likewise.
37495         * modules/mknod-tests (Files): Likewise.
37496         * modules/nanosleep-tests (Files): Likewise.
37497         * modules/nl_langinfo-tests (Files): Likewise.
37498         * modules/obstack-printf-tests (Files): Likewise.
37499         * modules/open-tests (Files): Likewise.
37500         * modules/openat-tests (Files): Likewise.
37501         * modules/perror-tests (Files): Likewise.
37502         * modules/pipe2-tests (Files): Likewise.
37503         * modules/poll-tests (Files): Likewise.
37504         * modules/popen-tests (Files): Likewise.
37505         * modules/posix_spawn-tests (Files): Likewise.
37506         * modules/posix_spawnp-tests (Files): Likewise.
37507         * modules/pread-tests (Files): Likewise.
37508         * modules/printf-posix-tests (Files): Likewise.
37509         * modules/pty-tests (Files): Likewise.
37510         * modules/random_r-tests (Files): Likewise.
37511         * modules/rawmemchr-tests (Files): Likewise.
37512         * modules/readlink-tests (Files): Likewise.
37513         * modules/remove-tests (Files): Likewise.
37514         * modules/rename-tests (Files): Likewise.
37515         * modules/renameat-tests (Files): Likewise.
37516         * modules/rmdir-tests (Files): Likewise.
37517         * modules/round-tests (Files): Likewise.
37518         * modules/roundf-tests (Files): Likewise.
37519         * modules/roundl-tests (Files): Likewise.
37520         * modules/select-tests (Files): Likewise.
37521         * modules/setenv-tests (Files): Likewise.
37522         * modules/sigaction-tests (Files): Likewise.
37523         * modules/sleep-tests (Files): Likewise.
37524         * modules/snprintf-posix-tests (Files): Likewise.
37525         * modules/snprintf-tests (Files): Likewise.
37526         * modules/sprintf-posix-tests (Files): Likewise.
37527         * modules/stat-tests (Files): Likewise.
37528         * modules/strcasestr-tests (Files): Likewise.
37529         * modules/strchrnul-tests (Files): Likewise.
37530         * modules/strerror-tests (Files): Likewise.
37531         * modules/strsignal-tests (Files): Likewise.
37532         * modules/strstr-tests (Files): Likewise.
37533         * modules/strtod-tests (Files): Likewise.
37534         * modules/strverscmp-tests (Files): Likewise.
37535         * modules/symlink-tests (Files): Likewise.
37536         * modules/symlinkat-tests (Files): Likewise.
37537         * modules/times-tests (Files): Likewise.
37538         * modules/trunc-tests (Files): Likewise.
37539         * modules/truncf-tests (Files): Likewise.
37540         * modules/truncl-tests (Files): Likewise.
37541         * modules/tsearch-tests (Files): Likewise.
37542         * modules/uname-tests (Files): Likewise.
37543         * modules/unlink-tests (Files): Likewise.
37544         * modules/unsetenv-tests (Files): Likewise.
37545         * modules/usleep-tests (Files): Likewise.
37546         * modules/utimensat-tests (Files): Likewise.
37547         * modules/vasprintf-tests (Files): Likewise.
37548         * modules/vdprintf-posix-tests (Files): Likewise.
37549         * modules/vfprintf-posix-tests (Files): Likewise.
37550         * modules/vprintf-posix-tests (Files): Likewise.
37551         * modules/vsnprintf-posix-tests (Files): Likewise.
37552         * modules/vsnprintf-tests (Files): Likewise.
37553         * modules/vsprintf-posix-tests (Files): Likewise.
37554         * modules/wcrtomb-tests (Files): Likewise.
37555         * modules/wcsnrtombs-tests (Files): Likewise.
37556         * modules/wcsrtombs-tests (Files): Likewise.
37557         * modules/wcwidth-tests (Files): Likewise.
37558         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37559         * tests/test-isinf.c (isinf): Likewise.
37560         * tests/test-isnan.c (isnan): Likewise.
37561         * tests/test-signbit.c (signbit): Likewise.
37562         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37563         declaration, either as macro or with correct signature.
37564         (select): Ensure function under test is declared with correct
37565         signature in correct header.
37566         * tests/test-atexit.c (atexit): Likewise.
37567         * tests/test-btowc.c (btowc): Likewise.
37568         * tests/test-canonicalize-lgpl.c (realpath)
37569         (canonicalize_file_name): Likewise.
37570         * tests/test-ceilf1.c (ceilf): Likewise.
37571         * tests/test-ceill.c (ceill): Likewise.
37572         * tests/test-chown.c (chown): Likewise.
37573         * tests/test-dprintf-posix.c (dprintf): Likewise.
37574         * tests/test-dup2.c (dup2): Likewise.
37575         * tests/test-dup3.c (dup3): Likewise.
37576         * tests/test-duplocale.c (duplocale): Likewise.
37577         * tests/test-fchdir.c (fchdir): Likewise.
37578         * tests/test-fchownat.c (fchownat): Likewise.
37579         * tests/test-fcntl.c (fcntl): Likewise.
37580         * tests/test-fdopendir.c (fdopendir): Likewise.
37581         * tests/test-fflush.c (fflush): Likewise.
37582         * tests/test-flock.c (flock): Likewise.
37583         * tests/test-floorf1.c (floorf): Likewise.
37584         * tests/test-floorl.c (floorl): Likewise.
37585         * tests/test-fnmatch.c (fnmatch): Likewise.
37586         * tests/test-fopen.c (fopen): Likewise.
37587         * tests/test-fprintf-posix.c (fprintf): Likewise.
37588         * tests/test-freopen.c (freopen): Likewise.
37589         * tests/test-frexp.c (frexp): Likewise.
37590         * tests/test-frexpl.c (frexpl): Likewise.
37591         * tests/test-fseek.c (fseek): Likewise.
37592         * tests/test-fseeko.c (fseeko): Likewise.
37593         * tests/test-fstatat.c (fstatat): Likewise.
37594         * tests/test-fsync.c (fsync): Likewise.
37595         * tests/test-ftell.c (ftell): Likewise.
37596         * tests/test-ftello.c (ftello): Likewise.
37597         * tests/test-futimens.c (futimens): Likewise.
37598         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
37599         (gai_strerror): Likewise.
37600         * tests/test-getcwd.c (getcwd): Likewise.
37601         * tests/test-getdelim.c (getdelim): Likewise.
37602         * tests/test-getdtablesize.c (getdtablesize): Likewise.
37603         * tests/test-getgroups.c (getgroups): Likewise.
37604         * tests/test-gethostname.c (gethostname): Likewise.
37605         * tests/test-getline.c (getline): Likewise.
37606         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
37607         Likewise.
37608         * tests/test-gettimeofday.c (gettimeofday): Likewise.
37609         * tests/test-glob.c (glob, globfree): Likewise.
37610         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
37611         * tests/test-inet_ntop.c (inet_ntop): Likewise.
37612         * tests/test-inet_pton.c (inet_pton): Likewise.
37613         * tests/test-isblank.c (isblank): Likewise.
37614         * tests/test-lchown.c (lchown): Likewise.
37615         * tests/test-ldexpl.c (ldexpl): Likewise.
37616         * tests/test-link.c (link): Likewise.
37617         * tests/test-linkat.c (linkat): Likewise.
37618         * tests/test-lseek.c (lseek): Likewise.
37619         * tests/test-lstat.c (lstat): Likewise.
37620         * tests/test-mbrtowc.c (mbrtowc): Likewise.
37621         * tests/test-mbsinit.c (mbsinit): Likewise.
37622         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
37623         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
37624         * tests/test-memchr.c (memchr): Likewise.
37625         * tests/test-memcmp.c (memcmp): Likewise.
37626         * tests/test-memmem.c (memmem): Likewise.
37627         * tests/test-memrchr.c (memrchr): Likewise.
37628         * tests/test-mkdir.c (mkdir): Likewise.
37629         * tests/test-mkdirat.c (mkdirat): Likewise.
37630         * tests/test-mkfifo.c (mkfifo): Likewise.
37631         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
37632         * tests/test-mknod.c (mknod): Likewise.
37633         * tests/test-nanosleep.c (nanosleep): Likewise.
37634         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
37635         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
37636         Likewise.
37637         * tests/test-open.c (open): Likewise.
37638         * tests/test-openat.c (openat): Likewise.
37639         * tests/test-perror.c (perror): Likewise.
37640         * tests/test-pipe2.c (pipe2): Likewise.
37641         * tests/test-poll.c (poll): Likewise.
37642         * tests/test-popen.c (popen, pclose): Likewise.
37643         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
37644         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
37645         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
37646         (posix_spawn_file_actions_destroy)
37647         (posix_spawn_file_actions_addclose)
37648         (posix_spawn_file_actions_addopen)
37649         (posix_spawn_file_actions_adddup2): Likewise.
37650         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
37651         * tests/test-pread.c (pread): Likewise.
37652         * tests/test-printf-posix.c (printf): Likewise.
37653         * tests/test-pty.c (openpty, forkpty): Likewise.
37654         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
37655         (random_r): Likewise.
37656         * tests/test-rawmemchr.c (rawmemchr): Likewise.
37657         * tests/test-readlink.c (readlink): Likewise.
37658         * tests/test-remove.c (remove): Likewise.
37659         * tests/test-rename.c (rename): Likewise.
37660         * tests/test-renameat.c (renameat): Likewise.
37661         * tests/test-rmdir.c (rmdir): Likewise.
37662         * tests/test-round1.c (round): Likewise.
37663         * tests/test-roundf1.c (roundf): Likewise.
37664         * tests/test-roundl.c (roundl): Likewise.
37665         * tests/test-setenv.c (setenv): Likewise.
37666         * tests/test-sigaction.c (sigaction): Likewise.
37667         * tests/test-sleep.c (sleep): Likewise.
37668         * tests/test-snprintf.c (snprintf): Likewise.
37669         * tests/test-sprintf-posix.c (sprintf): Likewise.
37670         * tests/test-stat.c (stat): Likewise.
37671         * tests/test-stpncpy.c (stpncpy): Likewise.
37672         * tests/test-strcasestr.c (strcasestr): Likewise.
37673         * tests/test-strchrnul.c (strchrnul): Likewise.
37674         * tests/test-strerror.c (strerror): Likewise.
37675         * tests/test-strsignal.c (strsignal): Likewise.
37676         * tests/test-strstr.c (strstr): Likewise.
37677         * tests/test-strtod.c (strtod): Likewise.
37678         * tests/test-strverscmp.c (strverscmp): Likewise.
37679         * tests/test-symlink.c (symlink): Likewise.
37680         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
37681         * tests/test-times.c (times): Likewise.
37682         * tests/test-trunc1.c (trunc): Likewise.
37683         * tests/test-truncf1.c (truncf): Likewise.
37684         * tests/test-truncl.c (truncl): Likewise.
37685         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
37686         Likewise.
37687         * tests/test-uname.c (uname): Likewise.
37688         * tests/test-unlink.c (unlink): Likewise.
37689         * tests/test-unlinkat.c (unlinkat): Likewise.
37690         * tests/test-unsetenv.c (unsetenv): Likewise.
37691         * tests/test-usleep.c (usleep): Likewise.
37692         * tests/test-utimensat.c (utimensat): Likewise.
37693         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
37694         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
37695         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
37696         * tests/test-vprintf-posix.c (vprintf): Likewise.
37697         * tests/test-vsnprintf.c (vsnprintf): Likewise.
37698         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
37699         * tests/test-wcrtomb.c (wcrtomb): Likewise.
37700         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
37701         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
37702         * tests/test-wcwidth.c (wcwidth): Likewise.
37703
37704         build: pull in conditional headers during GNULIB_POSIXCHECK
37705         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
37706         definitions from any conditionally-included headers.
37707         * lib/stdlib.in.h (includes): Likewise.
37708         * lib/unistd.in.h (includes): Likewise.
37709
37710 2009-12-24  Bruno Haible  <bruno@clisp.org>
37711
37712         * tests/test-argv-iter.c: Include header file being tested immediately
37713         after config.h.
37714         * tests/test-base64.c: Likewise.
37715         * tests/test-flock.c: Likewise.
37716         * tests/test-fsync.c: Likewise.
37717         * tests/test-getdate.c: Likewise.
37718         * tests/test-getndelim2.c: Likewise.
37719         * tests/test-isfinite.c: Likewise.
37720         * tests/test-isinf.c: Likewise.
37721         * tests/test-strerror.c: Likewise.
37722         * tests/test-strsignal.c: Likewise.
37723
37724 2009-12-23  Eric Blake  <ebb9@byu.net>
37725
37726         unistd: work around cygwin bug
37727         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
37728         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
37729         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37730
37731 2009-12-23  Bruno Haible  <bruno@clisp.org>
37732
37733         localename: More tests.
37734         * tests/test-localename.c (SIZEOF): New macro.
37735         (categories): New variable.
37736         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
37737         test_locale_name_default): Add test w.r.t. thread locale.
37738         (test_locale_name_thread): New function.
37739         (main): Invoke it.
37740
37741         localename: Make aware of thread locale.
37742         * lib/localename.h (gl_locale_name_thread): New declaration.
37743         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
37744         behaviour with respect to thread locale.
37745         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
37746         <langinfo.h>, glthread/lock.h.
37747         (SIZE_BITS): New macro.
37748         (string_hash): New function.
37749         (struct hash_node): New type.
37750         (HASH_TABLE_SIZE): New macro.
37751         (struniq_hash_table, struniq_lock): New variables.
37752         (struniq): New function.
37753         (gl_locale_name_thread): New function.
37754         (gl_locale_name): Invoke it.
37755         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
37756         * modules/localename (Depends-on): Add lock.
37757         Reported by Mike Gran <spk121@yahoo.com>.
37758
37759 2009-12-23  Eric Blake  <ebb9@byu.net>
37760
37761         va-args: new module
37762         * modules/va-args: New file.
37763         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
37764         * MODULES.html.sh (Core language properties): Mention it.
37765
37766         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37767         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37768         named alias for __attribute__((__unused__)).
37769         * lib/chown.c: Update client.
37770         * lib/fchmodat.c: Likewise.
37771         * lib/fts.c: Likewise.
37772         * lib/getdate.y: Likewise.
37773         * lib/getgroups.c: Likewise.
37774         * lib/getopt.c: Likewise.
37775         * lib/getugroups.c: Likewise.
37776         * lib/mkdir.c: Likewise.
37777         * lib/mkfifo.c: Likewise.
37778         * lib/mkfifoat.c: Likewise.
37779         * lib/mknod.c: Likewise.
37780         * lib/mknodat.c: Likewise.
37781         * lib/readlink.c: Likewise.
37782         * lib/se-context.in.h: Likewise.
37783         * lib/se-selinux.in.h: Likewise.
37784         * lib/sockets.c: Likewise.
37785         * lib/symlink.c: Likewise.
37786         * lib/symlinkat.c: Likewise.
37787         * lib/unicodeio.c: Likewise.
37788         * lib/unistr.h: Likewise.
37789         * tests/test-areadlink.c: Likewise.
37790         * tests/test-areadlinkat.c: Likewise.
37791         * tests/test-filenamecat.c: Likewise.
37792         * tests/test-fseeko.c: Likewise.
37793         * tests/test-ftello.c: Likewise.
37794         * tests/test-getdate.c: Likewise.
37795         * tests/test-getgroups.c: Likewise.
37796         * tests/test-gethostname.c: Likewise.
37797         * tests/test-quotearg.c: Likewise.
37798         * tests/test-version-etc.c: Likewise.
37799         * tests/test-xalloc-die.c: Likewise.
37800         * tests/test-xfprintf-posix.c: Likewise.
37801         * tests/test-xprintf-posix.c: Likewise.
37802         * tests/test-xvasprintf.c: Likewise.
37803
37804         tests: avoid compiler warnings
37805         * tests/test-fcntl.c (main): Delete unused parameters.
37806         * tests/test-freopen-safer.c (main): Likewise.
37807         * tests/test-xalloc-die.c (main): Mark unused parameters.
37808         * tests/test-fseeko.c (main): Likewise.
37809         * tests/test-ftello.c (main): Likewise.
37810         * tests/test-nanosleep.c (main): Avoid declaration warning.
37811         * tests/test-sleep.c (main): Likewise.
37812         * tests/test-unsetenv.c (main): Silence warning about string
37813         literal.
37814         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37815
37816 2009-12-23  Bruno Haible  <bruno@clisp.org>
37817
37818         * tests/test-localename.c (test_locale_name): New function, extracted
37819         from main. Also test mixed situations.
37820         (test_locale_name_posix, test_locale_name_environ,
37821         test_locale_name_default): New functions.
37822         (main): Invoke them all.
37823         * modules/localename-tests (configure.ac): Test for newlocale.
37824
37825 2009-12-23  Bruno Haible  <bruno@clisp.org>
37826
37827         unistd: Ensure getcwd gets declared before being overridden.
37828         * lib/unistd.in.h: Conditionally include <io.h>.
37829
37830 2009-12-22  Bruno Haible  <bruno@clisp.org>
37831
37832         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37833         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37834         (gl_WCHAR_H): Invoke it.
37835         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37836         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37837         Reported by Karl Berry <karl@freefriends.org>.
37838
37839 2009-12-22  Eric Blake  <ebb9@byu.net>
37840
37841         math, unistd: avoid redundant includes
37842         * lib/math.in.h (isnan): No need to re-include <math.h>.
37843         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37844
37845         getsubopt: work around cygwin bug
37846         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37847         avoid conflicting with system getsubopt.
37848         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37849         bug.
37850
37851         getopt: synchronize from glibc
37852         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37853         parameter order.  Adjust all callers.
37854         (_getopt_internal_r, main): Adjust quoting in error messages.
37855         Drop considerations for outdated POSIX 1003.2 error message.
37856         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37857         callers.
37858         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37859
37860         test-getopt: test stderr behavior
37861         * modules/getopt-posix-tests (Depends-on): Add dup2.
37862         * tests/test-getopt.c (ASSERT): Avoid stderr.
37863         (main): Move stderr to a temporary file.
37864         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37865         Instead, add parameter to inform caller if output occurred.
37866         (test_getopt): Adjust all existing tests to expect silence, and
37867         add new tests of leading ":".
37868         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37869         glibc shortcomings with leading "-:" or "+:" in optstring.
37870         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37871         Likewise.
37872         * doc/posix-functions/getopt.texi (getopt): Likewise.
37873
37874         test-getopt: enhance test
37875         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37876         supports optind=0.
37877         * tests/test-getopt.c (OPTIND_MIN): Move...
37878         * tests/test-getopt.h (OPTIND_MIN): ...here.
37879         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37880         Require that optind=0 works, since modern BSD supports it in
37881         addition to optreset, and since coreutils expects it.
37882         (test_getopt_long_only): New test.
37883         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37884         glibc shortcomings with 'W;', and enforcement of optind=0.
37885         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37886         Likewise.
37887
37888 2009-12-21  Bruno Haible  <bruno@clisp.org>
37889
37890         localename: Improvements for MacOS X and Cygwin.
37891         * lib/localename.h (gl_locale_name_environ): New declaration.
37892         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37893         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37894         (gl_locale_name_posix): Invoke it.
37895         (gl_locale_name_default): Add comments. Use Windows native API also on
37896         Cygwin.
37897
37898 2009-12-21  Bruno Haible  <bruno@clisp.org>
37899
37900         Update list of Win32 locale ids.
37901         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37902         (LANG_SAMI): Renamed from LANG_SAAMI.
37903         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37904         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37905         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37906         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37907         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37908         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37909         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37910         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37911         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37912         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37913         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37914         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37915         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37916         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37917         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37918         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37919         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37920         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37921         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37922         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37923         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37924         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37925         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37926         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37927         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37928         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37929         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37930         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37931         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37932         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37933         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37934         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37935         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37936         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37937         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37938         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37939         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37940         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37941         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37942         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37943         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37944         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37945         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37946         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37947         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37948         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37949         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37950         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37951         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37952         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37953         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37954         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37955         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37956         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37957         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37958         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37959         Add more languages and countries for Sami, Sorbian. Add more countries
37960         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37961         for Pashto. Change country for Syriac, Tswana.
37962
37963 2009-12-21  Eric Blake  <ebb9@byu.net>
37964
37965         test-utimens: avoid spurious failure
37966         * tests/test-chown.h (nap): Factor...
37967         * tests/nap.h: ...into new file.
37968         * tests/test-lchown.h (nap): Avoid duplication.
37969         * tests/test-utimens-common.h (nap): Use shared implementation,
37970         necessary on file systems with 1-second resolution.
37971         * modules/chown-tests (Files): Include new file.
37972         * modules/fdutimensat-tests (Files): Likewise.
37973         * modules/futimens-tests (Files): Likewise.
37974         * modules/lchown-tests (Files): Likewise.
37975         * modules/openat-tests (Files): Likewise.
37976         * modules/utimens-tests (Files): Likewise.
37977         * modules/utimensat-tests (Files): Likewise.
37978
37979 2009-12-19  Eric Blake  <ebb9@byu.net>
37980
37981         futimens, utimensat: work around Linux bug
37982         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37983         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37984         * lib/utimensat.c (rpl_utimensat): Work around it.
37985         * lib/futimens.c (rpl_futimens): Adjust comment.
37986
37987         utimens: work around Linux ctime bug
37988         * lib/utimens.c (detect_ctime_bug): New helper function.
37989         (update_timespec): Differentiate between workaround needed for
37990         this bug vs. what is needed for systems that lack utimensat.
37991         (fdutimens, lutimens): Work around bug.
37992
37993         utimens: check for ctime update
37994         * tests/test-utimens-common.h (check_ctime): Define.
37995         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37996         * tests/test-futimens.h (test_futimens): Likewise.
37997         * tests/test-lutimens.h (test_lutimens): Likewise.
37998         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37999         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38000
38001 2009-12-19  Bruno Haible  <bruno@clisp.org>
38002
38003         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38004         * tests/test-dprintf-posix2.sh: New file.
38005         * tests/test-dprintf-posix2.c: New file.
38006         * modules/dprintf-posix-tests (Files): Add them.
38007         (configure.ac): Check for getrlimit and setrlimit.
38008         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38009
38010 2009-12-19  Bruno Haible  <bruno@clisp.org>
38011
38012         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38013         * tests/test-fprintf-posix3.sh: New file.
38014         * tests/test-fprintf-posix3.c: New file.
38015         * modules/fprintf-posix-tests (Files): Add them.
38016         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38017
38018 2009-12-19  Eric Blake  <ebb9@byu.net>
38019
38020         dirfd: fix prototype
38021         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38022         * lib/dirfd.c (dirfd): Likewise.
38023
38024         canonicalize: reduce memory usage
38025         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38026         allocation to size.
38027         Reported by Solar Designer <solar@openwall.com>.
38028
38029 2009-12-19  Bruno Haible  <bruno@clisp.org>
38030
38031         New module attribute 'Applicability'.
38032         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38033         * gnulib-tool: New option --extract-applicability.
38034         (func_usage): Document it.
38035         (sed_extract_prog): Recognize it.
38036         (func_get_applicability): New function.
38037         (func_import): Generalize handling of 'link-warning' module.
38038         * modules/link-warning (Applicability): New section.
38039         * modules/arg-nonnull (Applicability): New section.
38040         Repoted by Simon Josefsson <simon@josefsson.org>.
38041
38042 2009-12-19  Bruno Haible  <bruno@clisp.org>
38043
38044         fflush: tweak
38045         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38046         * lib/fseeko.c (rpl_fseeko): Likewise.
38047
38048 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38049
38050         * lib/gl_list.h: Fix typo in comment.
38051
38052 2009-12-16  Eric Blake  <ebb9@byu.net>
38053
38054         fcntl: use to simplify other modules
38055         * modules/cloexec (Depends-on): Add fcntl.
38056         * modules/fchdir (Depends-on): Likewise.
38057         * modules/fd-safer-flag (Depends-on): Likewise.
38058         * modules/unistd-safer (Depends-on): Likewise.
38059         * modules/dup3 (configure.ac): Set module indicator.
38060         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38061         missing.
38062         * lib/fchdir.c (_gl_register_dup): Fix comment.
38063         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38064         * lib/dup-safer.c (dup_safer): Likewise.
38065         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38066         * lib/dup3.c (dup3): Likewise.
38067         * tests/test-fchdir.c (main): Enhance test.
38068         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
38069
38070         fcntl: port portions of fcntl to mingw
38071         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38072         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38073         replacement for mingw.
38074         * modules/fcntl (Description): Update.
38075         (Depends-on): Add dup2.
38076         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38077         * modules/fcntl-h (Makefile.am): Substitute it.
38078         * lib/fcntl.in.h (fcntl): Update declaration.
38079         (F_DUPFD, F_GETFD): New macros, when needed.
38080         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38081         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38082         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38083         we now guarantee.
38084
38085         fcntl: work around cygwin bug in F_DUPFD
38086         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38087         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38088         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38089         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38090         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38091
38092         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38093         * modules/fcntl (Files): List new files.
38094         (configure.ac): Run a test.
38095         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38096         * lib/fcntl.c (rpl_fcntl): Likewise.
38097         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38098         (gl_FCNTL_H): Always replace fcntl.h.
38099         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38100         * lib/fcntl.in.h (fcntl): Declare replacement.
38101         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38102         needed, plus a witness.
38103         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38104         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38105         * tests/test-fcntl.c: New file.
38106         * modules/fcntl-tests: Likewise.
38107
38108         binary-io: avoid potential compilation warning
38109         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38110         directives.
38111
38112         fflush: avoid compilation error on NetBSD
38113         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38114         between off_t and fpos_t, since the latter is sometimes a struct.
38115         * lib/fseeko.c (rpl_fseeko): Likewise.
38116         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38117
38118 2009-12-15  Eric Blake  <ebb9@byu.net>
38119
38120         fcntl-h, stdio, sys_ioctl: fix declarations
38121         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38122         function must not take arguments.
38123         * lib/sys_ioctl.in.h (ioctl): Likewise.
38124         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38125         (open): Add a link warning.
38126
38127 2009-12-15  Jim Meyering  <meyering@redhat.com>
38128
38129         areadlink, areadlink-with-size: relax license to LGPLv2+
38130         * modules/areadlink (License): Relax to LGPLv2+.
38131         * modules/areadlink-with-size (License): Likewise.
38132
38133 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38134             Bruno Haible  <bruno@clisp.org>
38135
38136         *printf: Fix memory leak.
38137         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38138         * lib/vfprintf.c (vfprintf): Likewise.
38139         * lib/dprintf.c (dprintf): Likewise.
38140         * lib/vdprintf.c (vdprintf): Likewise.
38141
38142 2009-12-14  Eric Blake  <ebb9@byu.net>
38143
38144         accept4: adjust module dependencies
38145         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38146
38147         utimens: one more try at avoiding compiler warning
38148         * lib/utimens.c (lutimens): Lower scope of result.
38149
38150 2009-12-13  Bruno Haible  <bruno@clisp.org>
38151
38152         Move the malloc checking from module 'list' to new module 'xlist'.
38153         * modules/xlist: New file.
38154         * lib/gl_xlist.h: New file.
38155         * lib/gl_xlist.c: New file.
38156         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38157         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38158         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38159         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38160         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38161         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38162         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38163         gl_sortedlist_nx_add): New declarations.
38164         (struct gl_list_implementation): Rename and change methods accordingly.
38165         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38166         (gl_list_nx_create): Renamed from gl_list_create.
38167         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38168         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38169         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38170         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38171         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38172         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38173         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38174         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38175         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38176         gl_list_create_empty.
38177         (gl_list_nx_create): Renamed from gl_list_create.
38178         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38179         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38180         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38181         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38182         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38183         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38184         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38185         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38186         * lib/gl_array_list.c: Don't include xalloc.h.
38187         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38188         NULL upon out-of-memory.
38189         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38190         out-of-memory.
38191         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38192         Change return type to 'int'.
38193         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38194         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38195         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38196         upon out-of-memory.
38197         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38198         upon out-of-memory.
38199         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38200         upon out-of-memory.
38201         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38202         upon out-of-memory.
38203         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38204         out-of-memory.
38205         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38206         Update.
38207         (gl_array_list_implementation): Update.
38208         * lib/gl_carray_list.c: Don't include xalloc.h.
38209         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38210         Return NULL upon out-of-memory.
38211         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38212         out-of-memory.
38213         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38214         Change return type to 'int'.
38215         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38216         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38217         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38218         upon out-of-memory.
38219         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38220         upon out-of-memory.
38221         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38222         out-of-memory.
38223         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38224         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38225         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38226         Update.
38227         (gl_carray_list_implementation): Update.
38228         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38229         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38230         gl_linked_create_empty. Return NULL upon out-of-memory.
38231         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38232         out-of-memory.
38233         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
38234         Change return type to 'int'. Return -1 upon out-of-memory.
38235         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
38236         out-of-memory.
38237         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
38238         upon out-of-memory.
38239         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
38240         upon out-of-memory.
38241         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
38242         NULL upon out-of-memory.
38243         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
38244         upon out-of-memory.
38245         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
38246         out-of-memory.
38247         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
38248         Update.
38249         * lib/gl_linked_list.c: Don't include xalloc.h.
38250         (gl_linked_list_implementation): Update.
38251         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
38252         (add_to_bucket): Change return type to 'int'.
38253         (gl_linkedhash_list_implementation): Update.
38254         * lib/gl_anytree_list1.h (free_subtree): New function.
38255         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38256         gl_tree_create_empty. Return NULL upon out-of-memory.
38257         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38258         Change return type to 'int'. Return -1 upon out-of-memory.
38259         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38260         out-of-memory.
38261         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38262         (gl_tree_remove_node): New function, moved here from
38263         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38264         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38265         Update.
38266         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38267         malloc, not xmalloc. Return NULL upon out-of-memory.
38268         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38269         out-of-memory.
38270         (gl_tree_remove_node_from_tree): New function, extracted from
38271         gl_tree_remove_node.
38272         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38273         upon out-of-memory.
38274         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38275         out-of-memory.
38276         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38277         upon out-of-memory.
38278         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38279         upon out-of-memory.
38280         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38281         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38282         not xmalloc. Return NULL upon out-of-memory.
38283         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38284         out-of-memory.
38285         (gl_tree_remove_node_from_tree): New function, extracted from
38286         gl_tree_remove_node.
38287         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38288         upon out-of-memory.
38289         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38290         out-of-memory.
38291         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38292         upon out-of-memory.
38293         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38294         upon out-of-memory.
38295         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38296         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38297         gl_anytree_list1.h before gl_anyavltree_list2.h.
38298         (gl_avltree_list_implementation): Update.
38299         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38300         gl_anytree_list1.h before gl_anyavltree_list2.h.
38301         (gl_rbtree_list_implementation): Update.
38302         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38303         Change return type to 'int'. Return -1 upon out-of-memory. Use
38304         __builtin_expect.
38305         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38306         (gl_avltreehash_list_implementation): Update.
38307         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38308         (gl_rbtreehash_list_implementation): Update.
38309         * modules/array-list (Depends-on): Remove xalloc.
38310         * modules/carray-list (Depends-on): Likewise.
38311         * modules/linked-list (Depends-on): Likewise.
38312         * modules/linkedhash-list (Depends-on): Likewise.
38313         * modules/avltree-list (Depends-on): Likewise.
38314         * modules/rbtree-list (Depends-on): Likewise.
38315         * modules/avltreehash-list (Depends-on): Likewise.
38316         * modules/rbtreehash-list (Depends-on): Likewise.
38317
38318         * modules/xsublist: New file.
38319         * lib/gl_xsublist.h: New file.
38320         * lib/gl_xsublist.c: New file.
38321         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38322         (gl_sublist_nx_create): New declaration.
38323         * lib/gl_sublist.c: Don't include xalloc.h.
38324         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38325         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38326         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38327         Change return type to 'int'. Return -1 upon out-of-memory.
38328         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38329         upon out-of-memory.
38330         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38331         NULL upon out-of-memory.
38332         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38333         upon out-of-memory.
38334         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38335         NULL upon out-of-memory.
38336         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38337         NULL upon out-of-memory.
38338         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38339         upon out-of-memory.
38340         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38341         (gl_sublist_list_implementation): Update.
38342         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38343         upon out-of-memory.
38344         * modules/sublist (Depends-on): Remove xalloc.
38345
38346         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38347         * tests/test-carray_list.c: Likewise.
38348         * tests/test-linked_list.c: Likewise.
38349         * tests/test-linkedhash_list.c: Likewise.
38350         * tests/test-avltree_list.c: Likewise.
38351         * tests/test-rbtree_list.c: Likewise.
38352         * tests/test-avltreehash_list.c: Likewise.
38353         * tests/test-rbtreehash_list.c: Likewise.
38354         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38355         * modules/carray-list-tests (Makefile.am): Likewise.
38356         * modules/linked-list-tests (Makefile.am): Likewise.
38357         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38358         * modules/avltree-list-tests (Makefile.am): Likewise.
38359         * modules/rbtree-list-tests (Makefile.am): Likewise.
38360         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38361         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38362
38363         * NEWS: Mention the changes.
38364
38365         * lib/clean-temp.c: Include gl_xlist.h.
38366         * modules/clean-temp (Depends-on): Add xlist.
38367
38368         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38369         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38370
38371         * tests/test-array_oset.c: Include gl_xlist.h.
38372         * modules/array-oset-tests (Depends-on): Add xlist.
38373
38374         Reported by José E. Marchesi <jemarch@gnu.org>.
38375
38376 2009-12-13  Bruno Haible  <bruno@clisp.org>
38377
38378         Move the malloc checking from module 'oset' to new module 'xoset'.
38379         * modules/xoset: New file.
38380         * lib/gl_xoset.h: New file.
38381         * lib/gl_xoset.c: New file.
38382         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38383         declarations.
38384         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38385         (struct gl_oset_implementation): Rename and change methods accordingly.
38386         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38387         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38388         'int'. Mark as __warn_unused_result__.
38389         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38390         gl_oset_create_empty.
38391         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38392         'int'.
38393         * lib/gl_array_oset.c: Don't include xalloc.h.
38394         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38395         malloc, not xmalloc.
38396         (grow): Change return type to 'int'. Don't call xalloc_die.
38397         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38398         to 'int'.
38399         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38400         'int'.
38401         (gl_array_oset_implementation): Update.
38402         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38403         gl_tree_create_empty.
38404         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38405         'int'.
38406         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38407         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38408         xmalloc.
38409         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38410         not xmalloc.
38411         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38412         xmalloc.
38413         (gl_avltree_oset_implementation): Update.
38414         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38415         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38416         xmalloc.
38417         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38418         not xmalloc.
38419         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38420         xmalloc.
38421         (gl_rbtree_oset_implementation): Update.
38422         * modules/array-oset (Depends-on): Remove xalloc.
38423         * modules/avltree-oset (Depends-on): Likewise.
38424         * modules/rbtree-oset (Depends-on): Likewise.
38425         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38426         * tests/test-avltree_oset.c: Likewise.
38427         * tests/test-rbtree_oset.c: Likewise.
38428         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38429         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38430         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38431         * NEWS: Mention the change.
38432
38433 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38434
38435         maint.mk: allow a project to override release-prep commands
38436         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38437         commands into a new rule.
38438         (release-prep): New rule.
38439         (release-prep-hook): New overridable variable.
38440
38441 2009-12-13  Bruno Haible  <bruno@clisp.org>
38442
38443         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38444
38445 2009-12-13  Jim Meyering  <meyering@redhat.com>
38446
38447         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38448         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38449
38450 2009-12-12  Bruno Haible  <bruno@clisp.org>
38451
38452         duplocale: Tweak.
38453         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38454
38455 2009-12-12  Karl Berry  <karl@gnu.org>
38456
38457         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38458
38459 2009-12-12  Bruno Haible  <bruno@clisp.org>
38460
38461         * m4/po.m4: Undo incorrect untabification.
38462
38463 2009-12-12  Bruno Haible  <bruno@clisp.org>
38464
38465         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38466         * modules/c-strtod (Depends-on): Add locale.
38467         * modules/c-strtold (Depends-on): Likewise.
38468
38469 2009-12-12  Bruno Haible  <bruno@clisp.org>
38470
38471         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38472
38473 2009-12-11  Eric Blake  <ebb9@byu.net>
38474
38475         setenv: relax requirement in light of POSIX ruling
38476         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38477         not NULL.
38478         * tests/test-setenv.c (main): Relax test.
38479         * tests/test-unsetenv.c (main): Likewise.
38480         * doc/posix-functions/setenv.texi (setenv): Document this.
38481         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38482
38483 2009-12-11  Bruno Haible  <bruno@clisp.org>
38484
38485         New module 'fd-safer-flag'.
38486         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38487         * lib/dup-safer.c (dup_safer_flag): Remove function.
38488         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38489         * lib/fd-safer.c (fd_safer_flag): Remove function.
38490         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38491         * modules/cloexec (configure.ac): Drop indicator macro.
38492         * modules/fd-safer-flag: New file.
38493         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38494         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38495         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38496
38497 2009-12-11  Bruno Haible  <bruno@clisp.org>
38498
38499         Tests for module 'nl_langinfo'.
38500         * modules/nl_langinfo-tests: New file.
38501         * tests/test-nl_langinfo.sh: New file.
38502         * tests/test-nl_langinfo.c: New file.
38503
38504         New module 'nl_langinfo'.
38505         * lib/nl_langinfo.c: New file.
38506         * m4/nl_langinfo.m4: New file.
38507         * modules/nl_langinfo: New file.
38508         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38509
38510 2009-12-11  Bruno Haible  <bruno@clisp.org>
38511
38512         Tests for module 'langinfo'.
38513         * modules/langinfo-tests: New file.
38514         * tests/test-langinfo.c: New file.
38515
38516         New module 'langinfo'.
38517         * lib/langinfo.in.h: New file.
38518         * m4/langinfo_h.m4: New file.
38519         * modules/langinfo: New file.
38520         * doc/posix-headers/langinfo.texi: Mention the new module.
38521
38522 2009-12-11  Bruno Haible  <bruno@clisp.org>
38523
38524         * lib/config.charset: Untabify.
38525
38526 2009-12-11  Bruno Haible  <bruno@clisp.org>
38527
38528         * modules/unistd-safer (configure.ac): Drop indicator macro.
38529
38530 2009-12-11  Bruno Haible  <bruno@clisp.org>
38531
38532         Move pipe2-safer code to its own file.
38533         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38534         * lib/pipe-safer.c (pipe2_safer): Remove function.
38535         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38536         (Makefile.am): Add it to lib_SOURCES.
38537
38538 2009-12-10  Bruno Haible  <bruno@clisp.org>
38539
38540         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38541
38542 2009-12-10  Bruno Haible  <bruno@clisp.org>
38543
38544         Declare which arguments expect non-NULL values, for GCC and clang.
38545         * build-aux/arg-nonnull.h: New file.
38546         * modules/arg-nonnull: New file.
38547         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38548         (inet_ntop, inet_pton): Use it.
38549         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38550         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38551         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38552         (open, openat): Use it.
38553         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38554         (fnmatch): Use it.
38555         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38556         (getopt, getopt_long, getopt_long_only): Use it.
38557         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38558         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38559         Use it.
38560         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38561         (iconv_open): Use it.
38562         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38563         (strtoimax, strtoumax): Use it.
38564         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
38565         (duplocale): Use it.
38566         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
38567         (frexp, frexpl): Use it.
38568         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
38569         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
38570         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
38571         (tsearch, tfind, tdelete, twalk): Use it.
38572         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
38573         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
38574         sigpending): Use it.
38575         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
38576         (posix_spawn, posix_spawnp, posix_spawnattr_init,
38577         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
38578         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
38579         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
38580         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
38581         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
38582         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
38583         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
38584         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
38585         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
38586         Use it.
38587         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
38588         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
38589         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
38590         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
38591         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
38592         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
38593         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
38594         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
38595         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
38596         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
38597         strtoull, unsetenv): Use it.
38598         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
38599         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
38600         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
38601         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
38602         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
38603         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
38604         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
38605         (strcasecmp, strncasecmp): Use it.
38606         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
38607         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
38608         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
38609         rpl_setsockopt): Use it.
38610         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
38611         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
38612         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
38613         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
38614         (gettimeofday): Use it.
38615         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
38616         (times): Use it.
38617         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
38618         (uname): Use it.
38619         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
38620         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
38621         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
38622         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
38623         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
38624         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
38625         unlinkat, write): Use it.
38626         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
38627         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
38628         * lib/argv-iter.h: Include arg-nonnull.h.
38629         (_ATTRIBUTE_NONNULL_): Remove macro.
38630         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
38631         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
38632         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
38633         optimization.
38634         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
38635         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
38636         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
38637         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
38638         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
38639         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
38640         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
38641         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
38642         * modules/arpa_inet (Depends-on): Add arg-nonnull.
38643         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
38644         * modules/dirent (Depends-on): Add arg-nonnull.
38645         (Makefile.am): Insert arg-nonnull.h into dirent.h.
38646         * modules/fcntl-h (Depends-on): Add arg-nonnull.
38647         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
38648         * modules/fnmatch (Depends-on): Add arg-nonnull.
38649         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
38650         * modules/getopt-posix (Depends-on): Add arg-nonnull.
38651         (Makefile.am): Insert arg-nonnull.h into getopt.h.
38652         * modules/glob (Depends-on): Add arg-nonnull.
38653         (Makefile.am): Insert arg-nonnull.h into glob.h.
38654         * modules/iconv_open (Depends-on): Add arg-nonnull.
38655         (Makefile.am): Insert arg-nonnull.h into iconv.h.
38656         * modules/inttypes (Depends-on): Add arg-nonnull.
38657         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
38658         * modules/locale (Depends-on): Add arg-nonnull.
38659         (Makefile.am): Insert arg-nonnull.h into locale.h.
38660         * modules/math (Depends-on): Add arg-nonnull.
38661         (Makefile.am): Insert arg-nonnull.h into math.h.
38662         * modules/netdb (Depends-on): Add arg-nonnull.
38663         (Makefile.am): Insert arg-nonnull.h into netdb.h.
38664         * modules/search (Depends-on): Add arg-nonnull.
38665         (Makefile.am): Insert arg-nonnull.h into search.h.
38666         * modules/signal (Depends-on): Add arg-nonnull.
38667         (Makefile.am): Insert arg-nonnull.h into signal.h.
38668         * modules/spawn (Depends-on): Add arg-nonnull.
38669         (Makefile.am): Insert arg-nonnull.h into spawn.h.
38670         * modules/stdio (Depends-on): Add arg-nonnull.
38671         (Makefile.am): Insert arg-nonnull.h into stdio.h.
38672         * modules/stdlib (Depends-on): Add arg-nonnull.
38673         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
38674         * modules/string (Depends-on): Add arg-nonnull.
38675         (Makefile.am): Insert arg-nonnull.h into string.h.
38676         * modules/strings (Depends-on): Add arg-nonnull.
38677         (Makefile.am): Insert arg-nonnull.h into strings.h.
38678         * modules/sys_socket (Depends-on): Add arg-nonnull.
38679         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
38680         * modules/sys_stat (Depends-on): Add arg-nonnull.
38681         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
38682         * modules/sys_time (Depends-on): Add arg-nonnull.
38683         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
38684         * modules/sys_times (Depends-on): Add arg-nonnull.
38685         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
38686         * modules/sys_utsname (Depends-on): Add arg-nonnull.
38687         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
38688         * modules/time (Depends-on): Add arg-nonnull.
38689         (Makefile.am): Insert arg-nonnull.h into time.h.
38690         * modules/unistd (Depends-on): Add arg-nonnull.
38691         (Makefile.am): Insert arg-nonnull.h into unistd.h.
38692         * modules/wchar (Depends-on): Add arg-nonnull.
38693         (Makefile.am): Insert arg-nonnull.h into wchar.h.
38694         * modules/argv-iter (Depends-on): Add arg-nonnull.
38695         * tests/test-canonicalize.c (null_ptr): New function.
38696         (main): Use it.
38697         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
38698         (main): Use it.
38699         * tests/test-memmem.c (null_ptr): New function.
38700         (main): Use it.
38701         Reported by Jim Meyering.
38702
38703 2009-12-10  Bruno Haible  <bruno@clisp.org>
38704
38705         Use spaces for indentation, not tabs.
38706         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
38707         * m4/*.m4: Untabify.
38708         * build-aux/*.h: Untabify.
38709         * tests/**/*.[hc]: Untabify.
38710         * README: New section "Indent with spaces, not TABs", based on
38711         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
38712         * NEWS: Mention the change.
38713
38714 2009-12-10  Bruno Haible  <bruno@clisp.org>
38715
38716         pty test: Fix link error.
38717         * modules/pty-tests (Makefile.am): Add the default LDADD value to
38718         test_pty_LDADD.
38719
38720 2009-12-07  Simon Josefsson  <simon@josefsson.org>
38721
38722         * modules/pty: New file.
38723         * modules/pty-tests: New file.
38724         * m4/pty.m4: New file.
38725         * tests/test-pty.c: New file.
38726         * doc/glibc-headers/pty.texi: Modified.
38727         * doc/glibc-functions/forkpty.texi: Modified.
38728         * doc/glibc-functions/openpty.texi: Modified.
38729
38730 2009-12-10  Bruno Haible  <bruno@clisp.org>
38731
38732         Avoid syntax error in C++ mode.
38733         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
38734
38735 2009-12-10  Bruno Haible  <bruno@clisp.org>
38736
38737         Use sed with option -e.
38738         * gnulib-tool (func_version, func_emit_copyright_notice,
38739         func_emit_initmacro_end, func_import, func_create_testdir): Pass
38740         option -e to sed.
38741         * modules/link-warning (Makefile.am): Likewise.
38742
38743 2009-12-10  Jim Meyering  <meyering@redhat.com>
38744
38745         mgetgroups: do not write bytes beyond end of malloc'd buffer
38746         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
38747         username, we call getgroups with a one-element-shorter buffer,
38748         but still told it the length was original, max_n_groups.
38749
38750 2009-12-09  Eric Blake  <ebb9@byu.net>
38751
38752         cloexec: relax license
38753         * modules/cloexec (Maintainer): Add myself.
38754         (License): Use LGPL, not GPL.
38755
38756         link-warning: optimize generation
38757         * modules/link-warning (Makefile.am): Reduce process usage.
38758
38759 2009-12-09  Bruno Haible  <bruno@clisp.org>
38760
38761         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
38762         workaround was added on 2009-11-17.
38763
38764 2009-12-09  Jim Meyering  <meyering@redhat.com>
38765             Bruno Haible  <bruno@clisp.org>
38766
38767         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38768         * modules/link-warning (Makefile.am): Make the comment-removing sed
38769         command more robust in the face of bootstrap-prepended comment lines.
38770
38771 2009-12-09  Bruno Haible  <bruno@clisp.org>
38772
38773         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38774         most one group.
38775
38776 2009-12-09  Simon Josefsson <simon@josefsson.org>
38777             Bruno Haible  <bruno@clisp.org>
38778
38779         * build-aux/link-warning.h: Add copyright notice.
38780         * modules/link-warning (Makefile.am): Generate link-warning.h from
38781         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38782         * NEWS: Mention change in link-warning module.
38783         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38784         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38785         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38786         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38787         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38788         * modules/math (Makefile.am): Add dependency to math.h.
38789         * modules/search (Makefile.am): Add dependency to search.h.
38790         * modules/signal (Makefile.am): Add dependency to signal.h.
38791         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38792         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38793         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38794         * modules/string (Makefile.am): Add dependency to string.h.
38795         * modules/strings (Makefile.am): Add dependency to strings.h.
38796         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38797         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38798         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38799         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38800         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38801         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38802         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38803         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38804         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38805
38806 2009-12-09  Bruno Haible  <bruno@clisp.org>
38807
38808         fchdir: Optimize away rpl_fstat when possible.
38809         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38810         REPLACE_OPEN_DIRECTORY.
38811         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38812
38813 2009-12-09  Bruno Haible  <bruno@clisp.org>
38814
38815         * lib/fchdir.c: Update comment.
38816
38817 2009-12-09  Bruno Haible  <bruno@clisp.org>
38818
38819         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38820
38821 2009-12-08  Eric Blake  <ebb9@byu.net>
38822
38823         fchdir: avoid memory leak on re-registration.
38824         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38825
38826 2009-12-08  Jim Meyering  <meyering@redhat.com>
38827
38828         init.sh: avoid Solaris 10 /bin/sh portability problem
38829         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38830         sourced script:
38831           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38832           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38833           bar
38834         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38835         and two tests used that idiom.
38836         * tests/init.sh: Update suggested usage comments.
38837         (path_prepend_): New function, to be used in place
38838         of the --src-path=DIR option.
38839         (setup_): Move PATH-prepending code into path_prepend_.
38840         * tests/test-pread.sh: Adapt to new usage.
38841         * tests/test-xalloc-die.sh: Likewise.
38842
38843 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38844
38845         * doc/gnulib.texi (Glibc pty.h): Add.
38846         * doc/glibc-functions/forkpty.texi: Add.
38847         * doc/glibc-functions/openpty.texi: Add.
38848         Suggested by Bruno Haible.
38849
38850 2009-12-08  Eric Blake  <ebb9@byu.net>
38851
38852         fchdir: fix logic bugs
38853         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38854         * tests/test-fchdir.c (main): Enhance test.
38855         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38856         is in use.
38857
38858         dup2: fix logic bugs
38859         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38860         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38861         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38862         exists.
38863         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38864
38865 2009-12-07  Eric Blake  <ebb9@byu.net>
38866
38867         unlink: fix m4 detection
38868         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38869
38870         unistd-safer: add unit test
38871         * modules/unistd-safer-tests: New file.
38872         * tests/test-dup-safer.c: Likewise.
38873         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38874         * tests/test-dup2.c (setmode): Likewise.
38875         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38876
38877         cloexec: preserve text vs. binary across dup_cloexec
38878         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38879         mode.
38880         * modules/dup2-tests (Depends-on): Add binary-io.
38881         * modules/cloexec-tests (Depends-on): Likewise.
38882         * tests/test-dup2.c (setmode, is_mode): New helpers.
38883         (main): Add tests that translation mode is preserved.
38884         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38885         Reported by Bruno Haible.
38886
38887         mgetgroups: reduce duplicate listings
38888         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38889         resulting array.
38890         * tests/test-chown.h (test_chown): Simplify client.
38891         * tests/test-lchown.h (test_lchown): Likewise.
38892
38893 2009-12-06  Bruno Haible  <bruno@clisp.org>
38894
38895         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38896         value.
38897
38898 2009-12-06  Bruno Haible  <bruno@clisp.org>
38899
38900         * lib/progname.c: Include stdio.h, stdlib.h.
38901         (set_program_name): Reject a NULL argument.
38902
38903 2009-12-05  Eric Blake  <ebb9@byu.net>
38904
38905         pipe2-safer: new module
38906         * modules/pipe2-safer: New file.
38907         * lib/unistd-safer.h (pipe2_safer): New prototype.
38908         * lib/unistd--.h (pipe2): New wrapper.
38909         * lib/pipe-safer.c (pipe2_safer): New function.
38910         * modules/pipe (Depends-on): Add pipe2-safer.
38911         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38912
38913         stdlib-safer: preserve cloexec flag for mkostemp[s]
38914         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38915         fd_safer_flag.
38916
38917         unistd-safer: allow preservation of cloexec status via flag
38918         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38919         prototypes.
38920         * lib/dup-safer.c (dup_safer_flag): New function.
38921         * lib/fd-safer.c (fd_safer_flag): Likewise.
38922         * modules/cloexec (configure.ac): Set witness.
38923
38924         test-dup2: enhance test
38925         * modules/dup2-tests (Depends-on): Add cloexec.
38926         * tests/test-dup2.c (main): Enhance test.
38927
38928         cloexec: add dup_cloexec
38929         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38930         header and comments.
38931         * lib/cloexec.c (set_cloexec_flag): Add comments.
38932         (dup_cloexec): New function, with mingw implementation borrowed
38933         from...
38934         * lib/w32spawn.h (dup_noinherit): ...here.
38935         * modules/execute (Depends-on): Add cloexec.
38936         * modules/pipe (Depends-on): Likewise.
38937         * modules/cloexec (Depends-on): Add dup2.
38938         * modules/cloexec-tests (Files): New file.
38939         * tests/test-cloexec.c: Likewise.
38940
38941         test-xalloc-die: fix test for mingw
38942         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38943         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38944         directory and .exe suffix off argv[0] output.
38945
38946         test-fseeko: fix test for mingw
38947         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38948         than undefining fseek, so test will pass on mingw.
38949
38950 2009-12-05  Bruno Haible  <bruno@clisp.org>
38951
38952         * lib/progname.h (set_program_name): Clarify specification.
38953         * lib/progname.c (set_program_name): Likewise.
38954         Reported by Jim Meyering.
38955
38956 2009-12-05  Jim Meyering  <meyering@redhat.com>
38957
38958         maint.mk: backslash-escape parens in default regexp
38959         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38960         backslash-escape the literal parentheses.
38961
38962         maint.mk: news-date-check: use grep -E
38963         * top/maint.mk (today): Define a Make variable, not a...
38964         (news-date-check): ...shell variable.
38965         (news-date-regexp): Use the Make variable.
38966         Use grep's -E option.  Change the failing diagnostic to mention
38967         the variable, $(news-date-regexp).
38968
38969 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38970
38971         maintainer-makefile: allow customization of NEWS entry format
38972         * top/maint.mk (news-date-regexp): New overridable variable.
38973         (news-date-check): Use it.
38974
38975 2009-12-04  Eric Blake  <ebb9@byu.net>
38976
38977         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38978         * lib/mgetgroups.h (xgetgroups): New prototype.
38979         * lib/mgetgroups.c (xgetgroups): New wrapper.
38980         (mgetgroups): Handle ENOSYS.
38981         * modules/mgetgroups (Depends-on): Add realloc.
38982         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38983
38984         mgetgroups: avoid argument promotion issues with -1
38985         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38986         for invalid gid_t.
38987         * tests/test-chown.h (getegid, test_chown): Likewise.
38988         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38989
38990 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38991
38992         exclude: Fix header file problems.
38993         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38994
38995 2009-12-01  Jim Meyering  <meyering@redhat.com>
38996
38997         fts: fts_open: do not let an empty string cause immediate failure
38998         This is required in support of GNU rm, for which the command
38999         "rm A '' B" must process and remove both A and B, in spite of
39000         the empty string argument.
39001         * lib/fts.c (fts_open): Do not let the presence of an empty string
39002         cause fts_open to fail immediately.  Most fts-using tools must be
39003         able to process all arguments, in order, and can be expected to
39004         diagnose such arguments themselves.
39005
39006 2009-11-30  Eric Blake  <ebb9@byu.net>
39007
39008         utimens: fix compilation error
39009         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39010         Declare variable at right scope.
39011
39012 2009-11-29  Jim Meyering  <meyering@redhat.com>
39013
39014         bootstrap: handle perl-5.11's changed --version output
39015         * build-aux/bootstrap (get_version): Handle perl separately,
39016         since perl-5.11's --version output is different.
39017
39018 2009-11-28  Jim Meyering  <meyering@redhat.com>
39019
39020         userspec: depend on the inttostr module, too
39021         * modules/userspec (Depends-on): Add inttostr.
39022
39023         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39024         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39025         number of MAXUID when it evaluates to (uid_t) -1.
39026         Likewise for group ID.  Reported by Matt McCutchen in
39027         <http://savannah.gnu.org/bugs/?28113>
39028
39029         userspec: reformat to use spaces, not TABs
39030         * lib/userspec.c: Expand TABs to spaces.
39031         Add Emacs' "indent-tabs-mode: nil" hint.
39032
39033 2009-11-27  Eric Blake  <ebb9@byu.net>
39034
39035         getopt-gnu: flush out another BSD bug
39036         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39037         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39038         flush out BSD bug.
39039         * tests/test-getopt.h (test_getopt): End lists with NULL.
39040         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39041         (test_getopt_long_posix): Enhance test.
39042         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39043         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39044         getopt-gnu.
39045         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39046         Likewise.
39047
39048 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39049
39050         * modules/idpriv-droptemp-tests (Notice): Fix text.
39051
39052 2009-11-27  Jim Meyering  <meyering@redhat.com>
39053
39054         test-xalloc-die: avoid spurious failure due to libtool argv difference
39055         In a libtool-enabled project, this test would fail due to a difference
39056         in the emitted program name, e.g.,
39057         -test-xalloc-die: memory exhausted
39058         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39059         Use program to avoid that.
39060         * modules/xalloc-die-tests (Depends-on): Add progname.
39061         * tests/test-xalloc-die.c: Include progname.h".
39062         (program_name): Remove decl.
39063         (main): Call set_program_name.
39064         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39065
39066 2009-11-26  Richard Jones  <rjones@redhat.com>
39067
39068         w32sock: leave win32 error in place.
39069         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39070
39071 2009-11-26  Eric Blake  <ebb9@byu.net>
39072
39073         init.sh: suggest to use skip_ and fail_ functions in comments
39074         * tests/init.sh: Add a sentence.
39075
39076 2009-11-25  Bruno Haible  <bruno@clisp.org>
39077
39078         init.sh: add documentation in comments
39079         * tests/init.sh: Add some developer and user documentation.
39080
39081 2009-11-26  Jim Meyering  <meyering@redhat.com>
39082
39083         init.sh: accommodate even those who specify bogus srcdir manually
39084         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39085         configure-time tests to be sanitized, so that there is no need to
39086         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39087         (with no double quotes) suffices.  However, since tests may be
39088         invoked manually, and since you may explicitly set srcdir to the
39089         name of a directory containing spaces, do quote its uses here.
39090         * tests/test-pread.sh: Likewise.
39091         Suggested by Bruno Haible.
39092
39093         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39094         * tests/test-pread.sh: Write no data into the pipe, because
39095         test-pread actually reads none.  This avoids a diagnostic,
39096         "bash: echo: write error: Broken pipe", that arises in the unusual
39097         event something is ignoring SIGPIPE, and might be interpreted
39098         as some sort of failure.  Reported by Bruno Haible.
39099
39100 2009-11-25  Jim Meyering  <meyering@redhat.com>
39101
39102         test-pread: cover failure with ESPIPE and EINVAL
39103         * tests/test-pread.c (main): Test for failure, too.
39104         * tests/test-pread.sh: Invoke with stdin on a pipe.
39105         Suggested by Eric Blake.
39106
39107         pread: improvement and fix
39108         * modules/pread (Depends-on): Depend on lseek, for portability to
39109         e.g., mingw.  Suggested by Eric Blake.
39110         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39111
39112         unistd.in.h: correct declaration of pread
39113         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39114         Reported by Richard W.M. Jones.
39115
39116         test-pread.sh: distribute the test script
39117         * modules/pread-tests (Files): Include test-pread.sh.
39118
39119         test-pread.sh: clean up
39120         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39121         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39122         That is unnecessary, since it's always ".".
39123         Suggestion from Eric Blake.
39124
39125         test-pread.sh: make executable
39126         * tests/test-pread.sh: Set executable bit.
39127         Reported by Eric Blake.
39128
39129         correct typo in test-pread.sh
39130         * tests/test-pread.sh: Add #! line.
39131
39132         test pread
39133         * tests/test-pread.c: New file.
39134         * tests/test-pread.sh: Likewise.
39135         * modules/pread-tests: Likewise.
39136
39137         pread: new module
39138         * modules/pread: New file.
39139         * lib/unistd.in.h (pread): Define/declare.
39140         * lib/pread.c (pread): New file.
39141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39142         * modules/unistd (Makefile.am): Substitute witnesses.
39143         * doc/posix-functions/pread.texi (pread): Update.
39144         * MODULES.html.sh: Add pread.
39145
39146 2009-11-25  Jim Meyering  <meyering@redhat.com>
39147
39148         tests/init.sh: new file to be used via most *.sh tests
39149         * tests/init.sh: New file.
39150
39151 2009-11-25  Eric Blake  <ebb9@byu.net>
39152
39153         utimens: work around older Linux failure with symlinks
39154         * lib/utimens.c (lutimensat_works_really): New variable.
39155         (fdutimens, lutimens): Use it to manage kernels that support
39156         nanosecond times on files, but not on symlinks.
39157         Reported by OndÅ™ej Vašík.
39158
39159         utimes: fix configure grammar
39160         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39161
39162 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39163
39164         regex: Fix fastmap for multibyte character ranges.
39165         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39166         characters when a multibyte character range is included.
39167
39168 2009-11-22  Andy Wingo  <wingo@pobox.com>
39169
39170         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39171         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39172
39173 2009-11-24  Bruno Haible  <bruno@clisp.org>
39174
39175         doc: Most *_l functions exist in MacOS X 10.5.
39176         * doc/posix-functions/duplocale.texi: Update platforms list.
39177         * doc/posix-functions/freelocale.texi: Likewise.
39178         * doc/posix-functions/newlocale.texi: Likewise.
39179         * doc/posix-functions/uselocale.texi: Likewise.
39180         * doc/posix-functions/isalnum_l.texi: Likewise.
39181         * doc/posix-functions/isalpha_l.texi: Likewise.
39182         * doc/posix-functions/isblank_l.texi: Likewise.
39183         * doc/posix-functions/iscntrl_l.texi: Likewise.
39184         * doc/posix-functions/isdigit_l.texi: Likewise.
39185         * doc/posix-functions/isgraph_l.texi: Likewise.
39186         * doc/posix-functions/islower_l.texi: Likewise.
39187         * doc/posix-functions/isprint_l.texi: Likewise.
39188         * doc/posix-functions/ispunct_l.texi: Likewise.
39189         * doc/posix-functions/isspace_l.texi: Likewise.
39190         * doc/posix-functions/isupper_l.texi: Likewise.
39191         * doc/posix-functions/iswalnum_l.texi: Likewise.
39192         * doc/posix-functions/iswalpha_l.texi: Likewise.
39193         * doc/posix-functions/iswblank_l.texi: Likewise.
39194         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39195         * doc/posix-functions/iswctype_l.texi: Likewise.
39196         * doc/posix-functions/iswdigit_l.texi: Likewise.
39197         * doc/posix-functions/iswgraph_l.texi: Likewise.
39198         * doc/posix-functions/iswlower_l.texi: Likewise.
39199         * doc/posix-functions/iswprint_l.texi: Likewise.
39200         * doc/posix-functions/iswpunct_l.texi: Likewise.
39201         * doc/posix-functions/iswspace_l.texi: Likewise.
39202         * doc/posix-functions/iswupper_l.texi: Likewise.
39203         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39204         * doc/posix-functions/isxdigit_l.texi: Likewise.
39205         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39206         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39207         * doc/posix-functions/strcoll_l.texi: Likewise.
39208         * doc/posix-functions/strfmon_l.texi: Likewise.
39209         * doc/posix-functions/strftime_l.texi: Likewise.
39210         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39211         * doc/posix-functions/strxfrm_l.texi: Likewise.
39212         * doc/posix-functions/tolower_l.texi: Likewise.
39213         * doc/posix-functions/toupper_l.texi: Likewise.
39214         * doc/posix-functions/towctrans_l.texi: Likewise.
39215         * doc/posix-functions/towlower_l.texi: Likewise.
39216         * doc/posix-functions/towupper_l.texi: Likewise.
39217         * doc/posix-functions/wcscoll_l.texi: Likewise.
39218         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39219         * doc/posix-functions/wctrans_l.texi: Likewise.
39220         * doc/posix-functions/wctype_l.texi: Likewise.
39221         * doc/glibc-functions/strptime_l.texi: Likewise.
39222         * doc/glibc-functions/strtod_l.texi: Likewise.
39223         * doc/glibc-functions/strtof_l.texi: Likewise.
39224         * doc/glibc-functions/strtol_l.texi: Likewise.
39225         * doc/glibc-functions/strtold_l.texi: Likewise.
39226         * doc/glibc-functions/strtoll_l.texi: Likewise.
39227         * doc/glibc-functions/strtoul_l.texi: Likewise.
39228         * doc/glibc-functions/strtoull_l.texi: Likewise.
39229         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39230         * doc/glibc-functions/wcstod_l.texi: Likewise.
39231         * doc/glibc-functions/wcstof_l.texi: Likewise.
39232         * doc/glibc-functions/wcstol_l.texi: Likewise.
39233         * doc/glibc-functions/wcstold_l.texi: Likewise.
39234         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39235         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39236         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39237
39238 2009-11-24  Bruno Haible  <bruno@clisp.org>
39239
39240         duplocale: Fix logic bug.
39241         * lib/duplocale.c: Don't include <langinfo.h>.
39242         (_NL_LOCALE_NAME): Remove macro.
39243         (rpl_duplocale): Use setlocale instead of nl_langinfo.
39244         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
39245
39246 2009-11-23  Jim Meyering  <meyering@redhat.com>
39247
39248         test-update-copyright: don't hard-code /usr/bin/perl
39249         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
39250         perl to print the current year.  Gilles Espinasse reported that
39251         the replaced use of perl was hard-coded as /usr/bin/perl.
39252
39253 2009-11-23  Bruno Haible  <bruno@clisp.org>
39254
39255         duplocale: Add support for glibc 2.3.x.
39256         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39257
39258 2009-11-22  Bruno Haible  <bruno@clisp.org>
39259
39260         vasnprintf: Tiny optimization.
39261         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39262         MacOS X.
39263
39264 2009-11-22  Bruno Haible  <bruno@clisp.org>
39265
39266         Tests for module 'duplocale'.
39267         * modules/duplocale-tests: New file.
39268         * tests/test-duplocale.c: New file.
39269
39270         New module 'duplocale'.
39271         * m4/duplocale.m4: New file.
39272         * lib/locale.in.h (duplocale): New declaration.
39273         * lib/duplocale.c: New file.
39274         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39275         gl_LOCALE_H_DEFAULTS): New macros.
39276         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39277         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39278         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39279         REPLACE_DUPLOCALE.
39280         * modules/duplocale: New file.
39281         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39282
39283 2009-11-22  Bruno Haible  <bruno@clisp.org>
39284
39285         * modules/locale-tests (configure.ac): Test for newlocale function.
39286         * tests/test-locale.c: When the system has extended locale functions,
39287         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39288
39289         locale: Make locale_t available when possible.
39290         * lib/locale.in.h: Include <xlocale.h> when it exists.
39291         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39292         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39293         * modules/locale (Depends-on): Add extensions.
39294         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39295         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39296
39297 2009-11-22  Bruno Haible  <bruno@clisp.org>
39298
39299         Add comments.
39300         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39301         invocation.
39302         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39303         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39304         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39305
39306 2009-11-22  Bruno Haible  <bruno@clisp.org>
39307
39308         error: account for the possibility of freopen (stdout).
39309         * lib/error.c: Include <unistd.h>.
39310         (flush_stdout): New function, extracted from error and error_at_line.
39311         Determine stdout's fd dynamically.
39312         (error, error_at_line): Invoke flush_stdout.
39313         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39314         * modules/error (Depends-on): Add unistd.
39315
39316 2009-11-22  Bruno Haible  <bruno@clisp.org>
39317
39318         diffseq: Add comment.
39319         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39320
39321 2009-11-22  Jim Meyering  <meyering@redhat.com>
39322
39323         c-stack: avoid defining an unused static function
39324         * lib/c-stack.c (find_stack_direction): Do not define this function
39325         when it will not be used.
39326
39327         diffseq: avoid spurious gcc warnings
39328         * lib/diffseq.h (IF_LINT2): Define.
39329         (compareseq): Use it to initialize two members of "part".
39330         This avoids two used-uninitialized warnings.
39331
39332 2009-11-21  Jim Meyering  <meyering@redhat.com>
39333
39334         c-stack: avoid "ignoring return value of `write'" warning
39335         * lib/c-stack.c: Include "ignore-value.h".
39336         (die): Explicitly ignore each write return value.
39337         * modules/c-stack (Depends-on): Add ignore-value.
39338
39339 2009-11-21  Bruno Haible  <bruno@clisp.org>
39340
39341         diffseq: reduce scope of variable 'best'.
39342         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39343         variable, earlier used for two different purposes.
39344
39345 2009-11-21  Jim Meyering  <meyering@redhat.com>
39346
39347         diffseq: remove useless assignment to "best"
39348         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39349         assignment.  At that point "best" is already guaranteed to be zero.
39350
39351 2009-11-20  Eric Blake  <ebb9@byu.net>
39352
39353         build: mention ftp redirector in release announcements
39354         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39355         values that used to come from cfg.mk; mention FTP redirect URL.
39356         * build-aux/announce-gen: Mention the mirror list.
39357         Suggested by Karl Berry.
39358
39359         nanosleep: improve port to mingw
39360         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39362         LIB_NANOSLEEP, but only when needed.
39363         * modules/select (Link): Document LIBSOCKET.
39364         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39365         enough.
39366
39367         nanosleep: work around cygwin bug
39368         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39369         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39370         bug.
39371         (getnow): Delete, not needed.
39372         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39373         LIB_CLOCK_GETTIME.
39374         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39375         clock-time, gettime.
39376         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39377         bug.
39378         * modules/nanosleep-tests: New test.
39379         * tests/test-nanosleep.c: New file.
39380
39381         sleep: work around cygwin bug
39382         * lib/sleep.c (rpl_sleep): Work around the bug.
39383         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39384         (gl_PREREQ_SLEEP): Delete unused macro.
39385         * modules/sleep (Depends-on): Add verify.
39386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39387         * modules/unistd (Makefile.am): Substitute witness.
39388         * lib/unistd.in.h (sleep): Update prototype.
39389         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39390         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39391         * modules/sleep-tests (Depends-on): Check for alarm.
39392
39393 2009-11-20  Jim Meyering  <meyering@redhat.com>
39394
39395         maint.mk: improve sc_prohibit_magic_number_exit
39396         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39397         so it does not match uses like System.exit(1).
39398         Add comments showing how to correct all offenders.
39399
39400 2009-11-19  Eric Blake  <ebb9@byu.net>
39401
39402         xalloc-die-tests: add missing library
39403         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39404
39405         test-xvasprintf: silence compiler warnings
39406         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39407         empty string from gcc.
39408
39409 2009-11-19  Jim Meyering  <meyering@redhat.com>
39410
39411         xfreopen: new module, from coreutils
39412         * modules/xfreopen: New module.
39413         * lib/xfreopen.c: New file.
39414         * lib/xfreopen.h: New file.
39415         * MODULES.html.sh (File stream based Input/Output"): Add it.
39416
39417 2009-11-19  Eric Blake  <ebb9@byu.net>
39418
39419         manywarnings: depend on warnings
39420         * modules/manywarnings (Depends-on): Add warnings.
39421
39422         build: avoid compiler warnings
39423         * lib/select.c (rpl_select): Delete unused variable.
39424         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39425
39426 2009-11-18  Eric Blake  <ebb9@byu.net>
39427
39428         tests: avoid false negative with --with-packager
39429         * tests/test-version-etc.sh: Discard packager information.
39430         * tests/test-argp-version-etc-1.sh: Likewise.
39431         Reported by Mike Frysinger.
39432
39433         utimens: fix regression on Solaris
39434         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39435         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39436         can only change fd timestamps via futimesat.  Instead, use an
39437         additional witness macro to avoid BSD bug.
39438         Reported by Jim Meyering.
39439
39440 2009-11-17  Eric Blake  <ebb9@byu.net>
39441
39442         usleep: use it to simplify tests
39443         * modules/stat-time-tests (Depends-on): Add usleep.
39444         (configure.ac): Drop usleep check.
39445         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39446         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39447         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39448         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39449         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39450         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39451         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39452         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39453         Likewise.
39454         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39455         * tests/test-lchown.h (nap): Likewise.
39456         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39457         * tests/test-stat-time.c (nap): Likewise.
39458         * tests/test-utimens-common.h (nap): Update comments.
39459
39460         usleep: new module
39461         * modules/usleep: New file.
39462         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39463         * lib/usleep.c (usleep): Likewise.
39464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39465         * modules/unistd (Makefile.am): Substitute witnesses.
39466         * lib/unistd.in.h (usleep): Add declaration.
39467         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39468         * MODULES.html.sh (Date and time): Likewise.
39469         * modules/usleep-tests (Depends-on): New test.
39470         * tests/test-usleep.c: New file.
39471
39472         chown: work around OpenBSD bug
39473         * lib/chown.c (rpl_chown): Work around the bug.
39474         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39475         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39476         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39477         * modules/chown (Depends-on): Add stdbool.
39478         * modules/lchown (Depends-on): Likewise.
39479         * doc/posix-functions/chown.texi (chown): Document the bug.
39480         * doc/posix-functions/lchown.texi (lchown): Likewise.
39481         * tests/test-lchown.h (test_chown): Relax test.
39482
39483         mkstemp: avoid conflict with C++ keyword template
39484         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39485         * lib/mkostemp.c (mkostemp): Likewise.
39486         * lib/mkostemps.c (mkostemps): Likewise.
39487         * lib/mkstemp.c (mkstemp): Likewise.
39488         * lib/mkstemps.c (mkstemps): Likewise.
39489
39490         xalloc-die-tests: optimize
39491         * tests/test-xalloc-die.sh: Reduce number of processes.
39492
39493 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39494
39495         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39496         patch from ludo@gnu.org (Ludovic Courtès).
39497
39498 2009-11-17  Jim Meyering  <meyering@redhat.com>
39499
39500         version-etc: use proper license string
39501         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39502         * modules/version-etc-fsf: Likewise.
39503
39504 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39505
39506         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39507         printed to stdout.  Deal with EOL differences.
39508
39509 2009-11-17  Eric Blake  <ebb9@byu.net>
39510
39511         unsetenv: work around Solaris bug
39512         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39513         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39514         Reported by Jim Meyering.
39515
39516         vasnprintf: avoid compiler warnings
39517         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39518         variables.
39519         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39520
39521 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39522
39523         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39524         settings since xalloc-die is no longer the self test,
39525         xalloc-die.sh is.
39526
39527 2009-11-17  Jim Meyering  <meyering@redhat.com>
39528
39529         test-xalloc-die.sh: make the code agree with the commit log
39530         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39531         at the end, just in case you happen to have a test-xalloc-die
39532         program in some other PATH directory.
39533
39534         test-xalloc-die.sh: fix a portability bug
39535         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39536         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39537         Otherwise, argv[0] (as often seen in diagnostics) would be too
39538         system-dependent, sometimes with, and sometimes without the leading "./".
39539
39540         version-etc-fsf: relax license to LGPLv3+
39541         * modules/version-etc-fsf (License): Relax license.
39542
39543 2009-11-16  Eric Blake  <ebb9@byu.net>
39544
39545         xalloc-die-tests: avoid printing null pointer
39546         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39547         shell script.
39548         * tests/test-xalloc-die.c (program_name): Declare.
39549         * tests/test-xalloc-die.sh (tmpfiles): New file.
39550
39551         setenv, unsetenv: work around various bugs
39552         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39553         (setenv) [HAVE_SETENV]: Work around bugs.
39554         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39555         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39556         for bugs.
39557         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39558         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39560         * modules/stdlib (Makefile.am): Update substitutions.
39561         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39562         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39563         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39564         * modules/setenv-tests: New test.
39565         * modules/unsetenv-tests: Likewise.
39566         * tests/test-setenv.c: New file.
39567         * tests/test-unsetenv.c: Likewise.
39568
39569 2009-11-16  Jim Meyering  <meyering@redhat.com>
39570
39571         version-etc: relax license to LGPLv3+
39572         * modules/version-etc (License): Relax license.
39573
39574         better AC_REQUIRE expanded-before-required-warning avoidance
39575         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
39576         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
39577         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
39578         which is no longer needed.
39579
39580 2009-11-16  Eric Blake  <ebb9@byu.net>
39581
39582         test-freading: clean up temporary file
39583         * tests/test-freading.c (main): Remove file on success, and use
39584         ASSERT more liberally.
39585         Reported by Jim Meyering.
39586
39587 2009-11-16  Jim Meyering  <meyering@redhat.com>
39588
39589         avoid new AC_REQUIRE expanded-before-required warnings
39590         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
39591         merely using it.
39592         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
39593         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
39594
39595 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39596
39597         * tests/test-xalloc-die.c: New file.
39598         * modules/xalloc-die-tests: New file.
39599         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
39600         XFAIL_TESTS so it can be appended by modules.
39601
39602 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39603
39604         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
39605         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
39606
39607 2009-11-14  Eric Blake  <ebb9@byu.net>
39608
39609         fnmatch: avoid compiler warning
39610         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
39611         to silence compiler warning about mismatch signedness in ?:.
39612         Reported by Robert Millan.
39613
39614         intprops: add double-inclusion guard
39615         * lib/intprops.h: Allow idempotent includes.
39616         Suggested by Bruce Korb.
39617
39618         openat: detect Solaris fchownat bug
39619         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
39620         penalizing glibc chownat when only lchownat is broken.
39621         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
39622         trailing slash bugs.
39623         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
39624         * modules/openat-tests (Files): Include more files.
39625         (Depends-on): Add mgetgroups, sleep, stat-time.
39626         (configure.ac): Add additional checks.
39627         (Makefile.am): Build new test.
39628         * tests/test-fchownat.c: New file.
39629
39630         lchown: detect Solaris and FreeBSD bug
39631         * lib/lchown.c (rpl_lchown): Work around bug.
39632         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
39633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39634         * modules/unistd (Makefile.am): Populate it.
39635         * lib/unistd.in.h (lchown): Update declaration.
39636         * doc/posix-functions/lchown.texi (lchown): Document the bug.
39637         * modules/lchown-tests: New file.
39638         * tests/test-lchown.h (test_lchown): Likewise.
39639         * tests/test-lchown.c (main): Likewise.
39640
39641         chown: detect Solaris and FreeBSD bug
39642         * lib/chown.c (rpl_chown): Work around bug.
39643         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
39644         (gl_PREREQ_CHOWN): Delete.
39645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39646         * modules/unistd (Makefile.am): Populate it.
39647         * lib/unistd.in.h (chown): Update declaration.
39648         * lib/lchown.c (chown): Update client.
39649         * modules/lchown (Depends-on): Add lstat.
39650         * doc/posix-functions/chown.texi (chown): Document the bug.
39651         * doc/posix-functions/getgroups.texi (getgroups): Document
39652         getgroups pitfall.
39653         * modules/chown-tests: New file.
39654         * tests/test-chown.h (test_chown): Likewise.
39655         * tests/test-chown.c (main): Likewise.
39656
39657 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
39658
39659         gnulib-tool: correctly detect absence of m4 directories
39660         * gnulib-tool: Avoid extra newline on data passed to wc -l.
39661
39662 2009-11-14  Jim Meyering  <meyering@redhat.com>
39663
39664         maint.mk: Prohibit inclusion of "xalloc.h" without use.
39665         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39666
39667 2009-11-14  John W. Eaton  <jwe@gnu.org>
39668
39669         strftime.h: wrap function declaration in extern "C" block
39670         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
39671
39672 2009-11-13  Eric Blake  <ebb9@byu.net>
39673
39674         getgroups: avoid compiler warning
39675         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
39676
39677         getgroups: work around FreeBSD bug
39678         * lib/getgroups.c (rpl_getgroups): Work around the bug.
39679         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
39680         * doc/posix-functions/getgroups.texi (getgroups): Document it.
39681         * tests/test-getgroups.c (main): Fix buffer overrun.
39682
39683         getgroups: avoid compilation failure
39684         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
39685         * modules/getgroups (Depends-on): Add stdint.
39686
39687 2009-11-13  Jim Meyering  <meyering@redhat.com>
39688
39689         test-getgroups: avoid compilation failure
39690         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
39691
39692 2009-11-13  Eric Blake  <ebb9@byu.net>
39693
39694         mgetgroups: new module, taken from coreutils
39695         * modules/mgetgroups: New file.
39696         * lib/mgetgroups.h: Likewise.
39697         * lib/mgetgroups.c (mgetgroups): Likewise.
39698         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
39699         * MODULES.html.sh (Users and groups): Mention it.
39700
39701         getgroups: don't expose GETGROUPS_T to user
39702         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
39703         an element at a time if GETGROUPS_T is wrong size.
39704         * lib/getugroups.h (getugroups): Change signature.
39705         * lib/unistd.in.h (getgroups): Likewise.
39706         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
39707         signature needs fixing.
39708         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
39709         AC_TYPE_GETGROUPS.
39710         * modules/group-member (Depends-on): Add getgroups.
39711         * lib/group-member.c (group_info, get_group_info): Use gid_t.
39712         (group_member): Rely on getgroups replacement.
39713         * lib/getugroups.c (getugroups): Use gid_t.
39714         * tests/test-getgroups.c (main): Likewise.
39715         * NEWS: Mention the signature change.
39716         * doc/posix-functions/getgroups.texi (getgroups): Mention the
39717         problem with signature.
39718         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
39719         GETGROUPS_T is still useful for setgroups.
39720
39721         getgroups, getugroups: provide stubs for mingw
39722         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
39723         * lib/getugroups.c (getugroups): Likewise.
39724         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
39725         function.  Modernize replacement scheme.
39726         (gl_PREREQ_GETGROUPS): Delete.
39727         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
39728         * modules/getgroups (configure.ac): Declare witness.
39729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39730         * modules/unistd (Depends-on): Substitute witness.
39731         * lib/unistd.in.h (getgroups): Declare replacement.
39732
39733         getgroups: avoid calling exit
39734         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
39735         drop xalloc.
39736         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
39737         dependencies.
39738         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
39739         exiting, in the rare case of malloc failure.
39740
39741         getgroups: fix logic error
39742         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
39743         has more than 20 groups.
39744         * modules/getgroups-tests: New test.
39745         * tests/test-getgroups.c: New file.
39746
39747 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39748
39749         * tests/test-base64.c: Improve.
39750
39751 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39752
39753         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
39754         Blake <ebb9@byu.net>.
39755
39756 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39757
39758         * tests/test-xvasprintf.c: Add %s%s related checks.
39759
39760 2009-11-12  Eric Blake  <ebb9@byu.net>
39761
39762         version-etc: match standards.texi style
39763         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
39764         and use <> only for URLs.
39765
39766 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39767
39768         fts: do not fail on a submount during traversal
39769         * lib/fts.c (fts_build): Read the stat info again after opening
39770         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39771         Original report at http://bugzilla.redhat.com/501848.
39772
39773 2009-11-12  Jim Meyering  <meyering@redhat.com>
39774
39775         bootstrap: sync from coreutils
39776         * build-aux/bootstrap (bootstrap_epilogue): New function.
39777         Use git_modules_config in one more place.  This make bootstrap's
39778         --gnulib-srcdir option more useful for testing.
39779
39780         bootstrap: generalize autoheader check
39781         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39782         AC_CONFIG_HEADERS.
39783
39784 2009-11-11  Eric Blake  <ebb9@byu.net>
39785
39786         mkfifoat: use new modules for Solaris and BSD bugs
39787         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39788         * lib/mkfifoat.c (mknodat): Split...
39789         * lib/mknodat.c (mknodat): ...into new file.
39790         * modules/mkfifoat (Files): Ship new file.
39791         (Depends-on): Add mkfifo, mknod.
39792         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39793         (Depends-on): Add symlink.
39794         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39795         redundant with test_mkfifo.h.
39796         (do_mkfifoat, do_mknodat): New helpers.
39797
39798         mknod: new module
39799         * modules/mknod: New file.
39800         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39801         * lib/mknod.c (mknod): Likewise.
39802         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39803         defaults.
39804         * modules/sys_stat (Makefile.am): Substitute them.
39805         * lib/sys_stat.in.h (mknod): Declare replacement.
39806         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39807         Document it.
39808         * doc/posix-functions/mknod.texi (mknod): Likewise.
39809         * modules/mknod-tests: New test.
39810         * tests/test-mknod.c: Likewise.
39811
39812         mkfifo: new module
39813         * modules/mkfifo: New file.
39814         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39815         * lib/mkfifo.c (mkfifo): Likewise.
39816         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39817         defaults.
39818         * modules/sys_stat (Makefile.am): Substitute them.
39819         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39820         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39821         Document it.
39822         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39823         * modules/mkfifo-tests: New test.
39824         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39825         from test-mkfifoat.c.
39826         * tests/test-mkfifo.c: New file.
39827
39828         readlink: detect FreeBSD bug
39829         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39830         slash on symlink.
39831         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39832         * tests/test-readlink.h (test_readlink): Enhance test.
39833
39834         symlink: detect FreeBSD bug
39835         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39836         slash on symlink.
39837         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39838         * tests/test-symlink.h (test_symlink): Enhance test.
39839
39840 2009-11-10  Eric Blake  <ebb9@byu.net>
39841
39842         link: detect FreeBSD bug
39843         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39844         symlink.
39845         * doc/posix-functions/link.texi (link): Document the bug.
39846         * tests/test-link.h (test_link): Enhance test.
39847         * tests/test-linkat.c (main): Update caller.
39848
39849         unlink, remove: detect FreeBSD bug
39850         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39851         slash on symlink.
39852         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39853         * doc/posix-functions/remove.texi (remove): Likewise.
39854         * tests/test-unlink.h (test_unlink): Enhance test.
39855         * tests/test-remove.c (main): Likewise.
39856
39857 2009-11-09  Eric Blake  <ebb9@byu.net>
39858
39859         rename: detect FreeBSD bug
39860         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39861         slash on symlink.
39862         * modules/renameat-tests (Depends-on): Add filenamecat.
39863         * tests/test-rename.h (test_rename): Allow one more errno.
39864         * tests/test-renameat.c (main): Likewise.
39865         * doc/posix-functions/rename.texi (rename): Document the bug.
39866
39867         open: detect FreeBSD bug
39868         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39869         symlink.
39870         * doc/posix-functions/open.texi (open): Document the bug.
39871         * doc/posix-functions/utimes.texi (utimes): Likewise.
39872         * tests/test-open.h (test_open): Add parameters, and test symlink
39873         handling.
39874         * tests/test-open.c (main): Adjust caller.
39875         * tests/test-fcntl-safer.c (main): Likewise.
39876         * modules/open-tests (Depends-on): Add stdbool, symlink.
39877         * modules/fcntl-safer-tests (Depends-on): Likewise.
39878         * tests/test-openat.c (main): Add test-open tests.
39879
39880         stat: detect FreeBSD bug
39881         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39882         symlink.
39883         * doc/posix-functions/stat.texi (stat): Document the bug.
39884         * tests/test-stat.h (test_stat_func): Add argument.
39885         * tests/test-stat.c (main): Adjust caller.
39886         * tests/test-fstatat.c (main): Likewise.
39887         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39888         Reported by Jim Meyering.
39889
39890 2009-11-09  James Youngman  <jay@gnu.org>
39891
39892         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39893         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39894
39895 2009-11-08  Jim Meyering  <meyering@redhat.com>
39896
39897         utimens: remove invalid futimesat call
39898         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39899         It used the file descriptor of the target file as the DIR_FD
39900         parameter and NULL as the file name.  That caused failure with
39901         errno == EFAULT on FreeBSD-8.0-rc2
39902
39903 2009-11-07  Eric Blake  <ebb9@byu.net>
39904
39905         fflush, freadseek: use fseeko, not fseek
39906         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39907         (clear_ungetc_buffer): Avoid potential problems on large files.
39908         * lib/freadseek.c (freadseek): Likewise.
39909         * modules/freadseek (Depends-on): Add fseeko.
39910         * modules/fseek (configure.ac): Set a witness.
39911         * tests/test-fflush.c (main): Use fseeko.
39912         * tests/test-fpurge.c (fseek): Disable link warning.
39913         * tests/test-freadable.c (fseek): Likewise.
39914         * tests/test-freading.c (fseek): Likewise.
39915         * tests/test-fseeko.c (fseek): Likewise.
39916         * tests/test-ftell.c (fseek): Likewise.
39917         * tests/test-ftello.c (fseek): Likewise.
39918         * tests/test-fwritable.c (fseek): Likewise.
39919         * tests/test-fwriting.c (fseek): Likewise.
39920
39921 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39922
39923         * modules/memchr (Depends-on): Drop getpagesize dependency.
39924
39925 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39926
39927         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39928         Reported by Ludovic Courtès.
39929         * build-aux/pmccabe2html: Improve example usage.
39930         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39931
39932 2009-11-06  Jim Meyering  <meyering@redhat.com>
39933
39934         do-release-commit-and-tag: New module.
39935         Automate the release-commit and tag process.
39936         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39937         * modules/do-release-commit-and-tag: New file.
39938         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39939
39940 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39941
39942         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39943         because test-select.c uses inet_pton.
39944
39945 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39946
39947         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39948         GETADDRINFO_LIB.  Bump serial number.
39949         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39950         Suggested by Eric Blake <ebb9@byu.net>.
39951
39952 2009-11-05  Eric Blake  <ebb9@byu.net>
39953
39954         strtod: detect darwin bug
39955         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39956         Reported by Leo Davis.
39957
39958         freopen-safer: new module
39959         * modules/freopen-safer: New module.
39960         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39961         * lib/freopen-safer.c (freopen_safer): New file.
39962         * lib/stdio-safer.h (freopen_safer): New declaration.
39963         * lib/stdio--.h (freopen): New override.
39964         * MODULES.html.sh (File stream based Input/Output): Mention it.
39965         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39966         freopen-safer module.
39967         * doc/posix-functions/stderr.texi (stderr): Likewise.
39968         * doc/posix-functions/stdin.texi (stdin): Likewise.
39969         * doc/posix-functions/stdout.texi (stdout): Likewise.
39970         * modules/freopen-safer-tests: New test.
39971         * tests/test-reopen-safer.c: New file.
39972
39973 2009-11-05  Jim Meyering  <meyering@redhat.com>
39974
39975         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39976         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39977
39978 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39979
39980         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39981
39982 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39983
39984         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39985
39986 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39987
39988         Fix link error.
39989         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39990         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39991
39992 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39993
39994         * tests/test-func.c: Also test value of __func__.
39995
39996 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39997
39998         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39999         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40000
40001 2009-11-05  Bruno Haible  <bruno@clisp.org>
40002
40003         Fix link error.
40004         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40005         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40006         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40007
40008 2009-11-05  Bruno Haible  <bruno@clisp.org>
40009
40010         Tests for module 'inet_pton'.
40011         * modules/inet_pton-tests: New file.
40012         * tests/test-inet_pton.c: New file.
40013
40014 2009-11-05  Bruno Haible  <bruno@clisp.org>
40015
40016         Tests for module 'inet_ntop'.
40017         * modules/inet_ntop-tests: New file.
40018         * tests/test-inet_ntop.c: New file.
40019
40020 2009-11-04  Eric Blake  <ebb9@byu.net>
40021
40022         stdlib-safer: wrap all mkstemp variants
40023         * modules/mkostemp (configure.ac): Set witness.
40024         * modules/mkostemps (configure.ac): Likewise.
40025         * modules/mkstemps (configure.ac): Likewise.
40026         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40027         (mkstemps_safer): Wrap more functions.
40028         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40029         wrapping.
40030         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40031         (mkstemps_safer): Implement the wrappers.
40032
40033         mkstemps, mkostemps: new modules
40034         * modules/mkostemps: New module.
40035         * modules/mkstemps: Likewise.
40036         * lib/mkostemps.c (mkostemps): New file.
40037         * lib/mkstemps.c (mkstemps): Likewise.
40038         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40039         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40040         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40041         * modules/stdlib (Makefile.am): Substitute them.
40042         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40043         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40044         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40045         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40046         * MODULES.html.sh (File system functions): Mention them.
40047
40048         tempname: resync from glibc
40049         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40050         same values for __GT_FILE as glibc.  Abort even when assertions
40051         are disabled.
40052         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40053         match its value otherwise.  Allow idempotent inclusion.
40054         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40055         * lib/mkostemp.c (mkostemp): Likewise.
40056         * lib/mkstemp.c (mkstemp): Likewise.
40057         * lib/tmpfile.c (tmpfile): Likewise.
40058         * NEWS: Document this.
40059
40060         utimens: fix use of futimens on older Linux
40061         * lib/utimens.c (fdutimens): Use updated, rather than original,
40062         timespec to avoid bug in older Linux kernel.
40063         Reported by Simon Josefsson.
40064
40065 2009-11-04  Bruno Haible  <bruno@clisp.org>
40066
40067         Make num_processors more flexible and consistent.
40068         * lib/nproc.h (enum nproc_query): New type.
40069         (num_processors): Add a 'query' argument.
40070         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40071         (num_processors): Add a 'query' argument. Test the value of the
40072         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40073         mingw, count the number of CPUs available for the current process.
40074         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40075         Check for sched_getaffinity and sched_getaffinity_np.
40076         * modules/nproc (Depends-on): Add c-ctype, extensions.
40077         * NEWS: Mention the change.
40078
40079 2009-11-03  Bruno Haible  <bruno@clisp.org>
40080
40081         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40082
40083 2009-11-03  Jim Meyering  <meyering@redhat.com>
40084
40085         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40086         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40087         if it is defined.
40088
40089 2009-11-02  Eric Blake  <ebb9@byu.net>
40090
40091         mktime, timegm: share common declaration
40092         * lib/mktime-internal.h: New file.
40093         * lib/mktime.c: Use it rather than open-coding a declaration.
40094         * lib/timegm.c: Likewise.
40095         * modules/mktime (Files): Ship it.
40096         * modules/timegm (Files): Likewise.
40097         Suggested by Bruno Haible.
40098
40099         test-update-copyright: update test to match script changes
40100         * tests/test-update-copyright.sh: Avoid hard-coding perl
40101         location.  Don't update *.bak created by earlier runs.
40102
40103 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40104             Simon Josefsson  <simon@josefsson.org>
40105             Bruno Haible  <bruno@clisp.org>
40106
40107         Fix link error on Solaris 8.
40108         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40109         also in libnsl. Define also INET_PTON_LIB.
40110         * modules/inet_pton (Link): New section.
40111
40112 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40113             Bruno Haible  <bruno@clisp.org>
40114
40115         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40116         * modules/inet_ntop (Link): New section.
40117         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40118
40119 2009-11-02  Eric Blake  <ebb9@byu.net>
40120
40121         maint: avoid compiler warnings in m4 macros
40122         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40123         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40124
40125 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40126
40127         * m4/pmccabe2html.m4: Remove file.
40128         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40129         function.  Change maintainer.
40130         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40131         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40132         Courtès).
40133
40134 2009-10-31  Eric Blake  <ebb9@byu.net>
40135
40136         fseeko: fix m4 regression
40137         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40138         regression from 2009-10-27.
40139         Reported by Ralf Wildenhues.
40140
40141 2009-10-31  Jim Meyering  <meyering@redhat.com>
40142
40143         inttostr: aesthetics and improved (compile-time) safety
40144         Define inttype_is_signed rather than inttype_is_unsigned,
40145         since the sole use is via "#if inttype_is_signed".
40146         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40147         inttype_is_unsigned.
40148         * lib/offtostr.c (inttype_is_signed): Likewise.
40149         * lib/uinttostr.c (inttype_is_signed): Likewise.
40150         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40151         * lib/inttostr.c (inttostr): Use verify to cross-check the
40152         inttype_is_signed value and the signedness of the actual type.
40153         * modules/inttostr (Depends-on): Add verify.
40154
40155 2009-10-30  Eric Blake  <ebb9@byu.net>
40156
40157         build: avoid compiler warnings
40158         * lib/fchmodat.c (lchmod): Mark unused variables.
40159         * lib/getopt.c (_getopt_initialize): Likewise.
40160         * lib/mktime.c (__mktime_internal): Provide prototype.
40161         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40162         older gcc that do not understand #pragma GCC diagnostic.
40163         * lib/uinttostr.c (inttype_is_unsigned): Define.
40164         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40165
40166 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40167
40168         stat: fix compilation on AIX
40169         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40170         only see struct stat64.
40171
40172 2009-10-30  Eric Blake  <ebb9@byu.net>
40173
40174         exclude: make more robust
40175         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40176         rather than masking a coding bug.
40177         Suggested by Bruno Haible.
40178
40179 2009-10-30  Jim Meyering  <meyering@redhat.com>
40180
40181         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40182         Rather than putting #!/usr/bin/perl on the first line,
40183         start with a variant of what's recommended by "man perlrun" that
40184         invokes the first "perl" program from your shell's search path.
40185         * build-aux/gitlog-to-changelog: Replace #!... as above.
40186         Add a "Local Variables" perl mode setting.
40187         Prompted by a patch from Ludovic Courtès.
40188         Improved by Eric Blake.
40189         * build-aux/useless-if-before-free: Likewise.
40190         * build-aux/announce-gen: Likewise.
40191         * build-aux/update-copyright: Likewise.
40192
40193 2009-10-29  Eric Blake  <ebb9@byu.net>
40194
40195         filenamecat-lgpl: adjust clients
40196         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40197         filenamecat.
40198         * modules/renameat (Depends-on): Likewise.
40199
40200         filenamecat: split into filenamecat-lgpl
40201         * modules/filenamecat-lgpl: New module.
40202         * modules/filenamecat (Files): Move library-safe files into
40203         filenamecat-lgpl.
40204         (Depends-on): Add filenamecat-lgpl.
40205         (configure.ac): Declare witness.
40206         * lib/filenamecat.h (file_name_concat): Only declare when using
40207         GPL module.
40208         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40209         Move...
40210         * lib/filenamecat-lgpl.c: ...into new file.
40211         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40212         (gl_FILE_NAME_CONCAT): Use it.
40213         * MODULES.html.sh (File system functions): Mention new module.
40214
40215         argp: avoid memory leak
40216         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40217         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40218         base_name, since the latter malloc()s and can call exit().
40219         Leak introduced 2006-07-03.
40220
40221         dirname-lgpl: adjust clients that don't need full dirname
40222         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40223         * modules/filenamecat (Depends-on): Likewise.
40224         * modules/linkat (Depends-on): Likewise.
40225         * modules/mkancesdirs (Depends-on): Likewise.
40226         * modules/mkdir (Depends-on): Likewise.
40227         * modules/openat (Depends-on): Likewise.
40228         * modules/savewd (Depends-on): Likewise.
40229         * modules/rename (Depends-on): Likewise.
40230         (License): Relax license.
40231         * modules/mkdir-tests (Depends-on): Drop progname.
40232         (Makefile.am): Delete unneeded LDADD.
40233         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
40234
40235         dirname: split into dirname-lgpl
40236         * modules/dirname-lgpl: New module.
40237         * modules/dirname (Files): Move library-safe files into
40238         dirname-lgpl.
40239         (Depends-on): Add dirname-lgpl.
40240         (configure.ac): Declare witness.
40241         * modules/double-slash-root (License): Relax license.
40242         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
40243         module.
40244         * lib/dirname.c (dir_len, mdir_name): Move...
40245         * lib/dirname-lgpl.c: ...into new file.
40246         * lib/basename.c (last_component, base_len): Move...
40247         * lib/basename-lgpl.c: ...into new file.
40248         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
40249         (gl_DIRNAME): Use it.
40250         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
40251         Mention new module.
40252         * modules/dirname-tests (Depends-on): Add progname.
40253         * tests/test-dirname.c (program_name): Delete.
40254
40255         mkdir: make safe for libraries
40256         * modules/mkdir (Depends-on): Drop xalloc.
40257         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40258         exit.
40259
40260         tests: avoid some compiler warnings
40261         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40262         literals.
40263         * tests/test-memchr.c (main): Avoid type mismatch.
40264         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40265         * tests/test-base64.c (main): Likewise.
40266         * tests/test-getdelim.c (main): Likewise.
40267         * tests/test-gethostname.c (main): Likewise.
40268         * tests/test-getline.c (main): Likewise.
40269         * tests/test-netinet_in.c (main): Likewise.
40270         * tests/test-select.c (open_server_socket, main): Likewise.
40271         * tests/test-select-stdin.c (main): Likewise.
40272         * tests/test-sockets.c (main): Likewise.
40273         * tests/test-strsignal.c (main): Likewise.
40274         * tests/test-sys_select.c (main): Likewise.
40275         * tests/test-sys_socket.c (main): Likewise.
40276         * tests/test-u64.c (main): Likewise.
40277         * tests/test-xfprintf-posix.c (main): Likewise.
40278         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40279
40280         sockets: avoid compiler warning
40281         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40282
40283         maint: detect usage(1) and other suspicious exits
40284         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40285
40286 2009-10-29  Jim Meyering  <meyering@redhat.com>
40287
40288         timespec: long-to-int truncation could make timespec_cmp malfunction
40289         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40290         a multiple of 2^32 nanoseconds as no difference.
40291
40292 2009-10-28  Jim Meyering  <meyering@redhat.com>
40293
40294         fprintftime: wrap macro code argument in "do {...} while(0)"
40295         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40296         cpy macro must be a statement that can be followed by a semicolon.
40297         Now that the else clause contains a comment and is hence longer
40298         than one line, I require curly braces.  That in turn requires
40299         that we wrap this code block in the standard do...while(0).
40300
40301         fprintftime: remove stray semicolon from previous change
40302         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40303
40304         fprintftime: avoid a warning about ignored fwrite return value
40305         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40306         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40307         that is unsafe.
40308         * modules/fprintftime (Depends-on): Add ignore-value.
40309
40310         exclude: avoid an unwarranted warning
40311         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40312
40313 2009-10-27  Eric Blake  <ebb9@byu.net>
40314
40315         fseek: avoid compilation failure when fflush is replaced
40316         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40317         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40318         module is in use.
40319         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40320         module is not in use; since REPLACE_FSEEK worked otherwise.
40321         (GNULIB_FTELLO): Likewise for ftell.
40322         Reported by Ian Beckwith and others.
40323
40324 2009-10-27  Bruno Haible  <bruno@clisp.org>
40325
40326         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40327         Reported by Jim Meyering.
40328
40329 2009-10-27  Jim Meyering  <jim@meyering.net>
40330             Bruno Haible  <bruno@clisp.org>
40331
40332         Avoid warning despite dropping the return value of fwrite.
40333         * lib/unicodeio.c: Include ignore-value.h.
40334         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40335         * modules/unicodeio (Depends-on): Add ignore-value.
40336
40337 2009-10-26  Eric Blake  <ebb9@byu.net>
40338
40339         areadlinkat: fix fallback path
40340         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40341         pointer and zero.
40342
40343 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40344
40345         Use a better IO block size for modern systems
40346         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40347         * lib/md2.c: Likewise.
40348         * lib/md4.c: Likewise.
40349         * lib/md5.c: Likewise.
40350         * lib/sha1.c: Likewise.
40351         * lib/sha256.c: Likewise.
40352         * lib/sha512.c: Likewise.
40353
40354 2009-10-22  Eric Blake  <ebb9@byu.net>
40355
40356         tests: avoid several compiler warnings
40357         * tests/test-getcwd.c (main): Avoid buffer underflow.
40358         * tests/test-getdate.c (main): String literals are not safe with
40359         putenv, so use setenv.  Declare unused argument.
40360         * modules/getdate-tests (Depends-on): Add setenv.
40361         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40362         problems with string literals in char *.
40363         * tests/test-hash.c (main): Avoid shadowing declaration.
40364         (insert_new): Treat string literals as char const *.
40365         * tests/test-getopt.h (test_getopt): Likewise.
40366         (getopt_loop): Alter types to minimize casting elsewhere.
40367         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40368         (test_getopt_long_posix): Likewise.
40369         (do_getopt_long): Add wrapper to minimize casting.
40370         * tests/test-atexit.c (clear_temp_file): Use void.
40371         * tests/test-areadlink-with-size.c (main): Declare unused
40372         arguments.
40373         * tests/test-areadlink.c (main): Likewise.
40374         * tests/test-areadlinkat-with-size.c (main): Likewise.
40375         * tests/test-areadlinkat.c (main): Likewise.
40376         * tests/test-canonicalize-lgpl.c (main): Likewise.
40377         * tests/test-canonicalize.c (main): Likewise.
40378         * tests/test-dirent-safer.c (main): Likewise.
40379         * tests/test-dirname.c (main): Likewise.
40380         * tests/test-dup2.c (main): Likewise.
40381         * tests/test-fchdir.c (main): Likewise.
40382         * tests/test-fcntl-h.c (main): Likewise.
40383         * tests/test-fcntl-safer.c (main): Likewise.
40384         * tests/test-fdopendir.c (main): Likewise.
40385         * tests/test-fdutimensat.c (main): Likewise.
40386         * tests/test-fflush.c (main): Likewise.
40387         * tests/test-filenamecat.c (main): Likewise.
40388         * tests/test-filevercmp.c (main): Likewise.
40389         * tests/test-fopen-safer.c (main): Likewise.
40390         * tests/test-fopen.c (main): Likewise.
40391         * tests/test-fpending.c (main): Likewise.
40392         * tests/test-fpurge.c (main): Likewise.
40393         * tests/test-freading.c (main): Likewise.
40394         * tests/test-fstatat.c (main): Likewise.
40395         * tests/test-fsync.c (main): Likewise.
40396         * tests/test-futimens.c (main): Likewise.
40397         * tests/test-getndelim2.c (main): Likewise.
40398         * tests/test-gettimeofday.c (main): Likewise.
40399         * tests/test-getopt.c (main): Likewise.
40400         * tests/test-i-ring.c (main): Likewise.
40401         * tests/test-inttypes.c (main): Likewise.
40402         * tests/test-link.c (main): Likewise.
40403         * tests/test-lstat.c (main): Likewise.
40404         * tests/test-math.c (main): Likewise.
40405         * tests/test-md5.c (main): Likewise.
40406         * tests/test-memchr2.c (main): Likewise.
40407         * tests/test-memrchr.c (main): Likewise.
40408         * tests/test-mkdir.c (main): Likewise.
40409         * tests/test-mkdirat.c (main): Likewise.
40410         * tests/test-mkfifoat.c (main): Likewise.
40411         * tests/test-open.c (main): Likewise.
40412         * tests/test-openat-safer.c (main): Likewise.
40413         * tests/test-openat.c (main): Likewise.
40414         * tests/test-quotearg.c (main): Likewise.
40415         * tests/test-rawmemchr.c (main): Likewise.
40416         * tests/test-readlink.c (main): Likewise.
40417         * tests/test-remove.c (main): Likewise.
40418         * tests/test-rename.c (main): Likewise.
40419         * tests/test-renameat.c (main): Likewise.
40420         * tests/test-rmdir.c (main): Likewise.
40421         * tests/test-sha1.c (main): Likewise.
40422         * tests/test-signal.c (main): Likewise.
40423         * tests/test-sigaction.c (main): Likewise.
40424         * tests/test-stat.c (main): Likewise.
40425         * tests/test-stat-time.c (main): Likewise.
40426         * tests/test-stddef.c (main): Likewise.
40427         * tests/test-stdint.c (main): Likewise.
40428         * tests/test-stdio.c (main): Likewise.
40429         * tests/test-stdlib.c (main): Likewise.
40430         * tests/test-strchrnul.c (main): Likewise.
40431         * tests/test-strerror.c (main): Likewise.
40432         * tests/test-string.c (main): Likewise.
40433         * tests/test-strtod.c (main): Likewise.
40434         * tests/test-strverscmp.c (main): Likewise.
40435         * tests/test-symlink.c (main): Likewise.
40436         * tests/test-symlinkat.c (main): Likewise.
40437         * tests/test-sys_stat.c (main): Likewise.
40438         * tests/test-sys_time.c (main): Likewise.
40439         * tests/test-time.c (main): Likewise.
40440         * tests/test-unistd.c (main): Likewise.
40441         * tests/test-unlink.c (main): Likewise.
40442         * tests/test-unlinkat.c (main): Likewise.
40443         * tests/test-utimens.c (main): Likewise.
40444         * tests/test-utimensat.c (main): Likewise.
40445         * tests/test-version-etc.c (main): Likewise.
40446         * tests/test-wchar.c (main): Likewise.
40447         * tests/test-wctype.c (main): Likewise.
40448         * tests/test-xprintf-posix.c (main): Likewise.
40449         * tests/test-posixtm.c (main): Likewise.
40450         (STREQ): Delete unused macro.
40451         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40452         shadowed variables.
40453         * tests/test-memchr.c (main): Likewise.
40454
40455 2009-10-21  Eric Blake  <ebb9@byu.net>
40456
40457         areadlinkat: avoid failure on older glibc
40458         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40459         rather than mis-comparing 0 against FUNC_RESULT of char*.
40460
40461 2009-10-21  Bruno Haible  <bruno@clisp.org>
40462
40463         * modules/stpncpy (License): Relicense under LGPLv2+.
40464         Reported by David Lutterkort <lutter@redhat.com>.
40465
40466 2009-10-20  Eric Blake  <ebb9@byu.net>
40467
40468         utimensat: work around Solaris 9 bug
40469         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40470         has trailing slash bugs.
40471         * tests/test-lutimens.h (test_lutimens): Enhance test.
40472         * tests/test-utimens.h (test_utimens): Likewise.
40473         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40474         * doc/posix-functions/utimes.texi (utimes): Likewise.
40475         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40476         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40477         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40478         * doc/posix-functions/futimens.texi (futimens): Likewise.
40479
40480         fdutimensat: new module
40481         * modules/fdutimensat: New file.
40482         * lib/fdutimensat.c (fdutimensat): Likewise.
40483         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40484         * MODULES.html.sh (File system functions): Mention module.
40485         * modules/fdutimensat-tests: New test.
40486         * tests/test-fdutimensat.c: Likewise.
40487
40488         doc: regenerate INSTALL
40489         * doc/INSTALL: Reflect recent autoconf update.
40490         * doc/INSTALL.ISO: Likewise.
40491         * doc/INSTALL.UTF-8: Likewise.
40492
40493 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40494
40495         acl: warn if ACL support is not detected
40496         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40497
40498 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40499
40500         * lib/nproc.h: Add extern "C" block for C++.
40501
40502 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40503             Bruno Haible  <bruno@clisp.org>
40504
40505         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40506         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40507         * doc/posix-functions/isalpha.texi: Likewise.
40508         * doc/posix-functions/isblank.texi: Likewise.
40509         * doc/posix-functions/iscntrl.texi: Likewise.
40510         * doc/posix-functions/isdigit.texi: Likewise.
40511         * doc/posix-functions/isgraph.texi: Likewise.
40512         * doc/posix-functions/islower.texi: Likewise.
40513         * doc/posix-functions/isprint.texi: Likewise.
40514         * doc/posix-functions/ispunct.texi: Likewise.
40515         * doc/posix-functions/isspace.texi: Likewise.
40516         * doc/posix-functions/isupper.texi: Likewise.
40517         * doc/posix-functions/isxdigit.texi: Likewise.
40518
40519 2009-10-18  Bruno Haible  <bruno@clisp.org>
40520
40521         Tests for module 'isblank'.
40522         * modules/isblank-tests: New file.
40523         * tests/test-isblank.c: New file.
40524
40525         New module 'isblank'.
40526         * lib/isblank.c: New file.
40527         * m4/isblank.m4: New file.
40528         * modules/isblank: New file.
40529         * doc/posix-functions/isblank.texi: Mention the new module.
40530
40531 2009-10-18  Bruno Haible  <bruno@clisp.org>
40532
40533         New module 'ctype'.
40534         * lib/ctype.in.h: New file.
40535         * m4/ctype.m4: New file.
40536         * modules/ctype: New file.
40537         * doc/posix-headers/ctype.texi: Mention the new module.
40538
40539 2009-10-18  Jim Meyering  <meyering@redhat.com>
40540
40541         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40542         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40543         right after its initialization, rather than farther down.
40544         Keeping these in close proximity makes it easier to ensure
40545         that each such variable is initialized.  E.g.,
40546
40547             LIB_CLOCK_GETTIME=
40548             AC_SUBST([LIB_CLOCK_GETTIME])
40549
40550         This change also increments these serial numbers.
40551         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40552         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40554
40555 2009-10-18  Bruno Haible  <bruno@clisp.org>
40556
40557         Don't let environment variables perturb build.
40558         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40559         (gl_PREREQ_GETHRXTIME): ... not here.
40560
40561 2009-10-18  Bruno Haible  <bruno@clisp.org>
40562
40563         Avoid symlink attack in localcharset module.
40564         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
40565         (O_NOFOLLOW): Define fallback.
40566         (get_charset_aliases): Don't open the file if it is a symbolic link.
40567         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
40568         gl_FCNTL_H.
40569         (gl_FCNTL_H): Require it.
40570         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
40571         * modules/localcharset (Files): Add m4/fcntl_h.m4.
40572         Reported by Fergal Glynn <fglynn@veracode.com>.
40573
40574 2009-10-18  Bruno Haible  <bruno@clisp.org>
40575
40576         Implement nproc for mingw.
40577         * lib/nproc.c: Include <windows.h>
40578         (num_processors): On native Windows platforms, try GetSystemInfo.
40579
40580 2009-10-18  Bruno Haible  <bruno@clisp.org>
40581
40582         Implement nproc for IRIX.
40583         * lib/nproc.c: Include <sys/sysmp.h>.
40584         (num_processors): On IRIX systems, try sysmp.
40585         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
40586
40587 2009-10-18  Bruno Haible  <bruno@clisp.org>
40588
40589         Implement nproc for HP-UX.
40590         * lib/nproc.c: Include <sys/pstat.h>
40591         (num_processors): On HP-UX systems, try pstat_getdynamic.
40592         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
40593         pstat_getdynamic.
40594
40595 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
40596             Bruno Haible  <bruno@clisp.org>
40597
40598         Implement nproc for NetBSD, OpenBSD.
40599         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
40600         (ARRAY_SIZE): New macro.
40601         (num_processors): On BSD systems, try sysctl of HW_NCPU.
40602         * m4/nproc.m4: New file.
40603         * modules/nproc (Files): Add m4/nproc.m4.
40604         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
40605         (Makefile.am): Instead, augment lib_SOURCES.
40606
40607 2009-10-18  Bruno Haible  <bruno@clisp.org>
40608
40609         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
40610         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
40611         sys/param.h.
40612
40613 2009-10-16  Eric Blake  <ebb9@byu.net>
40614
40615         utimensat: new module
40616         * modules/utimensat: New file.
40617         * lib/utimensat.c (utimensat): Likewise.
40618         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40619         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
40620         so we can work around Linux bugs.
40621         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40622         * modules/sys_stat (Makefile.am): Substitute them.
40623         * lib/sys_stat.in.h (utimensat): Declare it.
40624         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40625         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40626         * modules/utimensat-tests: New test.
40627         * tests/test-utimensat.c: Likewise.
40628
40629         utimens: let lutimens work on non-symlinks
40630         * lib/utimens.c (lutimens): Fall back to utimens rather than
40631         failing with ENOSYS, when file is not a symlink.
40632         (utimens): Reduce redirection.
40633         * tests/test-lutimens.h (test_lutimens): Update test to cover
40634         non-symlinks.
40635         * tests/test-utimens.h (test_utimens): Update test to cover
40636         symlinks.
40637         * tests/test-utimens.c (main): Update caller.
40638
40639         utimens: cache whether utimensat syscall works
40640         * lib/utimens.c (utimensat_works_really): New cache variable.
40641         (fdutimens, lutimens): Use it to avoid failing syscall.
40642
40643         test-stat-time, test-utimens: improve portability
40644         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
40645         ext4 on alpha, and for cygwin.
40646         * tests/test-utimens-common.h: New file.
40647         (nap): Factor delays into single function.
40648         * tests/test-lutimens.h (test_lutimens): Use new header.
40649         * tests/test-futimens.h (test_futimens): Likewise.
40650         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
40651         timestamps to occur from same machine, as was done previously for
40652         test_utimens.
40653         * modules/utimens-tests (Files): Ship new file.
40654         * modules/futimens-tests (Files): Likewise.
40655         Reported in part by Jim Meyering.
40656
40657         sys_stat: sort replacement declarations
40658         * lib/sys_stat.in.h: Sort declarations.
40659         * lib/futimens.c (futimens): Fix typo.
40660
40661 2009-10-15  Jim Meyering  <meyering@redhat.com>
40662
40663         don't let environment settings perturb build
40664         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
40665         could cause a configure-time and/or build-time malfunction.
40666         Typically, a configure-time function-in-library test is performed
40667         via code like this:
40668
40669           LIB_VAR=
40670           AC_SUBST([LIB_VAR])
40671           prefix_saved_LIBS=$LIBS
40672             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
40673                        [test "$ac_cv_search_FUNC" = "none required" ||
40674                         LIB_VAR=$ac_cv_search_FUNC])
40675           LIBS=$prefix_saved_LIBS
40676
40677         However, in each of the files affected by this change, the LIB_VAR=
40678         initialization was omitted.  Thus, when set in the environment, its
40679         value would propagate into generated Makefiles when FUNC is not found
40680         in LIB_NAME.
40681         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
40682         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40683         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40684
40685 2009-10-14  Eric Blake  <ebb9@byu.net>
40686
40687         fchdir: avoid infinite recursion in mingw
40688         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
40689         recursing.
40690
40691         test-stat-time: port to mingw
40692         * tests/test-stat-time.c (force_unlink): Return a value.
40693         (test_ctime) [W32]: Fix compilation error.
40694         (nap): Don't call usleep with too large an argument.  Use
40695         force_unlink.
40696         * doc/pastposix-functions/usleep.texi (usleep): Document the
40697         portability issue.
40698
40699 2009-10-13  Jim Meyering  <meyering@redhat.com>
40700
40701         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
40702         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
40703         * modules/pipe-filter-ii: Likewise.
40704         * modules/sys_socket-tests: Likewise.
40705         * modules/tsearch-tests: Likewise.
40706         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
40707         (check): Depend on it.
40708
40709 2009-10-12  Eric Blake  <ebb9@byu.net>
40710
40711         utimens-tests: port to NFS file systems
40712         * tests/test-utimens.h (test_utimens): Refactor utimecmp
40713         comparisons to avoid spurious failures from timestamp drift
40714         between NFS machines.
40715
40716 2009-10-12  Eric Blake  <ebb9@byu.net>
40717
40718         stat-time-tests: minor cleanups
40719         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
40720         * tests/test-stat-time.c (nap): Separate assignment from call.
40721         Suggested by Paolo Bonzini and Bruno Haible.
40722
40723         sys_stat: guarantee struct timespec
40724         * lib/sys_stat.in.h (includes): Always include <time.h>
40725         * modules/sys_stat (Depends-on): Add time.
40726         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
40727         mode_t permission values.
40728         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
40729         get at subsecond timestamps.
40730
40731 2009-10-10  Eric Blake  <ebb9@byu.net>
40732
40733         futimens: new module
40734         * modules/futimens: New file.
40735         * lib/futimens.c (futimens): Likewise.
40736         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
40737         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
40738         we can work around Linux bugs.
40739         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40740         * modules/sys_stat (Makefile.am): Substitute them.
40741         * lib/sys_stat.in.h (futimens): Declare it.
40742         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40743         * doc/posix-functions/futimens.texi (futimens): Likewise.
40744         * modules/futimens-tests: New test.
40745         * tests/test-futimens.c: Likewise.
40746
40747         utimens: introduce fdutimens
40748         * lib/utimens.h (fdutimens): New prototype.
40749         * lib/utimens.c (gl_futimens): Move guts...
40750         (fdutimens): ...to new interface.
40751         * tests/test-utimens.c (do_fdutimens): Use it.
40752
40753         utimens: add UTIME_NOW and UTIME_OMIT support
40754         * lib/utimens.c (validate_timespec, update_timespec): New helper
40755         functions.
40756         (gl_futimens, lutimens): Use them.
40757         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
40758         stdbool, sys_stat.
40759         (Link): Mention resulting library dependency.
40760         * modules/utimecmp (Link): Likewise.
40761         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
40762         (Makefile.am): Pick up library dependency.
40763         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
40764         definition.
40765         * tests/test-sys_stat.c: Test the definitions.
40766         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40767         * NEWS: Document library dependency.
40768
40769         utimecmp: support symlink timestamps
40770         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40771         hashing when possible.  Use pathconf when available.
40772         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40773         * modules/utimecmp (Depends-on): Add lstat.
40774
40775         utimens: add lutimens interface
40776         * lib/utimens.c (lutimens): New function.
40777         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40778         * lib/utimens.h (lutimens): Declare new interface.
40779         * tests/test-utimens.c (main): Enhance test.
40780         * tests/test-lutimens.h (test_lutimens): New file.
40781         * modules/utimens-tests (Files): Distribute it.
40782         (Depends-on): Add symlink.
40783         (configure.ac): Check for usleep.
40784
40785         utimens: validate futimens usage
40786         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40787         fewer syscalls on failure later on.  Avoid compiler warning on
40788         mingw.
40789         * modules/utimens (Depends-on): Add dup2.
40790
40791         utimens: add test
40792         * modules/utimens-tests: New test.
40793         * tests/test-utimens.h: New file.
40794         * tests/test-futimens.h: Likewise.
40795         * tests/test-utimens.c: Likewise.
40796
40797         doc: mention timestamp portability issues
40798         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40799         instead.
40800         * doc/posix-functions/utime.texi (utime): Likewise.
40801         * doc/posix-functions/utimes.texi (utimes): Likewise.
40802         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40803         instead.
40804         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40805         module.
40806         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40807         Mention weakness with symlink timestamps.
40808         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40809         to utimensat/futimens instead.
40810         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40811
40812         test-dup2: enhance test
40813         * tests/test-dup2.c (main): Also check AT_FDCWD.
40814
40815         test-stat-time: avoid more spurious failures
40816         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40817         xfs; and avoid race if the two timestamps cross quantization edge.
40818
40819         relocatable: prefer 'file system' over 'filesystem'
40820         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40821         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40822         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40823         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40824         * lib/relocatable.c (compute_curr_prefix): Likewise.
40825
40826 2009-10-10  Jim Meyering  <meyering@redhat.com>
40827
40828         stat-time-tests: check for the usleep function
40829         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40830
40831 2009-10-10  Bruno Haible  <bruno@clisp.org>
40832
40833         * modules/xnanosleep: Put the Link section after the Include section.
40834
40835 2009-10-09  Eric Blake  <ebb9@byu.net>
40836
40837         dup2: work around FreeBSD 6.1 bug
40838         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40839         * doc/posix-functions/dup2.texi (dup2): Document it.
40840         Reported by Nelson H. F. Beebe and Jim Meyering.
40841
40842         test-stat-time: port to buggy NFS clients
40843         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40844         (test_ctime): Also skip test if mtime and ctime are skewed.
40845
40846         maint: prefer 'file system' over 'filesystem'
40847         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40848         * doc/posix-functions/lstat.texi (lstat): Likewise.
40849         * lib/file-has-acl.c (file_has_acl): Likewise.
40850         * lib/fwriteerror.c [TEST]: Likewise.
40851         * tests/test-areadlink.h (test_areadlink): Likewise.
40852         * tests/test-areadlinkat-with-size.c (main): Likewise.
40853         * tests/test-areadlinkat.c (main): Likewise.
40854         * tests/test-canonicalize-lgpl.c (main): Likewise.
40855         * tests/test-canonicalize.c (main): Likewise.
40856         * tests/test-fstatat.c (main): Likewise.
40857         * tests/test-linkat.c (main): Likewise.
40858         * tests/test-lstat.h (test_lstat_func): Likewise.
40859         * tests/test-mkdir.h (test_mkdir): Likewise.
40860         * tests/test-readlink.h (test_readlink): Likewise.
40861         * tests/test-remove.c (main): Likewise.
40862         * tests/test-rename.h (test_rename): Likewise.
40863         * tests/test-renameat.c (main): Likewise.
40864         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40865         * tests/test-symlink.h (test_symlink): Likewise.
40866         * tests/test-symlinkat.c (main): Likewise.
40867         * tests/test-unlink.h (test_unlink_func): Likewise.
40868         * tests/test-unlinkat.c (main): Likewise.
40869
40870         maint: make realtime library usage explicit
40871         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40872         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40873         * modules/settime (Link): Likewise.
40874         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40875
40876         test-stat-time: speed up execution
40877         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40878         warning on mingw.
40879         (nap): New helper function.
40880         (prepare_test): Use it to reduce sleep time.
40881         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40882         execution.
40883         * modules/stat-time-tests (configure.ac): Check for usleep.
40884
40885 2009-10-09  Jim Meyering  <meyering@redhat.com>
40886
40887         selinux-h: always use getfilecon wrappers
40888         * lib/getfilecon.c: New file.
40889         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40890         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40891         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40892         (fgetfilecon): Provide a stub.
40893         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40894         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40895         file unconditionally.
40896         When <selinux/selinux.h> is found, arrange to use wrappers.
40897         * modules/selinux-h (Files): Add getfilecon.c.
40898         (Makefile.am): Substitute include-next-related bits
40899         into the now-always-generated selinux/selinux.h file.
40900         * doc/glibc-functions/lgetfilecon.texi: New file.
40901         * doc/glibc-functions/fgetfilecon.texi: New file.
40902         * doc/glibc-functions/getfilecon.texi: New file.
40903         * doc/glibc-functions/getfilecon-desc.texi: New file.
40904         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40905         which to pull in the new files.
40906         * MODULES.html.sh (Misc): Add selinux-h.
40907
40908 2009-10-08  Jim Meyering  <meyering@redhat.com>
40909
40910         unistd: fix comment typo
40911         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40912
40913 2009-10-08  Eric Blake  <ebb9@byu.net>
40914
40915         areadlink: use SIZE_MAX consistently
40916         * modules/areadlink (Depends-on): Add stdint.
40917         * modules/areadlink-with-size (Depends-on): Likewise.
40918         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40919         gives NULL; drop sys/types, since unistd gives size_t; and add
40920         stdint for SIZE_MAX.
40921         (SIZE_MAX): Rely on headers.
40922         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40923         and add stdint.
40924         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40925         (SIZE_MAX): Likewise.
40926         (INITIAL_BUF_SIZE): Turn into enum.
40927         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40928
40929 2009-10-08  Jim Meyering  <meyering@redhat.com>
40930
40931         areadlinkat: avoid compilation failure
40932         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40933         Fix typo in comment.
40934
40935 2009-10-07  Eric Blake  <ebb9@byu.net>
40936
40937         areadlinkat-with-size: new module
40938         * modules/areadlinkat-with-size: New module.
40939         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40940         * lib/areadlink.h (areadlinkat): Declare it.
40941         * MODULES.html.sh (File system functions): Mention it.
40942         * modules/areadlinkat-with-size-tests: New test.
40943         * tests/test-areadlinkat-with-size.c: New file.
40944
40945         xreadlinkat: new module
40946         * modules/xreadlinkat: New module.
40947         * lib/xreadlinkat.c (xreadlinkat): New file.
40948         * lib/xreadlink.h (xreadlinkat): Declare it.
40949         * MODULES.html.sh (File system functions): Mention it.
40950
40951         areadlinkat: new module
40952         * lib/at-func.c (FUNC_FAIL): New define.
40953         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40954         * modules/areadlinkat: New module.
40955         * lib/linkat.c (areadlinkat): Move...
40956         * lib/areadlinkat.c (areadlinkat): ...to new file.
40957         * lib/areadlink.h (areadlinkat): Declare it.
40958         * modules/linkat (Depends-on): Add areadlinkat.
40959         * MODULES.html.sh (File system functions): Mention it.
40960         * modules/areadlinkat-tests: New test.
40961         * tests/test-areadlinkat.c: New file.
40962
40963         areadlink, areadlink-with-size: add tests
40964         * modules/areadlink-tests: New test.
40965         * modules/areadlink-with-size-tests: Likewise.
40966         * tests/test-areadlink.h: New file.
40967         * tests/test-areadlink.c: Likewise.
40968         * tests/test-areadlink-with-size.c: Likewise.
40969
40970         maint: minor cleanups
40971         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40972         _UNUSED_PARAMETER_ instead.
40973         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40974         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40975         * modules/linkat-tests (Files): Distribute test-link.h.
40976
40977         openat, utimens: whitespace cleanup
40978         * lib/openat.c: Prefer space throughout, rather than mix of 8
40979         spaces vs. tabs.
40980         * lib/at-func.c: Likewise.
40981         * lib/utimens.c: Likewise.
40982
40983         openat: avoid using wrong fd
40984         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40985         working directory chooses same fd.
40986         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40987
40988         mkdir, mkdirat: fix cygwin 1.5.x bug
40989         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40990         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40991         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40992         bug.
40993         (gl_PREREQ_MKDIR): Delete unused macro.
40994         * modules/mkdir (Files): Track file rename.
40995         (configure.ac): Update macro name.
40996         * modules/openat (Depends-on): Add mkdir.
40997         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40998
40999         mkdir, mkdirat: add tests
41000         * modules/mkdir-tests: New test.
41001         * tests/test-mkdir.h: New file.
41002         * tests/test-mkdir.c: Likewise.
41003         * tests/test-mkdirat.c: Likewise.
41004         * modules/openat-tests (Files): Add new files.
41005         (Makefile.am): Run new test.
41006
41007 2009-10-06  Eric Blake  <ebb9@byu.net>
41008
41009         doc: tweak *at function documentation
41010         * doc/posix-functions/faccessat.texi (faccessat): Mention
41011         known issue with replacement.
41012         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41013         * doc/posix-functions/linkat.texi (linkat): Likewise.
41014         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41015         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41016         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41017         * doc/posix-functions/renameat.texi (renameat): Likewise.
41018         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41019
41020         openat: fix GNU/Hurd bug in unlinkat
41021         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41022         broken.
41023         * doc/posix-functions/unlink.texi (unlink): Document this.
41024         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41025
41026         fdopendir: fix GNU/Hurd bug
41027         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41028         allowing non-directory fds.
41029         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41030         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41031         * modules/dirent (Makefile.am): Substitute it.
41032         * lib/dirent.in.h (fdopendir): Declare replacement.
41033         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41034         * tests/test-fdopendir.c (main): Test something other than
41035         /dev/null, since on Hurd that behaves like a directory.
41036
41037         test-symlink: port to GNU/Hurd
41038         * tests/test-symlink.h (test_symlink): Relax expected errno.
41039
41040         doc: tweak more cygwin information
41041         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41042         now compatible with glibc.
41043         * doc/posix-functions/getopt.texi (getopt): Likewise.
41044
41045         getopt-gnu: add another test
41046         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41047         guarantee behavior relied on by m4.
41048         * tests/test-getopt.c (main): Use it.
41049         * modules/getopt-posix-tests (Depends-on): Add setenv.
41050         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41051
41052         getopt: fix compilation on darwin
41053         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41054         include.
41055         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41056         Reported by Ludovic Courtès.
41057
41058 2009-10-06  Bruno Haible  <bruno@clisp.org>
41059
41060         * modules/size_max (Description): Discourage its use.
41061         Reported by Simon Josefsson.
41062
41063 2009-10-06  Jim Meyering  <meyering@redhat.com>
41064
41065         linkat: avoid compilation failure
41066         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41067
41068 2009-10-05  Eric Blake  <ebb9@byu.net>
41069
41070         linkat: support Linux 2.6.17
41071         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41072         linkat on Linux, but allow cache variable override.
41073         * lib/linkat.c (rpl_linkat): Define override.
41074         * modules/linkat (Depends-on): Add symlinkat.
41075         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41076         * modules/unistd (Makefile.am): Substitute it.
41077         * lib/unistd.in.h (linkat): Declare replacement.
41078         Reported by Pádraig Brady.
41079
41080         quotearg: port test to systems with C.UTF-8 locale
41081         * tests/test-quotearg.c (struct result_strings): Add another
41082         member, differentiating between C.ASCII and C.UTF-8 handling.
41083         (compare_strings): Add parameter.
41084         (main): Adjust all callers.
41085
41086         getopt: avoid clash with FreeBSD _getopt_internal
41087         * lib/getopt.in.h (_getopt_internal): Override the name.
41088         * lib/getopt_int.h (includes): Pick up any overrides.
41089         Reported by Reuben Thomas.
41090
41091         hash: allow C89 compilation
41092         * lib/hash.c (check_tuning): Move declaration before statement.
41093         Reported by Reuben Thomas.
41094
41095 2009-10-05  Karl Berry  <karl@gnu.org>
41096
41097         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41098
41099 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41100             Bruno Haible  <bruno@clisp.org>
41101
41102         * lib/uname.c (uname): Use a table-driven algorithm to compute
41103         Windows NT versions.
41104
41105 2009-10-04  Bruno Haible  <bruno@clisp.org>
41106
41107         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41108         program_invocation_short_name.
41109         * modules/progname (configure.ac): Test for presence of
41110         program_invocation_short_name.
41111         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41112
41113 2009-10-04  Bruno Haible  <bruno@clisp.org>
41114
41115         * lib/progname.c (set_program_name): Fix comment.
41116         Reported by Jim Meyering.
41117
41118 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41119             Bruno Haible  <bruno@clisp.org>
41120
41121         * lib/uname.c: Include <string.h>.
41122         (uname): Do only one call to GetVersionEx in the common case.
41123
41124 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41125             Bruno Haible  <bruno@clisp.org>
41126
41127         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41128         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41129         (uname): Add support for Windows CE and various non-x86 CPU types.
41130
41131 2009-10-03  Bruno Haible  <bruno@clisp.org>
41132
41133         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41134         invocation to tests/configure.ac.
41135         Reported by Ian Beckwith <ianb@erislabs.net>.
41136
41137 2009-10-02  Eric Blake  <ebb9@byu.net>
41138
41139         fchdir: avoid compiler warning
41140         * lib/fchdir.c (canonicalize_file_name)
41141         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41142
41143         test-open: support mingw errno values
41144         * tests/test-open.h (test_open): Relax test.
41145         * tests/test-fopen.h (test_fopen): Likewise.
41146         * tests/test-openat-safer.c (main): Likewise.
41147
41148         open: fix opening directory on mingw
41149         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41150
41151         test-open: on GNU/Hurd, /dev/null is a directory
41152         * tests/test-fopen.h (main): Rename...
41153         (test_fopen): ...to this.  Use a guaranteed non-directory when
41154         confirming open behavior on trailing slash.
41155         * tests/test-openat-safer.c (main): Likewise.
41156         * tests/test-open.h (main): Likewise....
41157         (test_open): ...to this.
41158         * tests/test-fopen.c (main): Adjust caller.
41159         * tests/test-fopen-safer.c (main): Likewise.
41160         * tests/test-open.c (main): Likewise.
41161         * tests/test-fcntl-safer.c (main): Likewise.
41162         Reported by Samuel Thibault.
41163
41164         rename, fchdir: don't ignore chdir failure
41165         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41166         * lib/rename.c (rpl_rename) [W32]: Likewise.
41167         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41168         an empty destination directory if source cannot be renamed,
41169         although there is still possibility for failure.
41170         * doc/posix-functions/rename.texi (rename): Document the race.
41171         Reported by Jim Meyering.
41172
41173         maint: cleanup whitespace in recent commits
41174         * lib/rename.c (rpl_rename): Remove tabs.
41175         * tests/test-link.h (test_link): Likewise.
41176         * lib/fchdir.c (get_name): Likewise.
41177         Reported by Jim Meyering.
41178
41179 2009-10-02  Ben Pfaff  <blp@gnu.org>
41180
41181         relocatable-prog-wrapper: Add missing dependency on
41182         double-slash-root.
41183         * modules/relocatable-prog-wrapper: Add dependency.
41184         Reported by Ian Beckwith <ianb@erislabs.net>.
41185
41186 2009-10-02  Eric Blake  <ebb9@byu.net>
41187
41188         renameat: fix Solaris bugs
41189         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41190         needed fixing.
41191         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41192         * modules/stdio (Makefile.am): Substitute it.
41193         * lib/stdio.in.h (renameat): Declare replacement.
41194         * lib/renameat.c (rpl_renameat): Implement fix.
41195
41196         renameat: new module
41197         * modules/renameat: New file.
41198         * lib/renameat.c (renameat): Likewise.
41199         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41200         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41201         * modules/stdio (Makefile.am): Substitute them.
41202         * lib/stdio.in.h (renameat): Declare it.
41203         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41204         * doc/posix-functions/renameat.texi (renameat): Likewise.
41205         * modules/renameat-tests: New test.
41206         * tests/test-renameat.c: Likewise.
41207
41208         rename: fix mingw bugs
41209         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41210         directory overwrite bugs.
41211
41212         rename: fix another cygwin 1.5 bug
41213         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41214         checks.
41215         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41216         unnecessary cygwin workarounds.  Also work around bug with moving
41217         full directory onto an empty one.
41218         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41219
41220         rename-dest-slash: merge into rename module
41221         * modules/rename-dest-slash (Status): Mark obsolete.
41222         (Depends-on): Add rename.
41223         (Files): Let rename do it all.
41224         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41225         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41226         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41227         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41228         * lib/rename.c (rpl_rename): Update comments.
41229
41230         rename: fix cygwin 1.5.x bugs
41231         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41232         * lib/rename.c (rpl_rename): Work around them.
41233         * modules/rename (Depends-on): Add same-inode.
41234
41235         rename: fix Solaris 10 bug
41236         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41237         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
41238         was the only bug.
41239
41240         rename: fix Solaris 9 bug
41241         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
41242         on non-directory.  Avoid calling exit.
41243         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
41244         strdup.
41245         * modules/rename-tests (Depends-on): Drop lstat.
41246         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41247         (gl_PREREQ_RENAME): Delete unused macro.
41248
41249         rename-dest-slash: fix NetBSD bug
41250         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
41251         links.
41252         * modules/rename-dest-slash (Depends-on): Add same-inode.
41253
41254         rename-tests: new test, exposes several platform bugs
41255         * modules/rename-tests: New file.
41256         * tests/test-rename.h: Likewise.
41257         * tests/test-rename.c: Likewise.
41258         * doc/posix-functions/rename.texi (rename): Improve documentation,
41259         including bugs that will eventually be fixed in gnulib.
41260
41261 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41262
41263         * lib/uname.c: Include <stdlib.h>
41264         (uname): Assume version info is available.
41265
41266 2009-10-02  Jim Meyering  <meyering@redhat.com>
41267
41268         gnu-web-doc-update: correct --help output
41269         * build-aux/gnu-web-doc-update: Make --help output relevant.
41270
41271         gnu-web-doc-update: add standard options
41272         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41273
41274         gnu-web-doc-update: New module.
41275         Use this script to automatically update the on-line web documentation
41276         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41277         * modules/gnu-web-doc-update: New file, from coreutils.
41278         * build-aux/gnu-web-doc-update: New script.
41279
41280 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41281
41282         link: LoadLibrary is not needed.
41283         * lib/link.c: Use GetModuleHandle.
41284
41285 2009-10-01  Eric Blake  <ebb9@byu.net>
41286
41287         getopt: bump serial number
41288         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41289         change.
41290
41291         tests: tighten link, rmdir, and remove tests
41292         * tests/test-link.h (includes): No need to use <config.h> here.
41293         Clean up if directory hard link was created, otherwise test for
41294         trailing '.'.
41295         * tests/test-linkat.c (main): Simplify.
41296         * tests/test-remove.c (main): Enhance test for trailing '.'.
41297         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41298
41299 2009-10-01  Jim Meyering  <meyering@redhat.com>
41300
41301         maint.mk: requiring "make major" was annoying, for a "minor" release.
41302         What is intended is "stable", to contrast with alpha and beta,
41303         so require "make stable", not "make major".
41304         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41305         (get_tool_versions): Likewise.
41306         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41307
41308 2009-09-30  Ben Pfaff  <blp@gnu.org>
41309
41310         Fix broken build of replacement for Windows tmpfile().
41311         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41312         flags argument added along with the 'mkostemp' module.
41313
41314 2009-09-28  Bruno Haible  <bruno@clisp.org>
41315
41316         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41317         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41318         to 'remove_elt'.
41319         (gl_list_remove): Update.
41320         * lib/gl_list.c (gl_list_remove): Update.
41321         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41322         to 'remove_elt'.
41323         (gl_oset_remove): Update.
41324         * lib/gl_list.c (gl_oset_remove): Update.
41325         Reported by Eric Blake.
41326
41327 2009-09-28  Eric Blake  <ebb9@byu.net>
41328
41329         doc: mention yet more cygwin 1.7 status
41330         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41331         cygwin.
41332         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41333         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41334
41335         argp: fix test failure
41336         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41337         that are not upper-case.  Pass correct range to tolower.
41338
41339 2009-09-27  Jim Meyering  <meyering@redhat.com>
41340
41341         test-yesno: work around sparc-dash here-document infelicity
41342         Without this change, the literal \177 byte in a here document
41343         would make dash 0.5.5.1-3 access uninitialized memory.
41344         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41345         Instead, use a marker, "@", and filter through tr to create the desired
41346         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41347
41348 2009-09-27  Bruno Haible  <bruno@clisp.org>
41349
41350         Disable untested support for new flavours of ACLs on AIX.
41351         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41352         progress.
41353         * lib/set-mode-acl.c (qset_acl): Likewise.
41354
41355 2008-12-07  Bruno Haible  <bruno@clisp.org>
41356
41357         Add support for new flavours of ACLs on AIX. (Untested.)
41358         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41359         (file_has_acl): Add support for newer AIX.
41360         * lib/set-mode-acl.c (qset_acl): Likewise.
41361         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41362         Rainer Tammer <tammer@tammer.net>.
41363
41364 2009-09-26  Eric Blake  <ebb9@byu.net>
41365
41366         argp: fix compilation of getopt
41367         * lib/getopt.in.h (includes): Use different guard than glibc.
41368         Reported by Sergey Poznyakoff.
41369
41370         doc: mention more cygwin 1.7 status
41371         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41372         bug.
41373         * doc/posix-functions/execl.texi (execl): Likewise.
41374         * doc/posix-functions/execle.texi (execle): Likewise.
41375         * doc/posix-functions/execlp.texi (execlp): Likewise.
41376         * doc/posix-functions/execv.texi (execv): Likewise.
41377         * doc/posix-functions/execve.texi (execve): Likewise.
41378         * doc/posix-functions/execvp.texi (execvp): Likewise.
41379         * doc/glibc-functions/canonicalize_file_name.texi
41380         (canonicalize_file_name): Cygwin 1.7 now provides this.
41381         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41382         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41383         on AT_SYMLINK_NOFOLLOW.
41384
41385 2009-09-24  Eric Blake  <ebb9@byu.net>
41386
41387         test-linkat: make test more robust
41388         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41389
41390         getopt: fix inclusion guards for cygwin
41391         * modules/getopt-posix (Depends-on): Add include-next.
41392         (Makefile.am): Substitute more items in replacement header.
41393         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41394         <getopt.h>.
41395         * lib/getopt.in.h (includes): Use split inclusion guard, and
41396         prefer <getopt.h> over include <unistd.h> when one is present.
41397         (option): Also override name of 'struct option'.
41398
41399         same-inode: revert prior change; it is not yet ready
41400         * NEWS: Undo mention of this change.
41401         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41402         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41403         * lib/cycle-check.c (cycle_check): Likewise.
41404         * lib/same.c (same_name): Likewise.
41405         * lib/at-func2.c (at_func2): Likewise.
41406
41407 2009-09-23  Eric Blake  <ebb9@byu.net>
41408
41409         linkat: new module
41410         * modules/linkat: New file.
41411         * lib/at-func2.c (at_func2): Likewise.
41412         * lib/linkat.c (linkat): Likewise.
41413         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41414         * lib/openat-priv.h (at_func2): Add declaration.
41415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41416         * modules/unistd (Makefile.am): Substitute them.
41417         * lib/unistd.in.h (linkat): Declare it.
41418         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41419         * doc/posix-functions/linkat.texi (linkat): Likewise.
41420         * doc/posix-functions/link.texi (link): Tweak wording.
41421         * tests/test-link.c (main): Move guts...
41422         * tests/test-link.h (test_link): ...into new file.
41423         * modules/linkat-tests: New test.
41424         * tests/test-linkat.c: Likewise.
41425         * modules/link-tests (Files): Ship new file.
41426         (Depends-on): Add stdbool.
41427
41428         dirname: add library-safe mdir_name
41429         * lib/dirname.h (mdir_name): New prototype.
41430         * lib/dirname.c (dir_name): Move guts...
41431         (mdir_name): ...to new function that avoids xalloc_die.
41432
41433         fchdir: another mingw fix
41434         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41435         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41436         on mingw (where it has not yet been ported), and make it optional
41437         elsewhere.
41438         (_gl_register_fd): Use it.
41439
41440         same-inode: make SAME_INODE tri-state, to port to mingw
41441         * NEWS: Mention this change.
41442         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41443         st_ino always being 0.
41444         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41445         * lib/cycle-check.c (cycle_check): Likewise.
41446         * lib/same.c (same_name): Likewise.
41447
41448         lstat: avoid mingw compilation error
41449         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41450         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41451         lstat ourselves.
41452         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41453         was adequate.
41454         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41455         the checks for lstat.
41456         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41457
41458         link: fix test failure on Solaris 9
41459         * lib/link.c (rpl_link): Don't assume link will catch bogus
41460         trailing slash on source.
41461
41462         test-symlinkat: enhance test
41463         * tests/test-readlink.c (main): Move guts...
41464         * tests/test-readlink.h (test_readlink): ...into new file.
41465         * tests/test-symlink.c (main): Move guts...
41466         * tests/test-symlink.h (test_symlink): ...into new file.
41467         * tests/test-symlinkat.c (main): Use new files for further
41468         coverage.
41469         (do_symlink, do_readlink): New helper functions.
41470         * modules/symlink-tests (Files): Ship new file.
41471         (Depends-on): Add stdbool.
41472         * modules/readlink-tests (Files): Ship new file.
41473         (Depends-on): Add stdbool.
41474         * modules/symlinkat-tests (Files): Use new files.
41475
41476 2009-09-23  Eric Blake  <ebb9@byu.net>
41477
41478         readlink: document portability issue with symlink length
41479         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41480         systems have bogus st_size on symlinks, and mention the
41481         areadlink-with-size module.
41482         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41483         * doc/posix-functions/readlink.texi (readlink): Mention the
41484         areadlink module, and ERANGE failure.
41485         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41486         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41487
41488         readlink: fix Solaris 9 bug with trailing slash
41489         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41490         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41491         * doc/posix-functions/readlink.texi (readlink): Document this.
41492         * modules/readlink-tests: New test.
41493         * tests/test-readlink.c: Likewise.
41494
41495         readlink: fix cygwin 1.5.x bug with return type
41496         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41497         * lib/unistd.in.h (readlink): Use ssize_t.
41498         * lib/readlink.c (readlink): Likewise.
41499         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41500         * modules/unistd (Makefile.am): Substitute it.
41501         * lib/unistd.in.h (readlink): Declare replacement.
41502         * doc/posix-functions/readlink.texi (readlink): Document this.
41503
41504         symlink: use throughout gnulib
41505         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41506         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41507         symlink is not used.
41508         * modules/symlinkat (Depends-on): Add symlink.
41509         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41510         * modules/canonicalize-tests (Depends-on): Likewise.
41511         * modules/lstat-tests (Depends-on): Likewise.
41512         * modules/openat-tests (Depends-on): Likewise.
41513         * modules/remove-tests (Depends-on): Likewise.
41514         * modules/rmdir-tests (Depends-on): Likewise.
41515         * modules/unlink-tests (Depends-on): Likewise.
41516         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41517         * tests/test-canonicalize.c (symlink): Likewise.
41518         * tests/test-fstatat.c (symlink): Likewise.
41519         * tests/test-lstat.c (symlink): Likewise.
41520         * tests/test-remove.c (symlink): Likewise.
41521         * tests/test-rmdir.c (symlink): Likewise.
41522         * tests/test-unlink.c (symlink): Likewise.
41523         * tests/test-unlinkat.c (symlink): Likewise.
41524
41525         symlink: new module, for Solaris 9 bug
41526         * modules/symlink: New file.
41527         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41528         * lib/symlink.c: Likewise.
41529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41530         * modules/unistd (Makefile.am): Substitute them.
41531         * lib/unistd.in.h (symlink): Declare replacement.
41532         * MODULES.html.sh (File system functions): Mention it.
41533         * doc/posix-functions/symlink.texi (symlink): Likewise.
41534         * modules/symlink-tests: New test.
41535         * tests/test-symlink.c: Likewise.
41536
41537 2009-09-23  Bruno Haible  <bruno@clisp.org>
41538
41539         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41540         when needed.
41541         Test case: gnulib-tool --import --with-tests atexit inttypes.
41542         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41543
41544 2009-09-23  Bruno Haible  <bruno@clisp.org>
41545
41546         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41547         subcommand, not in a subshell.
41548
41549 2009-09-22  Eric Blake  <ebb9@byu.net>
41550
41551         unistd: sort replacement declarations
41552         * lib/unistd.in.h: Sort declarations.
41553
41554         open, openat: minor optimization
41555         * lib/open.c (open): If open succeeded, len is non-zero.
41556         * lib/openat.c (rpl_openat): Likewise.
41557
41558         link-follow: ensure correct result
41559         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41560         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41561         distinguish between possible failures.
41562
41563 2009-09-21  Eric Blake  <ebb9@byu.net>
41564
41565         fts: avoid compiler warning
41566         * lib/fts.c (dirent_inode_sort_may_be_useful)
41567         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
41568
41569 2009-09-19  Bruno Haible  <bruno@clisp.org>
41570
41571         * lib/progreloc.c (canonicalize_file_name): New declaration.
41572
41573 2009-09-19  Eric Blake  <ebb9@byu.net>
41574
41575         link: fix quoting
41576         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
41577
41578         openat: fix openat bugs on Solaris 9
41579         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
41580         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
41581         * modules/openat (Depends-on): Add open.
41582         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
41583         * modules/fcntl-h (Makefile.am): Substitute it.
41584         * lib/fcntl.in.h (openat): Declare replacement.
41585         * doc/posix-functions/openat.texi (openat): Document this.
41586
41587         openat: move fstatat and unlinkat into correct files
41588         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
41589         compiled.
41590         * lib/openat.c (fstatat, unlinkat): Move...
41591         * lib/fstatat.c (fstatat): ...into correct files.
41592         * lib/unlinkat.c (unlinkat): Likewise.
41593
41594         openat: fix unlinkat bugs on Solaris 9
41595         * lib/unlinkat.c (unlinkat): New file.
41596         * modules/openat (Depends-on): Add unlink.
41597         (Files): Distribute it.
41598         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
41599         trailing slash behavior is broken.
41600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41601         * modules/unistd (Makefile.am): Substitute it.
41602         * lib/unistd.in.h (unlinkat): Declare replacement.
41603         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
41604
41605         openat: fix fstatat bugs on Solaris 9
41606         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
41607         stat.
41608         * doc/posix-functions/fstatat.texi (fstatat): Document this.
41609
41610         test-unlinkat: enhance test, to expose Solaris 9 bug
41611         * tests/test-unlink.c (main): Factor guts...
41612         * tests/test-unlink.h (test_rmdir_func): ...into new file.
41613         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
41614         * tests/test-rmdir.c (main): Adjust caller.
41615         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
41616         (unlinker): New helper function.
41617         (rmdirat): Enhance check.
41618         * modules/rmdir-tests (Depends-on): Add stdbool.
41619         * modules/unlink-tests (Depends-on): Likewise.
41620         (Files): Add test-unlink.h.
41621         * modules/openat-tests (Files): Likewise.
41622         (Depends-on): Add unlinkdir.
41623
41624         test-fstatat: new test, to expose Solaris 9 bugs
41625         * tests/test-stat.c (main): Factor guts...
41626         * tests/test-stat.h (test_stat_func): ...into new file.
41627         * tests/test-lstat.c (main): Factor guts...
41628         * tests/test-lstat.h (test_lstat_func): ...into new file.
41629         * tests/test-fstatat.c: New file.
41630         * modules/stat-tests (Files): Add test-stat.h.
41631         * modules/lstat-tests (Files): Add test-lstat.h.
41632         (Depends-on): Add stdbool.
41633         * modules/openat-tests (Depends-on): Add pathmax.
41634         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
41635         (Makefile.am): Run new test.
41636
41637         remove: new module, for mingw and Solaris 9 bugs
41638         * modules/remove: New file.
41639         * lib/remove.c: Likewise.
41640         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
41641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41642         * modules/stdio (Makefile.am): Use them.
41643         * lib/stdio.in.h (remove): Declare replacement.
41644         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41645         * doc/posix-functions/remove.texi (remove): Likewise.
41646         * modules/remove-tests: New test.
41647         * tests/test-remove.c: Likewise.
41648
41649         unlink: new module, for Solaris 9 bug
41650         * modules/unlink: New file.
41651         * lib/unlink.c: Likewise.
41652         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41654         * modules/unistd (Makefile.am): Use them.
41655         * lib/unistd.in.h (stat): Declare replacement.
41656         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41657         * doc/posix-functions/unlink.texi (unlink): Likewise.
41658         * modules/unlink-tests: New test.
41659         * tests/test-unlink.c: Likewise.
41660
41661         lstat: fix Solaris 9 bug
41662         * lib/lstat.c (lstat): Also check for trailing slash on
41663         non-symlink, non-directories.  Use stat module to simplify logic.
41664         * doc/posix-functions/lstat.texi (lstat): Document it.
41665         * modules/lstat-tests (Depends-on): Add errno, same-inode.
41666         (configure.ac): Check for symlink.
41667         * tests/test-lstat.c (main): Add more tests.
41668
41669         stat: add as dependency to other modules
41670         * modules/chown (Depends-on): Add stat.
41671         * modules/euidaccess (Depends-on): Likewise.
41672         * modules/fchdir (Depends-on): Likewise.
41673         * modules/isdir (Depends-on): Likewise.
41674         * modules/link (Depends-on): Likewise.
41675         * modules/lstat (Depends-on): Likewise.
41676         * modules/mkdir-p (Depends-on): Likewise.
41677         * modules/modechange (Depends-on): Likewise.
41678         * modules/open (Depends-on): Likewise.
41679         * modules/readlink (Depends-on): Likewise.
41680         * modules/same (Depends-on): Likewise.
41681
41682         stat: fix Solaris 9 bug
41683         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
41684         slash.
41685         * lib/stat.c (rpl_stat): Work around it.
41686         * doc/posix-functions/stat.texi (stat): Update documentation.
41687
41688         stat: new module, for mingw bug
41689         * modules/stat: New file.
41690         * lib/stat.c: Likewise.
41691         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41692         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41693         * modules/sys_stat (Makefile.am): Use them.
41694         * lib/sys_stat.in.h (stat): Declare replacement.
41695         * lib/openat.c (fstatat): Deal with lstat and stat being function
41696         macros.
41697         * modules/openat (Depends-on): Add inline.
41698         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41699         * doc/posix-functions/stat.texi (stat): Likewise.
41700         * modules/stat-tests: New test.
41701         * tests/test-stat.c: Likewise.
41702
41703 2009-09-19  Jim Meyering  <meyering@redhat.com>
41704
41705         syntax-check: detect unnecessary inclusion of canonicalize.h
41706         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
41707
41708 2009-09-19  Eric Blake  <ebb9@byu.net>
41709
41710         canonicalize-lgpl: adjust clients to use correct header
41711         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41712         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
41713         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
41714         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
41715         * lib/progreloc.c (includes): Likewise.
41716
41717 2009-09-19  Jim Meyering  <meyering@redhat.com>
41718
41719         test-posixtm.c: correct a comment
41720         * tests/test-posixtm.c: Correct first-line comment.
41721         Spotted by Eric Blake.
41722
41723 2009-09-16  Jim Meyering  <meyering@redhat.com>
41724
41725         posixtm-tests: make T const-correct; add a test case
41726         * tests/test-posixtm.c (T): Declare const.
41727         Add a test for -(2^31+1).
41728         Remove useless can-succeed-only-in-2002 test.
41729
41730         posixtm-tests: adjust the sole failing test
41731         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
41732         expected output matches what mktime now produces.  Cross-checked via
41733         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
41734
41735         posixtm: move #ifdef'd tests into a new module
41736         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
41737         * tests/test-posixtm.c: ... this new file.
41738         * modules/posixtm-tests: New module.
41739
41740 2009-09-19  Eric Blake  <ebb9@byu.net>
41741
41742         openat: simplify use of at-func.c
41743         * lib/at-func.c (includes): Include prerequisites here, to
41744         simplify requirements on client files.
41745         * lib/openat-priv.h: Add double-inclusion guard.
41746         * lib/faccessat.c (includes): Simplify.
41747         * lib/fchmodat.c (includes): Likewise.
41748         * lib/fchownat.c (includes): Likewise.
41749         * lib/mkdirat.c (includes): Likewise.
41750         * lib/mkfifoat.c (includes): Likewise.
41751         * lib/symlinkat.c (includes): Likewise.
41752
41753         openat: allow return of fd 0
41754         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
41755         * modules/save-cwd (Depends-on): Replace fcntl-safer with
41756         unistd-safer.
41757         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
41758         <fcntl.h>; this module does not leak fds.
41759         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
41760         must be allowed to return 0, leaving openat_safer to add the
41761         safety.
41762         (openat_permissive): Avoid writing to just-opened fd 2 if
41763         restoring the current directory fails.
41764         * lib/openat-die.c (openat_restore_fail): Add comment.
41765         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41766         (save_cwd): Guarantee safe fd, but without use of open_safer.
41767         * tests/test-openat.c: New test.
41768         * modules/openat-tests (Files, Makefile.am): Distribute and build
41769         new file.
41770
41771         relocatable-prog-wrapper: fix build
41772         * modules/relocatable-prog-wrapper (Files): Update name of
41773         canonicalize m4 file, broken on 2009-09-17.
41774         Reported by emad hajjar <aleppos@hotmail.com>.
41775
41776 2009-09-19  Bruno Haible  <bruno@clisp.org>
41777
41778         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41779         * lib/safe-alloc.c: Likewise.
41780         Reported by Ian Beckwith <ianb@erislabs.net>.
41781
41782 2009-09-18  Bruno Haible  <bruno@clisp.org>
41783
41784         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41785         Reported by <erobles@sensacd.com.mx>.
41786
41787 2009-09-17  Eric Blake  <ebb9@byu.net>
41788
41789         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41790         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41791         slashes when checking if last component is missing.
41792         * tests/test-canonicalize.c (main): Test this.
41793
41794         canonicalize, canonicalize-lgpl: honor // if distinct from /
41795         * modules/canonicalize (Files): Add double-slash-root.m4.
41796         * modules/canonicalize-lgpl (Files): Likewise.
41797         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41798         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41799         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41800         fallback definition.
41801         (canonicalize_filename_mode): Use it to protect //.
41802         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41803         (__realpath): Likewise.
41804         * tests/test-canonicalize.c (main): Test this.
41805         * tests/test-canonicalize-lgpl.c (main): Likewise.
41806         * modules/canonicalize-tests (Depends-on): Add same-inode.
41807         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41808
41809         canonicalize-lgpl: fix glibc bug with trailing slash
41810         * m4/canonicalize-lgpl.m4: Move contents...
41811         * m4/canonicalize.m4: ...here.
41812         (gl_CANONICALIZE_LGPL): Factor realpath check...
41813         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41814         glibc 2.3.5 bug, fixed 2005-04-27.
41815         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41816         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41817         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41818         * modules/canonicalize-lgpl (Files): Manage file rename.
41819         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41820         * modules/stdlib (Makefile.am): Substitute witness.
41821         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41822         is needed.
41823         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41824         replacement is required.
41825         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41826         * doc/glibc-functions/canonicalize_file_name.texi
41827         (canonicalize_file_name): Document this.
41828         * doc/posix-functions/realpath.texi (realpath): Likewise.
41829
41830         canonicalize-lgpl: reject non-directory with trailing slash
41831         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41832         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41833         catches failures in glibc 2.3.5.
41834         * tests/test-canonicalize.c (main): Likewise.
41835
41836         canonicalize-lgpl: use native realpath if it works
41837         * lib/canonicalize-lgpl.c (realpath): Guard with
41838         FUNC_REALPATH_WORKS.
41839         * lib/stdlib.in.h (realpath): Make declaration optional based on
41840         HAVE_REALPATH.
41841         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41842         native realpath works.
41843         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41844         * modules/stdlib (Makefile.am): Substitute witness.
41845
41846         canonicalize, canonicalize-lgpl: use <stdlib.h>
41847         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41848         (Include): Mention <stdlib.h>.
41849         (configure.ac): Mention functions we provide.
41850         * modules/canonicalize (configure.ac): Likewise.
41851         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41852         realpath if canonicalize_file_name is missing.
41853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41854         * modules/stdlib (Makefile.am): Substitute witnesses.
41855         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41856         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41857         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41858         * NEWS: Document this.
41859         * doc/glibc-functions/canonicalize_file_name.texi
41860         (canonicalize_file_name): Likewise.
41861         * doc/posix-functions/realpath.texi (realpath): Likewise.
41862         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41863
41864         test-canonicalize: consolidate into single C program
41865         * tests/test-canonicalize.sh: Delete; move setup into...
41866         * tests/test-canonicalize.c (main): ...the program, making it
41867         easier to run in debugger.  Add some tests.
41868         * modules/canonicalize-tests (Files): Remove unused file.
41869         (Depends-on): Add progname.
41870         (configure.ac, Makefile.am): Simplify.
41871
41872         test-canonicalize-lgpl: consolidate into single C program
41873         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41874         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41875         easier to run in debugger.  Add some tests.
41876         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41877         (configure.ac, Makefile.am): Simplify.
41878
41879         canonicalize: avoid resolvepath
41880         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41881         unnecessary checks.
41882         * lib/canonicalize.c (includes): Simplify.
41883         (canonicalize_file_name): Drop resolvepath implementation.
41884         * modules/canonicalize (Depends-on): Drop filenamecat.
41885
41886         canonicalize: don't lose errno
41887         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41888         over calls to free.
41889
41890         canonicalize: simplify errno handling
41891         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41892         assignment.
41893
41894         canonicalize, canonicalize-lgpl: update module dependencies
41895         * modules/canonicalize (Depends-on): Add extensions, lstat,
41896         pathmax, stdlib.
41897         (Files): Drop pathmax.h.
41898         (configure.ac): Adjust macro name.
41899         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41900         lstat, stdlib, sys_stat.
41901         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41902         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41903         extensions.
41904         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41905         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41906         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41907         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41908         declaration, if available.
41909         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41910         we can rely on the readlink module.
41911         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41912         (includes): Use <unistd.h> unconditionally.
41913
41914 2009-09-17  Eric Blake  <ebb9@byu.net>
41915
41916         maint: make Include sections of modules consistent
41917         * modules/alloca: Use only header name; no need to list #include.
41918         * modules/alloca-opt: Likewise.
41919         * modules/arpa_inet: Likewise.
41920         * modules/canon-host: Likewise.
41921         * modules/configmake: Likewise.
41922         * modules/dirent: Likewise.
41923         * modules/eealloc: Likewise.
41924         * modules/environ: Likewise.
41925         * modules/fchdir: Likewise.
41926         * modules/fcntl: Likewise.
41927         * modules/fcntl-h: Likewise.
41928         * modules/gethrxtime: Likewise.
41929         * modules/gettime: Likewise.
41930         * modules/ignore-value: Likewise.
41931         * modules/inet_ntop: Likewise.
41932         * modules/inet_pton: Likewise.
41933         * modules/inttypes: Likewise.
41934         * modules/isnand-nolibm: Likewise.
41935         * modules/isnanf-nolibm: Likewise.
41936         * modules/mbchar: Likewise.
41937         * modules/mbfile: Likewise.
41938         * modules/mbiter: Likewise.
41939         * modules/mbuiter: Likewise.
41940         * modules/netdb: Likewise.
41941         * modules/netinet_in: Likewise.
41942         * modules/nproc: Likewise.
41943         * modules/pagealign_alloc: Likewise.
41944         * modules/poll: Likewise.
41945         * modules/printf-frexp: Likewise.
41946         * modules/pthread: Likewise.
41947         * modules/putenv: Likewise.
41948         * modules/random_r: Likewise.
41949         * modules/relocatable-prog: Likewise.
41950         * modules/search: Likewise.
41951         * modules/select: Likewise.
41952         * modules/selinux-h: Likewise.
41953         * modules/settime: Likewise.
41954         * modules/signal: Likewise.
41955         * modules/size_max: Likewise.
41956         * modules/socklen: Likewise.
41957         * modules/ssize_t: Likewise.
41958         * modules/stdarg: Likewise.
41959         * modules/stdbool: Likewise.
41960         * modules/stddef: Likewise.
41961         * modules/stdint: Likewise.
41962         * modules/stdio: Likewise.
41963         * modules/stdlib: Likewise.
41964         * modules/string: Likewise.
41965         * modules/strings: Likewise.
41966         * modules/sys_file: Likewise.
41967         * modules/sys_ioctl: Likewise.
41968         * modules/sys_select: Likewise.
41969         * modules/sys_socket: Likewise.
41970         * modules/sys_stat: Likewise.
41971         * modules/sys_time: Likewise.
41972         * modules/sys_times: Likewise.
41973         * modules/sys_utsname: Likewise.
41974         * modules/sys_wait: Likewise.
41975         * modules/sysexits: Likewise.
41976         * modules/time: Likewise.
41977         * modules/times: Likewise.
41978         * modules/tmpfile: Likewise.
41979         * modules/trim: Likewise.
41980         * modules/unistd: Likewise.
41981         * modules/wchar: Likewise.
41982         * modules/wctype: Likewise.
41983
41984 2009-09-17  Bruno Haible  <bruno@clisp.org>
41985
41986         Make getdate.y compile on QNX and NetBSD 5 / i386.
41987         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41988         TIME_T_FITS_IN_LONG_INT.
41989         * lib/getdate.y (long_time_t): New type.
41990         (relative_time): Change type of 'seconds' field to long_time_t.
41991         (get_date): Update types of local variables. Check against overflow
41992         during conversion from long_time_t to time_t.
41993         Reported by Matt Kraai <kraai@ftbfs.org>
41994         and Hasso Tepper <hasso@netbsd.org>.
41995
41996 2009-09-17  Bruno Haible  <bruno@clisp.org>
41997
41998         * modules/COPYING: Update copyright years.
41999         * modules/README: Likeiwse.
42000         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42001         Reported by Ian Beckwith <ianb@erislabs.net>.
42002
42003 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42004
42005         * users.txt: Update references for gnuit package.
42006
42007 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42008
42009         * m4/getdelim.m4: Fix typo in copyright line.
42010
42011 2009-09-17  Bruno Haible  <bruno@clisp.org>
42012
42013         * lib/atoll.c: Use the standard header with GPL copyright.
42014         * lib/argz.in.h: Likewise.
42015         * lib/glob.c: Likewise.
42016         * lib/glob-libc.h: Likewise.
42017         * lib/random_r.c: Likewise.
42018         * lib/siglist.h: Likewise.
42019         * lib/strsignal.c: Likewise.
42020         Reported by Ian Beckwith <ianb@erislabs.net>.
42021
42022 2009-09-17  Eric Blake  <ebb9@byu.net>
42023
42024         rmdir: ensure correct dependency order
42025         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42026
42027 2009-09-17  Bruno Haible  <bruno@clisp.org>
42028
42029         Disable assertion that fails on NetBSD 5 / i386.
42030         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42031         Reported by Sam Steingold <sds@gnu.org>
42032         and Hasso Tepper <hasso@netbsd.org>.
42033
42034 2009-09-16  Eric Blake  <ebb9@byu.net>
42035
42036         unlinkdir: port to mingw
42037         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42038         on which no one can unlink a directory.
42039
42040         stdlib: sort witness names
42041         * modules/stdlib (Makefile.am): Sort replacements.
42042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42043         * lib/stdlib.in.h: Likewise.
42044
42045         parse-duration-tests: avoid link failure
42046         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42047         LIBINTL.
42048         Reported by Tom G. Christensen.
42049
42050         openat-tests: ensure unlinkat behaves like rmdir
42051         * tests/test-rmdir.c (main): Factor guts...
42052         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42053         * modules/rmdir-tests (Files): Ship new file.
42054         * modules/openat-tests: New test.
42055         * tests/test-unlinkat.c: Likewise.
42056
42057         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42058         * modules/rmdir-errno (Status, Notice): Now obsolete.
42059
42060         rmdir: work around cygwin 1.5.x and mingw bugs
42061         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42062         * lib/rmdir.c (rmdir): Work around it.
42063         * modules/rmdir (Status, Notice): No longer obsolete.
42064         (Files): Add dos.m4.
42065         (Depends-on): Add unistd.
42066         (configure.ac): Set witnesses.
42067         (License): Relax to LGPLv2+.
42068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42069         * modules/unistd (Makefile.am): Substitute witnesses.
42070         * lib/unistd.in.h (rmdir): Declare replacement.
42071         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42072         * modules/rmdir-tests: New tests.
42073         * tests/test-rmdir.c: Likewise.
42074
42075 2009-09-15  Eric Blake  <ebb9@byu.net>
42076
42077         fchdir: improve use of replacement functions
42078         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42079         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42080         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42081         REPLACE_CLOSEDIR.
42082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42083         * modules/sys_stat (Makefile.am): Substitute correct witness.
42084         * modules/dirent (Makefile.am): Likewise.
42085         * modules/unistd (Makefile.am): Likewise.
42086         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42087         * lib/unistd.in.h (dup): Likewise.
42088         * lib/sys_stat.in.h (fstat): Likewise.
42089
42090         maint: ignore gnulib-tool temp files
42091         * .gitignore: Ignore files created during gnulib-tool --test.
42092
42093 2009-09-13  Jim Meyering  <meyering@redhat.com>
42094
42095         posixtm: don't reject a time that specify "60" as the number of seconds
42096         * lib/posixtm.c (posixtime): The code to reject invalid dates
42097         would also reject a time specified with the .60 suffix.
42098         But POSIX allows that, in order to accommodate leap seconds.
42099         So don't reject it.
42100         (main): Adjust tests accordingly.
42101         * modules/posixtm (Depends-on): Add stpcpy.
42102
42103 2009-09-11  Jim Meyering  <meyering@redhat.com>
42104
42105         announce-gen: include [$release_type] in emitted Subject:
42106         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42107         e.g., [stable] in the emitted Subject: line.
42108
42109 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42110
42111         Remove obsolete macros from several modules.
42112         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42113         obsolete Autoconf macros with their modern counterparts.
42114         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42115         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42116         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42117         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42118         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42119         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42121         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42122         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42123         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42124         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42125         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42126         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42127         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42128         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42129         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42130         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42131         * m4/time_r.m4 (gl_TIME_R): Likewise.
42132         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42133         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42134         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42135
42136         Fix copyright header in build-aux scripts.
42137         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42138         recommendation.
42139         * build-aux/ncftpput-ftp: Likewise.
42140         * build-aux/update-copyright: Likewise.
42141
42142 2009-09-09  Eric Blake  <ebb9@byu.net>
42143
42144         test-link: allow Linux choice of errno
42145         * tests/test-link.c (main): Relax test for alternate error.
42146
42147         strndup: fix improper m4 caching
42148         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42149         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42150         (gl_PREREQ_STRNDUP): Delete.
42151         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42152         * modules/string (Makefile.am): Substitute it.
42153         * lib/string.in.h (strndup): Modernize prototype.
42154
42155         getcwd: port to mingw
42156         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42157         different from the POSIX assumptions made throughout the getcwd
42158         module; fortunately, the mingw getcwd does not need replacement.
42159         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42160         * modules/getcwd-tests: New test.
42161         * tests/test-getcwd.c: Likewise.
42162
42163         link: fix platform bugs
42164         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42165         * lib/link.c (link): Work around them.  Fix related mingw bug.
42166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42167         * modules/unistd (Makefile.am): Substitute it.
42168         * lib/unistd.in.h (link): Declare replacement.
42169         * doc/posix-functions/link.texi (link): Document this.
42170         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42171
42172         test-link: consolidate into single C program, test more cases
42173         * tests/test-link.sh: Delete.
42174         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42175         at least Cygwin and Solaris.
42176         * modules/link-tests (Files): Remove unused file.
42177         (Depends-on): Add errno, sys_stat.
42178         (Makefile.am): Simplify.
42179
42180 2009-09-08  Bruno Haible  <bruno@clisp.org>
42181
42182         Work around towlower, towupper bug on mingw.
42183         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42184         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42185         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42186         * doc/posix-functions/towupper.texi: Likewise.
42187         Reported by Eric Blake.
42188
42189 2009-09-08  Jim Meyering  <meyering@redhat.com>
42190
42191         build: don't try to run autoheader if we don't use it
42192         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42193         is not used in configure.ac.
42194
42195 2009-09-08  Eric Blake  <ebb9@byu.net>
42196
42197         euidaccess: fix compilation error
42198         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42199
42200         rawmemchr: relax license
42201         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42202         okay.
42203         Reported by Jim Meyering.
42204
42205         mkfifoat: new module
42206         * modules/mkfifoat: New file.
42207         * lib/mkfifoat.c: Likewise.
42208         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42210         * modules/sys_stat (Makefile.am): Use them.
42211         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42212         * MODULES.html.sh (File system functions): Mention module.
42213         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42214         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42215         * modules/mkfifoat-tests: New test.
42216         * tests/test-mkfifoat.c: Likewise.
42217
42218         strchrnul: relax license
42219         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42220         okay.
42221         Reported by Jim Meyering.
42222
42223 2009-09-08  Eric Blake  <ebb9@byu.net>
42224
42225         fstatat: fix compilation on Solaris
42226         * lib/fstatat.c (includes): Add fcntl.h.
42227         Reported by Pádraig Brady.
42228
42229 2009-09-07  Eric Blake  <ebb9@byu.net>
42230
42231         rename: modernize replacement
42232         * modules/rename (Depends-on): Add stdio.
42233         (configure.ac): Declare witness.
42234         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
42235         stdio take care of replacement.
42236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42237         * modules/stdio (Makefile.am): Substitute them.
42238         * lib/stdio.in.h (rename): Declare replacement.
42239         * lib/rename.c (includes): Allow cross-compilation to non-windows
42240         machines.
42241         * doc/posix-functions/rename.texi (rename): Improve
42242         documentation.
42243
42244         stdio: sort witness names
42245         * modules/stdio (Makefile.am): Sort replacements.
42246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42247         * lib/stdio.in.h: Likewise.
42248
42249         getcwd: minor cleanups
42250         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
42251         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
42252
42253         openat: provide more convenience names
42254         * modules/faccessat (configure.ac): Add C witness.
42255         * lib/unistd.in.h (readlinkat): Fix typo.
42256         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42257         convenience wrappers.
42258         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42259         wrappers in syntax checks.
42260
42261 2009-09-06  Eric Blake  <ebb9@byu.net>
42262
42263         doc: fix comments in recent patches
42264         * lib/faccessat.c: Mention correct function.
42265         * lib/fchmodat.c: Likewise.
42266         * lib/fchownat.c: Likewise.
42267         * lib/symlinkat.c: Likewise.
42268         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42269         constants.
42270
42271         faccessat, symlinkat: continue cleanup of previous patch
42272         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42273         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42274         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42276         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42277         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42278         set.
42279
42280 2009-09-06  Bruno Haible  <bruno@clisp.org>
42281
42282         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42283         (fstatat): Declare if GNULIB_FSTATAT is set.
42284         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42285         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42286         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42287         * modules/fcntl-h (Files): Remove m4/openat.m4.
42288         * modules/sys_stat (Files): Remove m4/openat.m4.
42289         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42290         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42291         * modules/unistd (Files): Remove m4/openat.m4.
42292         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42293         GNULIB_OPENAT.
42294         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42295         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42296         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42297         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42298         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42299         gl_OPENAT_DEFAULTS.
42300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42301         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42302         Don't require gl_OPENAT_DEFAULTS.
42303         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42304         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42305         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42306         (gl_OPENAT_DEFAULTS): Remove macro.
42307
42308 2009-09-06  Bruno Haible  <bruno@clisp.org>
42309
42310         * modules/openat (configure.ac): Remove unneeded witness.
42311
42312 2009-09-06  Bruno Haible  <bruno@clisp.org>
42313
42314         Set errno to ENOSYS when a function is entirely unsupported.
42315         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42316         EOPNOTSUPP.
42317         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42318         * modules/chown (Depends-on): Remove errno.
42319
42320 2009-09-06  Bruno Haible  <bruno@clisp.org>
42321
42322         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42323
42324 2009-09-06  Bruno Haible  <bruno@clisp.org>
42325
42326         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42327
42328 2009-09-06  Ben Pfaff  <blp@gnu.org>
42329             Bruno Haible  <bruno@clisp.org>
42330
42331         Work around a glibc bug in strtok_r.
42332         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42333         Undefine if UNDEFINE_STRTOK_R is set.
42334         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42335         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42336         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42337         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42338         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42339         UNDEFINE_STRTOK_R.
42340         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42341
42342 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42343
42344         exclude: minor fix
42345         * lib/exclude.c: Include wctype.h
42346
42347 2009-09-06  Akim Demaille  <demaille@gostai.com>
42348
42349         bootstrap: improve error message
42350         * build-aux/bootstrap (find_tool): Upon failure, report the list
42351         of candidates.
42352         Honor the initial value of the envvar.
42353
42354 2009-09-05  Eric Blake  <ebb9@byu.net>
42355
42356         symlinkat: new module
42357         * modules/symlinkat: New file.
42358         * lib/symlinkat.c: Likewise.
42359         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42361         * modules/unistd (Makefile.am): Use them.
42362         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42363         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42364         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42365         * MODULES.html.sh (File system functions): Mention module.
42366         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42367         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42368         * modules/symlinkat-tests: New test.
42369         * tests/test-symlinkat.c: Likewise.
42370
42371         test-openat-safer: add more checks
42372         * tests/test-openat-safer.c (main): Check more code paths.
42373
42374 2009-09-05  Jim Meyering  <meyering@redhat.com>
42375
42376         syntax-check: detect unnecessary inclusion of openat.h
42377         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42378
42379 2009-09-05  Bruno Haible  <bruno@clisp.org>
42380
42381         Support towlower, towupper.
42382         * doc/posix-functions/towlower.texi: Mention module wctype.
42383         * doc/posix-functions/towupper.texi: Likewise.
42384         * lib/wctype.in.h (towlower, towupper): New functions.
42385         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42386         (ASSERT): New macro.
42387         (e): New variable.
42388         (main): Test also towlower, towupper. Test WEOF argument.
42389         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42390
42391 2009-09-05  Bruno Haible  <bruno@clisp.org>
42392
42393         Fix conversion behaviour when the input is invalid.
42394         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42395         mark occurring in first pass of indirect conversion.
42396         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42397         input.
42398         Found by clang's static analyzer.
42399
42400 2009-09-05  Bruno Haible  <bruno@clisp.org>
42401
42402         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42403         where direct conversion is possible.
42404
42405 2009-09-04  Eric Blake  <ebb9@byu.net>
42406
42407         openat: fail with ENOENT on empty name
42408         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42409         buffer.
42410
42411         link-follow: fix logic bug in prior patch
42412         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42413         reversed sense of yes and no in prior patch.  Avoid confusing
42414         compilation failure with desired semantics.
42415
42416         link-follow: accommodate mingw and cross-compilation
42417         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42418         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42419         cross-compilation results to -1, to make linkat easier to
42420         implement when cross-compiling.  Trivially support mingw.
42421         * modules/link-follow (configure.ac): Call new name.
42422         * NEWS: Mention this.
42423
42424 2009-09-03  Eric Blake  <ebb9@byu.net>
42425
42426         faccessat: compile replacement
42427         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42428         needed.
42429
42430         fts: fix compilation error
42431         * lib/fts.c (includes): Re-add "openat.h", for
42432         openat_needs_fchdir.
42433
42434         faccessat: new module
42435         * modules/faccessat: New file.
42436         * lib/faccessat.c: Likewise.
42437         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42439         * modules/unistd (Makefile.am): Use it.
42440         * lib/unistd.in.h (faccessat): Declare it.
42441         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42442         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42443         * MODULES.html.sh (File system functions): Mention it.
42444         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42445         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42446
42447         euidaccess: prefer POSIX over non-standard implementation
42448         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42449         * lib/euidaccess.c (euidaccess): Use it if available.
42450
42451         openat: make template easier to use
42452         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42453         AT_FUNC_F2 to be undefined.
42454         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42455         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42456         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42457         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42458         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42459         Likewise.
42460         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42461         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42462         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42463         Likewise.
42464
42465         openat: declare in POSIX headers
42466         * NEWS: Mention this.
42467         * modules/openat (configure.ac): Declare witnesses.
42468         (Depends-on): Add fcntl-h, sys_stat, unistd.
42469         (Include): Mention correct headers.
42470         * modules/fcntl-h (Depends-on): Add link-warning.
42471         (Files): Add openat.m4.
42472         (Makefile.am): Substitute witnesses.
42473         * modules/sys_stat (Files, Makefile.am): Likewise.
42474         * modules/unistd (Files, Makefile.am): Likewise.
42475         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42476         (gl_OPENAT_DEFAULTS): New macro.
42477         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42479         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42480         (SYS_STAT_H): Remove unused variable.
42481         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42482         * lib/fcntl--.h (includes): Remove unneeded header.
42483         * lib/openat-safer.c (includes): Likewise.
42484         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42485         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42486         appropriate headers.
42487         (__OPENAT_PREFIX): Delete.
42488         * lib/fcntl.in.h (openat): Provide declaration.
42489         (AT_FDCWD): Fix Solaris bug.
42490         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42491         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42492         * lib/fchmodat.c (includes):  Adjust to find declaration.
42493         * lib/fchownat.c (includes): Likewise.
42494         * lib/mkdirat.c (includes): Likewise.
42495         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42496         still visible.
42497
42498 2009-09-02  Eric Blake  <ebb9@byu.net>
42499
42500         errno: use consistently
42501         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42502         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42503         * lib/canonicalize.c (ELOOP): Likewise.
42504         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42505         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42506         * lib/lchown.c (EOPNOTSUPP): Likewise.
42507         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42508         * lib/savewd.c (ESTALE): Likewise.
42509         * lib/settime.c (ENOSYS): Likewise.
42510         * lib/utimens.c (ENOSYS): Likewise.
42511         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42512         * lib/chdir-safer.c (ELOOP): Likewise.
42513         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42514         * modules/c-stack (Depends-on): Add errno.
42515         * modules/canonicalize (Depends-on): Likewise.
42516         * modules/chdir-safer (Depends-on): Likewise.
42517         * modules/fdopendir (Depends-on): Likewise.
42518         * modules/inet_ntop (Depends-on): Likewise.
42519         * modules/inet_pton (Depends-on): Likewise.
42520         * modules/lchown (Depends-on): Likewise.
42521         * modules/openat (Depends-on): Likewise.
42522         * modules/savewd (Depends-on): Likewise.
42523         * modules/settime (Depends-on): Likewise.
42524         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42525
42526         fts: avoid leaking fds
42527         * modules/fts (Depends-on): Add cloexec.
42528         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42529         flag.
42530
42531         fts: make directory fds more robust
42532         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42533         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42534
42535         backupfile, chdir-long, fts, savedir: make safer
42536         * lib/backupfile.c (includes): Use "dirent--.h", since
42537         numbered_backup can write to stderr during readdir.
42538         * lib/savedir.c (includes): Likewise.
42539         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42540         emulation can write to stderr on failure.
42541         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42542         * lib/getcwd.c: Document why opendir_safer is unused.
42543         * lib/glob.c: Likewise.
42544         * lib/scandir.c: Likewise.
42545         * lib/openat-proc.c: Likewise, for open_safer.
42546         * modules/backupfile (Depends-on): Add dirent-safer.
42547         * modules/savedir (Depends-on): Likewise.
42548         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42549         * modules/chdir-long (Depends-on): Add openat-safer.
42550
42551         openat-safer: new module
42552         * modules/openat-safer: New file.
42553         * lib/openat-safer.c: Likewise.
42554         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42555         * lib/fcntl-safer.h (openat_safer): Declare.
42556         * lib/fcntl--.h (openat): Override.
42557         * MODULES.html.sh (File descriptor based I/O): Mention it.
42558         * lib/openat.h: Add double-inclusion guards.
42559         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42560         "fcntl--.h", so we can implement openat.
42561         * modules/openat-safer-tests: New test.
42562         * tests/test-openat-safer.c: New file.
42563
42564         dirent-safer: new module
42565         * modules/dirent-safer: New file.
42566         * lib/dirent--.h: Likewise.
42567         * lib/dirent-safer.h: Likewise.
42568         * lib/opendir-safer.c: Likewise.
42569         * m4/dirent-safer.m4: Likewise.
42570         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
42571         * modules/dirent-safer-tests: New test.
42572         * tests/test-dirent-safer.c: New file.
42573         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
42574
42575         fdopendir: optimize on mingw
42576         * lib/unistd.in.h (_gl_directory_name): New prototype.
42577         * lib/fchdir.c (_gl_directory_name): Implement it.
42578         (fchdir): Use it to simplify implementation.
42579         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
42580         fchdir, when available, to avoid calling [f]chdir().
42581
42582         fdopendir: split into its own module
42583         * lib/openat.c (fdopendir): Move...
42584         * lib/fdopendir.c: ...into new file.
42585         * modules/fdopendir: New module.
42586         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
42587         * modules/openat (Depends-on): Add fdopendir.
42588         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
42589         fdopendir here.
42590         * modules/savedir (Depends-on): Only need fdopendir, not full
42591         openat.
42592         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
42593         * lib/openat.h (fdopendir): Drop prototype.
42594         * lib/dirent.in.h (fdopendir): Provide prototype.
42595         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
42596         * modules/dirent (Makefile.am): Substitute them.
42597         * MODULES.html.sh (File system functions): Mention it.
42598         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
42599         * modules/fdopendir-tests: New file.
42600         * tests/test-fdopendir.c: Likewise.
42601
42602         fchdir: use more consistent macro convention
42603         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
42604         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
42605         REPLACE_FCHDIR, rather than relying on config.h macros.
42606         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
42607         inside a single make-time REPLACE_FCHDIR block, rather than using
42608         the config.h FCHDIR_REPLACEMENT.
42609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
42610         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
42611         Manage fstat replacement.
42612         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
42613         REPLACE_FCHDIR.
42614         * modules/sys_stat (Files): Add m4/unistd_h.m4.
42615         (Makefile.am): Substitute REPLACE_FCHDIR.
42616         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
42617         FCHDIR_REPLACEMENT.
42618         * lib/dup-safer.c (dup_safer): Likewise.
42619         * lib/dup2.c (rpl_dup2): Likewise.
42620         * lib/dup3.c (rpl_dup3): Likewise.
42621         * lib/open.c (rpl_open): Likewise.
42622
42623         fchdir: simplify error handling, and support dup3
42624         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
42625         stdbool, malloc-posix, realloc-posix.
42626         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
42627         (ensure_dirs_slot): Return false on allocation failure.
42628         (rpl_dup2): Delete.
42629         (_gl_register_dup): New function.
42630         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
42631         (_gl_register_fd): Close fd on allocation failure.
42632         * lib/fcntl.in.h (_gl_register_fd): Update signature.
42633         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
42634         prototype.
42635         (rpl_dup2_fchdir): Delete prototype.
42636         * lib/open.c (open): Update caller.
42637         * lib/dup2.c (dup2): Track fchdir metadata.
42638         * lib/dup3.c (dup3): Likewise.
42639         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
42640         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
42641
42642 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42643
42644         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
42645         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
42646         don't pass arguments to AC_OUTPUT.
42647
42648 2009-09-02  Bruno Haible  <bruno@clisp.org>
42649
42650         * modules/mkdtemp (License): Relicense under LGPLv2+.
42651         Reported by Paolo Bonzini.
42652
42653 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42654
42655         Replace uses of obsolete autoconf macros in Jim's modules.
42656         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
42657         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
42658         can evoke a warning from autoconf when run with -Wobsolete
42659         enabled.  They were declared obsolete for good reasons (see
42660         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
42661         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
42662         should not continue using the deprecated macros.
42663         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
42664         obsolete Autoconf macros with modern counterparts.
42665         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42666         * m4/dos.m4 (gl_AC_DOS): Likewise.
42667         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
42668         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
42669         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
42670         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
42671         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
42672         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
42673         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
42674         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
42675         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
42676         Likewise.
42677         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
42678         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42679         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
42680         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
42681         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42682         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42683
42684 2009-09-01  Eric Blake  <ebb9@byu.net>
42685
42686         fchdir: fix off-by-one bug in previous patch
42687         * lib/fchdir.c (rpl_fstat): Use correct bounds.
42688         (_gl_unregister_fd): Delete useless if.
42689
42690 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
42691
42692         maint.mk: sort the list of syntax-check rules
42693         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
42694         easier to get a sense of progress when the rules are run sequentially
42695         and take a long time.
42696
42697 2009-09-01  Simon Josefsson  <simon@josefsson.org>
42698
42699         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
42700         * modules/netinet_in: Likewise.
42701         * modules/sys_file: Likewise.
42702         * modules/sys_ioctl: Likewise.
42703         * modules/sys_select: Likewise.
42704         * modules/sys_socket: Likewise.
42705         * modules/sys_stat: Likewise.
42706         * modules/sys_time: Likewise.
42707         * modules/sys_times: Likewise.
42708         * modules/sys_utsname: Likewise.
42709         * modules/sys_wait: Likewise.
42710
42711 2009-09-01  Jim Meyering  <meyering@redhat.com>
42712
42713         fts: help ensure that return values are not ignored
42714         * lib/fts_.h (__GNUC_PREREQ): Define.
42715         (__attribute_warn_unused_result__): Define.
42716         (fts_children, fts_close, fts_open, fts_read): Declare with
42717         __attribute_warn_unused_result__.
42718
42719         fts: fts_close now fails also when closing a dir file descriptor fails
42720         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
42721         and propagate to caller, along with errno.
42722
42723         announce-gen: correct formatting in --help output
42724         * build-aux/announce-gen (usage): Move the one-line description in
42725         --help output "up", to where it belongs, just after Usage:.
42726
42727 2009-08-31  Eric Blake  <ebb9@byu.net>
42728
42729         fchdir: port to mingw
42730         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
42731         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
42732         opened, then use a substitute.
42733         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
42734         replacement.
42735         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
42736         (_gl_register_fd): No need to check stat if open already filters
42737         all directories.
42738         (fchdir): Fix error condition to match POSIX.
42739         * modules/fchdir (Depends-on): Add sys_stat.
42740         * doc/posix-functions/open.texi (open): Document the limitation.
42741         * modules/fchdir-tests: New file.
42742         * tests/test-fchdir.c: Likewise.
42743
42744         canonicalize: allow cross-testing from cygwin to mingw
42745         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
42746         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
42747         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
42748         Likewise.
42749         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
42750         target does not support symlinks.
42751         * tests/test-canonicalize-lgpl.sh: Likewise.
42752
42753         chown: avoid compilation warning on mingw
42754         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
42755         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
42756         mingw.
42757         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42758         * modules/chown (Depends-on): Add errno.
42759
42760 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42761
42762         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
42763         command.
42764
42765 2009-08-31  Jim Meyering  <meyering@redhat.com>
42766
42767         canonicalize: remove useless initialization
42768         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42769         initialization of local, "end".
42770
42771 2009-08-30  Bruno Haible  <bruno@clisp.org>
42772
42773         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42774         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42775         ENOSYS.
42776
42777 2009-08-30  Bruno Haible  <bruno@clisp.org>
42778
42779         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42780         /usr/xpg4/bin/tr when it exists.
42781         * tests/test-pipe-filter-gi1.sh: Likewise.
42782
42783 2009-08-30  Bruno Haible  <bruno@clisp.org>
42784
42785         Work around deficient /usr/bin/id program on Solaris.
42786         * tests/test-file-has-acl.sh (ID): New variable.
42787         * tests/test-set-mode-acl.sh (ID): Likewise.
42788         * tests/test-copy-acl.sh (ID): Likewise.
42789         * tests/test-copy-file.sh (ID): Likewise.
42790
42791 2009-08-30  Bruno Haible  <bruno@clisp.org>
42792
42793         New module 'xstriconveh'.
42794         * lib/xstriconveh.h: New file.
42795         * lib/xstriconveh.c: New file.
42796         * modules/xstriconveh: New file.
42797
42798 2009-08-30  Bruno Haible  <bruno@clisp.org>
42799
42800         Make it easier to use mem_cd_iconveh.
42801         * lib/striconveh.h (iconveh_t): New type.
42802         (iconveh_open, iconveh_close): New declarations.
42803         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42804         with a single 'const iconveh_t *' argument.
42805         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42806         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42807         with a single 'const iconveh_t *' argument.
42808         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42809         * tests/test-striconveh.c (main): Update.
42810         * NEWS: Mention the change.
42811
42812 2009-08-30  Bruno Haible  <bruno@clisp.org>
42813
42814         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42815         problem.
42816
42817 2009-08-30  Bruno Haible  <bruno@clisp.org>
42818
42819         Work around iconv_open problem on Solaris.
42820         * lib/iconv_open-solaris.gperf: New file.
42821         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42822         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42823         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42824         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42825         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42826         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42827
42828 2009-08-29  Jim Meyering  <meyering@redhat.com>
42829
42830         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42831         * top/maint.mk (cvs-check): Remove target; it was just an alias
42832         to the better-named vc-diff-check.
42833         (maintainer-distcheck): Remove rule.  It was used only from
42834         the (alpha/beta/major) target, and all of its commands but one
42835         were coreutils-specific.
42836         (vc-dist): Remove rule.
42837         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42838         Run vc-diff-check, not vc-dist.
42839         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42840
42841 2009-08-27  Bruno Haible  <bruno@clisp.org>
42842
42843         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42844         of 0.
42845
42846 2009-08-27  Bruno Haible  <bruno@clisp.org>
42847
42848         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42849         compilers.
42850         * doc/func.texi: Document the SunPRO C bug.
42851
42852 2009-08-27  Bruno Haible  <bruno@clisp.org>
42853
42854         Fix link error on Solaris.
42855         * tests/test-parse-duration.c (xstrdup): Remove function.
42856
42857 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42858
42859         ignore-value: handle pointer types, too
42860         * lib/ignore-value.h (__attribute__): Remove definition.
42861         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42862         of a more concise and more-often effective "(void) i" statement.
42863         (ignore_ptr): New function to suppress warnings from functions that
42864         return pointers, and to make it explicit that one function doesn't
42865         handle all cases.
42866
42867 2009-08-25  Bruno Haible  <bruno@clisp.org>
42868
42869         dup2: work around a Linux bug.
42870         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42871         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42872         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42873         Reported by Simon Josefsson.
42874
42875 2009-08-25  Jim Meyering  <meyering@redhat.com>
42876
42877         libguestfs uses gnulib
42878         * users.txt: Add libguestfs.
42879
42880 2009-08-24  Eric Blake  <ebb9@byu.net>
42881
42882         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42883         * lib/pipe2.c (includes): Add binary-io.h.
42884         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42885
42886 2009-08-24  Bruno Haible  <bruno@clisp.org>
42887
42888         Tolerate declared but missing accept4 syscall.
42889         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42890         available.
42891         * lib/sys_socket.in.h (accept4): If the function is already present,
42892         override it.
42893         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42894         * modules/accept4 (Makefile.am): Compile accept4.c always.
42895         Reported by Paolo Bonzini and Eric Blake.
42896
42897 2009-08-23  Bruno Haible  <bruno@clisp.org>
42898
42899         New module 'accept4'.
42900         * lib/sys_socket.in.h (accept4): New declaration.
42901         * lib/accept4.c: New file.
42902         * m4/accept4.m4: New file.
42903         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42904         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42905         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42906         HAVE_ACCEPT4.
42907         * modules/accept4: New file.
42908         * doc/glibc-functions/accept4.texi: Mention the new module.
42909
42910 2009-08-24  Jim Meyering  <meyering@redhat.com>
42911
42912         progname: also set global program_invocation_name, when possible
42913         Before this change, a libtool-enabled program that calls glibc's
42914         error function would report the program name as
42915         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42916         * modules/progname (configure.ac): Check for a declaration of
42917         program_invocation_name.
42918         * lib/progname.c:  Include <errno.h>.
42919         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42920         Set program_invocation_name.
42921
42922 2009-08-23  Bruno Haible  <bruno@clisp.org>
42923
42924         * lib/dup3.c: Include <string.h>.
42925
42926 2009-08-23  Bruno Haible  <bruno@clisp.org>
42927
42928         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42929         * lib/pipe2.c (pipe2): Likewise.
42930         Suggested by Eric Blake.
42931
42932 2009-08-23  Bruno Haible  <bruno@clisp.org>
42933
42934         Tolerate declared but missing dup3 syscall.
42935         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42936         * lib/unistd.in.h (dup3): If the function is already present,
42937         override it.
42938         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42939         * modules/dup3 (Makefile.am): Compile dup3.c always.
42940         Reported by Paolo Bonzini.
42941
42942 2009-08-23  Bruno Haible  <bruno@clisp.org>
42943
42944         Tolerate declared but missing pipe2 syscall.
42945         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42946         available.
42947         * lib/unistd.in.h (pipe2): If the function is already present,
42948         override it.
42949         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42950         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42951         Reported by Paolo Bonzini.
42952
42953 2009-08-23  Bruno Haible  <bruno@clisp.org>
42954
42955         * lib/pipe2.c (pipe2): Move #ifs inside function.
42956
42957 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42958
42959         quotearg: document limitations of quote_these_too
42960         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42961         those limitations are created.
42962         * lib/quotearg.h (set_char_quoting): Document that digits and
42963         letters that are special after backslash are not permitted.
42964         (quotearg_char): Cross-reference set_char_quoting documentation.
42965
42966 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42967
42968         quotearg: implement custom_quoting_style
42969         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42970         right_quote fields.
42971         (set_custom_quoting): New public function.
42972         (quotearg_buffer_restyled): Add left_quote and right_quote
42973         arguments, handle them very much like locale quoting, and update
42974         all uses.
42975         (quotearg_n_custom): New public function.
42976         (quotearg_n_custom_mem): New public function.
42977         (quotearg_custom): New public function.
42978         (quotearg_custom_mem): New public function.
42979         * lib/quotearg.h: Prototype and document new public functions.
42980         (enum quoting_style): For escape_quoting_style and
42981         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42982         ignored even though they're otherwise like c_quoting_style.
42983         Add custom_quoting_style member and document with comparison to
42984         clocale_quoting_style.
42985         * tests/test-quotearg.c (custom_quotes): New array.
42986         (custom_results): New array.
42987         (main): Extend to test custom quoting.
42988
42989 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42990
42991         quotearg: fix right quote escaping when it's in quote_these_too
42992         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42993         quote, be sure to prepend only one backslash.
42994         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42995         (main): Test it.
42996
42997 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42998
42999         quotearg-tests: test escaping of embedded locale quotes
43000         * tests/test-quotearg.c (struct result_strings): Add member for
43001         new input.
43002         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43003         (inputs): Add new input.
43004         (results_g): Add expected results.
43005         (flag_results): Likewise.
43006         (locale_results): Likewise.
43007         (compare_strings): Check those.
43008
43009 2009-08-23  Bruno Haible  <bruno@clisp.org>
43010
43011         Tests for module 'dup3'.
43012         * modules/dup3-tests: New file.
43013         * tests/test-dup3.c: New file.
43014
43015         New module 'dup3'.
43016         * lib/unistd.in.h (dup3): New declaration.
43017         * lib/dup3.c: New file.
43018         * m4/dup3.m4: New file.
43019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43020         HAVE_DUP3.
43021         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43022         * modules/dup3: New file.
43023         * doc/glibc-functions/dup3.texi: Mention the new module.
43024
43025 2009-08-23  Bruno Haible  <bruno@clisp.org>
43026
43027         Tweak the dup2 test.
43028         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43029         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43030         the test file is still empty. Fix argument order of lseek.
43031
43032 2009-08-23  Bruno Haible  <bruno@clisp.org>
43033
43034         Avoid test link errors when the modules getopt-gnu, gettext are used.
43035         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43036         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43037
43038 2009-08-23  Bruno Haible  <bruno@clisp.org>
43039
43040         Fix getdtablesize() on mingw.
43041         * lib/getdtablesize.c (getdtablesize): Implement differently.
43042         * lib/unistd.in.h (getdtablesize): Improve comment.
43043
43044 2009-08-23  Bruno Haible  <bruno@clisp.org>
43045
43046         New module 'mkostemp'.
43047         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43048         * lib/stdlib.in.h (mksotemp): New declaration.
43049         * lib/mkostemp.c: New file, from glibc with modifications.
43050         * lib/tempname.h (GT_FILE): Remove outdated comment.
43051         (gen_tempname): Add flags argument.
43052         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43053         (__GT_FILE): Map to 1.
43054         (small_open, large_open): Remove macros.
43055         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43056         * lib/mkstemp.c (mkstemp): Update.
43057         * lib/mkdtemp.c (mkdtemp): Likewise.
43058         * m4/mkostemp.m4: New file.
43059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43060         HAVE_MKOSTEMP.
43061         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43062         HAVE_MKOSTEMP.
43063         * modules/mkostemp: New file, based on modules/mkstemp.
43064         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43065         * NEWS: Mention the change.
43066
43067 2009-08-23  Bruno Haible  <bruno@clisp.org>
43068
43069         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43070         Reported by Eric Blake.
43071
43072 2009-08-23  Bruno Haible  <bruno@clisp.org>
43073
43074         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43075         Reported by Eric Blake.
43076
43077 2009-08-23  Bruno Haible  <bruno@clisp.org>
43078
43079         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43080         * modules/pipe2 (Depends-on): Likewise.
43081
43082 2009-08-23  Eric Blake  <ebb9@byu.net>
43083
43084         fcntl-h: add O_TTY_INIT support
43085         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43086         * tests/test-fcntl-h.c (o): Test it.
43087         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43088
43089         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43090         * modules/fcntl: Move <fcntl.h> header replacement...
43091         * modules/fcntl-h: ...to new name, so as not to collide with
43092         like-named function.
43093         * tests/test-fcntl.c: Rename...
43094         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43095         * modules/fcntl-tests: Rename...
43096         * modules/fcntl-h-tests: ...to this.  Update test file name.
43097         * modules/chdir-long (Depends-on): Update clients.
43098         * modules/chdir-safer (Depends-on): Likewise.
43099         * modules/fcntl-safer (Depends-on): Likewise.
43100         * modules/fts (Depends-on): Likewise.
43101         * modules/mkancesdirs (Depends-on): Likewise.
43102         * modules/mkdir-p (Depends-on): Likewise.
43103         * modules/open (Depends-on): Likewise.
43104         * modules/savewd (Depends-on): Likewise.
43105         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43106         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43107
43108 2009-08-22  Bruno Haible  <bruno@clisp.org>
43109
43110         * modules/binary-io (License): Relicense under LGPL.
43111         * modules/pipe2 (License): Likewise.
43112
43113 2009-08-22  Bruno Haible  <bruno@clisp.org>
43114
43115         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43116         return value.
43117         * lib/pipe-filter-gi.c (filter_init): Likewise.
43118         Reported by Eric Blake.
43119
43120 2009-08-22  Bruno Haible  <bruno@clisp.org>
43121
43122         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43123         * modules/pipe (Depends-on): Add pipe2.
43124
43125 2009-08-22  Bruno Haible  <bruno@clisp.org>
43126
43127         Tests for module 'pipe2'.
43128         * modules/pipe2-tests: New file.
43129         * tests/test-pipe2.c: New file.
43130
43131         New module 'pipe2'.
43132         * lib/unistd.in.h (pipe2): New declaration.
43133         * lib/pipe2.c: New file.
43134         * m4/pipe2.m4: New file.
43135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43136         HAVE_PIPE2.
43137         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43138         * modules/pipe2: New file.
43139         * doc/glibc-functions/pipe2.texi: Mention the new module.
43140
43141 2009-08-22  Bruno Haible  <bruno@clisp.org>
43142
43143         Reference some new glibc functions.
43144         * doc/glibc-functions/accept4.texi: New file.
43145         * doc/glibc-functions/dup3.texi: New file.
43146         * doc/glibc-functions/mkostemp.texi: New file.
43147         * doc/glibc-functions/pipe2.texi: New file.
43148         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43149         (Glibc sys/socket.h): Refer to accept4.
43150         (Glibc unistd.h): Refer to dup3, pipe2.
43151         Reported by Eric Blake.
43152
43153 2009-08-22  Jim Meyering  <meyering@redhat.com>
43154             Bruno Haible  <bruno@clisp.org>
43155
43156         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43157         This makes it so packages using automake-1.11's silent-rules option
43158         can print e.g., a single "GEN    configmake.h" line, rather than
43159         the 30+ statements that perform the job.  If you want to see the
43160         actual commands, you can still run "make V=1".
43161         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43162         so that make output is abbreviated when those variables are defined
43163         appropriately.
43164         * modules/argz: Likewise.
43165         * modules/arpa_inet: Likewise.
43166         * modules/byteswap: Likewise.
43167         * modules/configmake: Likewise.
43168         * modules/dirent: Likewise.
43169         * modules/errno: Likewise.
43170         * modules/fcntl: Likewise.
43171         * modules/float: Likewise.
43172         * modules/fnmatch: Likewise.
43173         * modules/getopt-posix: Likewise.
43174         * modules/glob: Likewise.
43175         * modules/iconv_open: Likewise.
43176         * modules/inttypes: Likewise.
43177         * modules/localcharset: Likewise.
43178         * modules/locale: Likewise.
43179         * modules/math: Likewise.
43180         * modules/netdb: Likewise.
43181         * modules/netinet_in: Likewise.
43182         * modules/poll: Likewise.
43183         * modules/posix_spawnp-tests: Likewise.
43184         * modules/sched: Likewise.
43185         * modules/search: Likewise.
43186         * modules/selinux-h: Likewise.
43187         * modules/signal: Likewise.
43188         * modules/spawn: Likewise.
43189         * modules/stdarg: Likewise.
43190         * modules/stdbool: Likewise.
43191         * modules/stddef: Likewise.
43192         * modules/stdint: Likewise.
43193         * modules/stdio: Likewise.
43194         * modules/stdlib: Likewise.
43195         * modules/string: Likewise.
43196         * modules/strings: Likewise.
43197         * modules/sys_file: Likewise.
43198         * modules/sys_ioctl: Likewise.
43199         * modules/sys_select: Likewise.
43200         * modules/sys_socket: Likewise.
43201         * modules/sys_stat: Likewise.
43202         * modules/sys_time: Likewise.
43203         * modules/sys_times: Likewise.
43204         * modules/sys_utsname: Likewise.
43205         * modules/sys_wait: Likewise.
43206         * modules/sysexits: Likewise.
43207         * modules/time: Likewise.
43208         * modules/unistd: Likewise.
43209         * modules/wchar: Likewise.
43210         * modules/wctype: Likewise.
43211
43212 2009-08-22  Jim Meyering  <meyering@redhat.com>
43213
43214         announce-gen: detect write failure
43215         * build-aux/announce-gen: Add Coda at end.
43216         Remove equivalent-but-more-verbose block at top.
43217
43218 2009-08-19  Akim Demaille  <demaille@gostai.com>
43219
43220         bootstrap: --help to stdout.
43221         * bootstrap (usage): Don't send --help to stderr.
43222         Use a here doc instead of a long string.
43223
43224 2009-08-21  Eric Blake  <ebb9@byu.net>
43225
43226         test-popen-safer: split from test-popen
43227         * tests/test-popen.c (main): Move...
43228         * tests/test-popen.h: ...into new file.
43229         * tests/test-popen-safer2.c: New file.
43230         * modules/popen-tests (Files): Add test-popen.h.
43231         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43232         Suggested by Bruno Haible.
43233
43234         test-fcntl-safer: split from test-open
43235         * tests/test-open.c (main): Move...
43236         * tests/test-open.h: ...into new file.
43237         * tests/test-fcntl-safer.c: New file.
43238         * modules/open-tests (Files): Add test-open.h.
43239         * modules/fcntl-safer-tests: New file.
43240         Suggested by Bruno Haible.
43241
43242         test-fopen-safer: split from test-fopen
43243         * tests/test-fopen.c (main): Move...
43244         * tests/test-fopen.h: ...into new file.
43245         * tests/test-fopen-safer.c: New file.
43246         * modules/fopen-tests (Files): Add test-fopen.h.
43247         * modules/fopen-safer-tests: New file.
43248         Suggested by Bruno Haible.
43249
43250 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43251
43252         popen-safer: test O_CLOEXEC at run-time.
43253         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
43254
43255 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43256
43257         fcntl: move more flags to the header
43258         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43259         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43260         * lib/fcntl.in.h: Do both things here.
43261
43262 2009-08-21  Jim Meyering  <meyering@redhat.com>
43263
43264         consistently remove $@-t before redirecting to it
43265         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43266         * modules/alloca-opt: Likewise.
43267         * modules/byteswap: Likewise.
43268         * modules/fnmatch: Likewise.
43269         * modules/getopt-posix: Likewise.
43270         * modules/glob: Likewise.
43271         * modules/poll: Likewise.
43272         * modules/posix_spawnp-tests: Likewise.
43273         * modules/sys_socket: Likewise.
43274         * modules/sysexits: Likewise.
43275
43276 2009-08-21  Eric Blake  <ebb9@byu.net>
43277
43278         popen: simplify access to original popen
43279         * lib/popen.c (rpl_popen): No need to worry about popen being a
43280         macro.
43281         Reported by Bruno Haible.
43282
43283 2009-08-20  Eric Blake  <ebb9@byu.net>
43284
43285         build: avoid some compiler warnings
43286         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43287         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43288         type.
43289         (new_exclude_segment, excluded_file_pattern_p)
43290         (excluded_file_name_p): Reduce scope.
43291         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43292         old-style declaration.
43293
43294 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43295
43296         * tests/test-exclude1.sh: Handle Windows EOL.
43297         * tests/test-exclude2.sh: Likewise.
43298         * tests/test-exclude3.sh: Likewise.
43299         * tests/test-exclude4.sh: Likewise.
43300         * tests/test-exclude5.sh: Likewise.
43301         * tests/test-exclude6.sh: Likewise.
43302         * tests/test-exclude7.sh: Likewise.
43303
43304 2009-08-19  Akim Demaille  <demaille@gostai.com>
43305
43306         bootstrap: find sha1sum when named gsha1sum.
43307         * bootstrap (find_tool): New.
43308         ($SHA1SUM): New.
43309         Use it.
43310
43311 2009-08-20  Jim Meyering  <meyering@redhat.com>
43312
43313         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43314         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43315         expression that converts "." in a file name to "\." in the resulting
43316         regexp.  Start with a dummy statement, so that prior shell variable
43317         definitions are expanded portably.  Reported by Simon Josefsson.
43318
43319 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43320
43321         Fix polling for writeability of a screen buffer.
43322         * lib/poll.c: Distinguish input and screen buffers for the
43323         Win32 implementation.
43324         * lib/select.c: Likewise.
43325
43326 2009-08-19  Eric Blake  <ebb9@byu.net>
43327
43328         popen-safer: prevent popen from clobbering std descriptors
43329         * modules/popen-safer: New file.
43330         * lib/popen-safer.c: Likewise.
43331         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43332         * lib/stdio--.h (popen): Provide override.
43333         * lib/stdio-safer.h (popen_safer): Provide declaration.
43334         * tests/test-popen.c (includes): Partially test this.
43335         * modules/popen-safer-tests: New file, for more tests.
43336         * tests/test-popen-safer.c: Likewise.
43337         * MODULES.html.sh (file stream based Input/Output): Mention it.
43338
43339         tests: test some of the *-safer modules
43340         * modules/fopen-safer (Depends-on): Add fopen.
43341         * modules/fcntl-safer (Depends-on): Add fcntl.
43342         * modules/stdlib-safer (Depends-on): Add stdlib.
43343         (configure.ac): Set indicator.
43344         * modules/unistd-safer (configure.ac): Likewise.
43345         * modules/tmpfile-safer (configure.ac): Likewise.
43346         (Depends-on): Add tmpfile.
43347         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43348         active.
43349         * tests/test-fopen.c (includes): Test safer versions when they are
43350         in use.
43351         * tests/test-open.c (includes): Likewise.
43352
43353         popen: fix cygwin 1.5 bug when stdin closed
43354         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43355         * modules/popen: New file.
43356         * modules/popen-tests: Likewise.
43357         * tests/test-popen.c: Likewise.
43358         * m4/popen.m4: Likewise.
43359         * lib/popen.c: Likewise.
43360         * lib/stdio.in.h (popen): New declaration.
43361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43362         * modules/stdio (Makefile.am): Likewise.
43363         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43364
43365 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43366
43367         maint.mk: give full control over update-copyright exclusions
43368         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43369         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43370         (update-copyright): Don't force inclusion of top-level
43371         ChangeLog.  Don't force exclusion of all COPYING files, but make
43372         them the default exclusion instead.
43373
43374 2009-08-16  Bruno Haible  <bruno@clisp.org>
43375
43376         Fix test failures on Solaris 10.
43377         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43378         tests when Solaris iconv() is used.
43379         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43380         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43381         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43382         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43383         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43384
43385 2009-08-16  Bruno Haible  <bruno@clisp.org>
43386
43387         Fix test failures on Solaris 10.
43388         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43389         'tr' program and pass it as first argument.
43390         * tests/test-pipe-filter-gi1.sh: Likewise.
43391         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43392         program as first argument.
43393         * tests/test-pipe-filter-gi1.c (main): Likewise.
43394
43395 2009-08-16  Eric Blake  <ebb9@byu.net>
43396
43397         fpurge: fix previous commits
43398         * modules/fpurge (Makefile.am): Make replacement conditional,
43399         partially reverting 2007-04-29 change; missed in previous
43400         attempt.
43401         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43402         is missing.
43403
43404 2009-08-16  Bruno Haible  <bruno@clisp.org>
43405
43406         Clarify fpurge's effect on the file position.
43407         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43408         * tests/test-fpurge.c (main): Make a second pass for checking the file
43409         position.
43410
43411 2009-08-16  Bruno Haible  <bruno@clisp.org>
43412
43413         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43414         declaration of fpurge is missing.
43415         * tests/test-fpurge.c (main): Check that the file has not more contents
43416         than expected. Close the file before removing it.
43417
43418 2009-08-15  Eric Blake  <ebb9@byu.net>
43419
43420         fpurge: don't wrap working cygwin implementation
43421         * lib/fpurge.c (fpurge): Fix comment typo.
43422         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43423         1.7 to avoid replacement.
43424         * tests/test-fpurge.c (main): Enhance test.
43425
43426 2009-08-15  Eric Blake  <ebb9@byu.net>
43427         and Jim Meyering  <meyering@redhat.com>
43428
43429         test-update-copyright: skip if perl is insufficient
43430         * tests/test-update-copyright.sh: Failure to run maintainer tool
43431         should not cause testsuite failure on cygwin 1.5.
43432
43433 2009-08-14  Eric Blake  <ebb9@byu.net>
43434
43435         doc: mention more functions added in cygwin 1.7.0
43436         * doc/posix-headers/limits.texi (limits.h): Update for recent
43437         cygwin additions.
43438         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43439         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43440         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43441         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43442         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43443
43444 2009-08-14  Eric Blake  <ebb9@byu.net>
43445
43446         maint.mk: simplify update-copyright rule
43447         * top/maint.mk (update-copyright-local): Delete, and document how
43448         to do it in cfg.mk instead.
43449         (update-copyright-exclude-regexp): Delete, and document how to do
43450         it in .x-update-copyright instead.
43451         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43452         exclude ChangeLog.
43453
43454 2009-08-14  Bruno Haible  <bruno@clisp.org>
43455
43456         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43457
43458 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43459
43460         maint.mk: support update-copyright-env
43461         * top/maint.mk (update-copyright-env): Define place-holder.
43462         (update-copyright): Expand $(update-copyright-env) before
43463         invoking update-copyright.
43464
43465 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43466
43467         update-copyright: implement forced reformatting
43468         * build-aux/update-copyright: Implement and document
43469         UPDATE_COPYRIGHT_FORCE.
43470         * tests/test-update-copyright.sh: Test it.
43471
43472 2009-08-14  Eric Blake  <ebb9@byu.net>
43473         and Bruno Haible  <bruno@clisp.org>
43474
43475         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43476         * tests/test-locale.c: Revert previous patch related to NULL.
43477         * tests/test-stdio.c: Likewise.
43478         * tests/test-stdlib.c: Likewise.
43479         * tests/test-string.c: Likewise.
43480         * tests/test-unistd.c: Likewise.
43481         * modules/time-tests (Depends-on): Add verify.
43482         * modules/wchar-tests (Depends-on): Likewise.
43483         * tests/test-time.c: Test for NULL compliance.
43484         * tests/test-wchar.c: Likewise.
43485         * modules/locale (Depends-on): Add stddef.
43486         * modules/stdio (Depends-on): Likewise.
43487         * modules/stdlib (Depends-on): Likewise.
43488         * modules/string (Depends-on): Likewise.
43489         * modules/time (Depends-on): Likewise.
43490         * modules/unistd (Depends-on): Likewise.
43491         * modules/wchar (Depends-on): Likewise.
43492         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43493         * lib/stdlib.in.h (includes): Likewise.
43494         * lib/string.in.h (includes): Likewise.
43495         * lib/time.in.h (includes): Likewise.
43496         * lib/unistd.in.h (includes): Likewise.
43497         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43498         replaced.
43499         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43500         * m4/stddef_h.m4: New file.
43501         * modules/stddef: Likewise.
43502         * lib/stddef.in.h: Likewise.
43503         * modules/stddef-tests: Likewise.
43504         * tests/test-stddef.c: Likewise.
43505         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43506         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43507         * doc/posix-headers/locale.texi (locale.h): Likewise.
43508         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43509         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43510         * doc/posix-headers/string.texi (string.h): Likewise.
43511         * doc/posix-headers/time.texi (time.h): Likewise.
43512         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43513         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43514
43515 2009-08-14  Eric Blake  <ebb9@byu.net>
43516
43517         doc: improve git diff of texinfo files
43518         * .gitattributes: Add rule for *.texi files, with hint on how to
43519         use it.
43520         Copied from m4, and based on a report by Bruno Haible.
43521
43522 2009-08-14  Bruno Haible  <bruno@clisp.org>
43523
43524         Disable multithread support by default on Cygwin 1.5.x for real.
43525         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43526
43527 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43528
43529         update-copyright: much ado about intervals
43530         * build-aux/update-copyright: Implement and document
43531         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43532         of copyright year intervals.
43533         Also, document UPDATE_COPYRIGHT_YEAR.
43534         * tests/test-update-copyright.sh: Test it.
43535
43536         update-copyright: convert 2-digit to 4-digit years
43537         * build-aux/update-copyright: Implement and document.
43538         * tests/test-update-copyright.sh: Update.
43539
43540 2009-08-14  Jim Meyering  <meyering@redhat.com>
43541
43542         test-exclude: avoid coreutils "make check" failure
43543         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43544         just as in test-argmatch.c.
43545
43546 2009-08-13  Eric Blake  <ebb9@byu.net>
43547
43548         test-dup2: fix bad assumption
43549         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43550         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43551
43552         test-version-etc: fix CRLF portability issue
43553         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43554         recognize \r.
43555         * tests/test-argp-version-etc-1.sh: Likewise.
43556
43557         getopt: update client modules
43558         * modules/argp (Depends-on): Use getopt-gnu.
43559         * modules/git-merge-changelog (Depends-on): Likewise.
43560         * modules/long-options (Depends-on): Likewise.
43561         * modules/xstrtol (Depends-on): Likewise.
43562
43563 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43564
43565         * tests/test-version-etc.sh: Don't fail on different
43566         project/version.  Don't fail on CRLF differences.  Rewrite to use
43567         multiple -e instead of multiple sed forks, suggested by Eric Blake
43568         <ebb9@byu.net>.
43569         * tests/test-argp-version-etc-1.sh: Likewise.
43570
43571 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43572
43573         * tests/test-version-etc.sh: Don't fail on different
43574         project/version.
43575
43576 2009-08-12  Bruno Haible  <bruno@clisp.org>
43577
43578         Tests for modules 'getopt-posix', 'getopt-gnu'.
43579         * modules/getopt-posix-tests: New file.
43580         * tests/test-getopt.c: New file.
43581         * tests/test-getopt.h: New file.
43582         * tests/test-getopt_long.h: New file.
43583
43584         New modules 'getopt-posix', 'getopt-gnu'.
43585         * modules/getopt-gnu: New file, renamed from modules/getopt.
43586         * modules/getopt-posix: New file.
43587         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
43588         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
43589         (gl_GETOPT): Remove macro.
43590         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
43591         Disable the test against BSD systems that declare optreset. Test
43592         against mingw bug. Test against lack of support of optional arguments
43593         on many platforms.
43594         * doc/glibc-headers/getopt.texi: Update module name and list of
43595         relevant platforms.
43596         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
43597         'getopt-gnu' and more portability problems.
43598         * NEWS: Mention the changes.
43599
43600 2009-08-12  Bruno Haible  <bruno@clisp.org>
43601
43602         Ensure that optarg etc. get declared by <unistd.h>.
43603         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
43604         AC_USE_SYSTEM_EXTENSIONS.
43605         * modules/getopt (Depends-on): Add 'extensions'.
43606
43607 2009-08-12  Bruno Haible  <bruno@clisp.org>
43608
43609         Avoid test link errors.
43610         * modules/pipe-filter-ii-tests (Makefile.am): Define
43611         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
43612         * modules/pipe-filter-gi-tests (Makefile.am): Define
43613         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
43614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43615
43616 2009-08-12  Bruno Haible  <bruno@clisp.org>
43617
43618         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
43619         gl_GETOPT_SUBSTITUTE before.
43620         (gl_GETOPT): Use it.
43621         * m4/argp.m4 (gl_ARGP): Update.
43622         Reported by Sergey Poznyakoff.
43623
43624         * m4/getopt.m4: Reorder macros.
43625         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
43626         (gl_GETOPT_SUBSTITUTE): Remove macro.
43627
43628 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43629
43630         Minor improvement in gitlog-to-changelog
43631
43632         * build-aux/gitlog-to-changelog: New option `--format' makes
43633         output format string configurable.
43634
43635 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43636
43637         Optimize exclude: use hash tables for non-wildcard patterns.
43638
43639         * lib/exclude.c: Include hash.h and mbuiter.h
43640         (struct exclude_pattern, exclude_segment): New data types.
43641         (struct exclude): Rewrite.
43642         (fnmatch_pattern_has_wildcards): New function.
43643         (new_exclude_segment, free_exclude_segment): New functions.
43644         (excluded_file_pattern_p, excluded_file_name_p): New functions.
43645         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
43646         * lib/exclude.h (is_fnmatch_pattern): New prototype.
43647         * modules/exclude: Depend on hash and mbuiter.
43648
43649         * modules/exclude-tests: New file.
43650         * tests/test-exclude.c: New file.
43651         * tests/test-exclude1.sh: New file.
43652         * tests/test-exclude2.sh: New file.
43653         * tests/test-exclude3.sh: New file.
43654         * tests/test-exclude4.sh: New file.
43655         * tests/test-exclude5.sh: New file.
43656         * tests/test-exclude6.sh: New file.
43657         * tests/test-exclude7.sh: New file.
43658
43659 2009-08-12  Bruno Haible  <bruno@clisp.org>
43660
43661         Ensure that getopt() gets declared by <unistd.h>.
43662         * lib/unistd.in.h: Conditionally include getopt.h.
43663         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
43664         Set GNULIB_UNISTD_H_GETOPT.
43665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43666         GNULIB_UNISTD_H_GETOPT.
43667         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
43668
43669 2009-08-12  Bruno Haible  <bruno@clisp.org>
43670
43671         Clarify logic.
43672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
43673         gl_replace_getopt instead of GETOPT_H.
43674
43675 2009-08-12  Bruno Haible  <bruno@clisp.org>
43676
43677         * m4/getopt.m4: Add comments.
43678
43679 2009-08-12  Bruno Haible  <bruno@clisp.org>
43680
43681         Disable multithread support by default on Cygwin 1.5.x.
43682         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
43683         set gl_use_threads=no if not specified otherwise.
43684
43685 2009-08-11  Bruno Haible  <bruno@clisp.org>
43686
43687         Avoid compilation error on NetBSD 5.0.
43688         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
43689         * tests/test-stdio.c: Likewise.
43690         * tests/test-stdlib.c: Likewise.
43691         * tests/test-string.c: Likewise.
43692         * tests/test-unistd.c: Likewise.
43693         Reported by Greg Troxel <gdt@ir.bbn.com>
43694         at <https://savannah.gnu.org/support/?106973>.
43695
43696 2009-08-11  Bruno Haible  <bruno@clisp.org>
43697
43698         * modules/dup2-tests (Depends-on): Remove close.
43699
43700         Undo 2009-07-19 commit.
43701         * modules/acl-tests (Depends-on): Remove close.
43702         * modules/binary-io-tests (Depends-on): Likewise.
43703         * modules/closein-tests (Depends-on): Likewise.
43704         * modules/flock-tests (Depends-on): Likewise.
43705         * modules/fsync-tests (Depends-on): Likewise.
43706         * modules/lseek-tests (Depends-on): Likewise.
43707         * modules/pipe-tests (Depends-on): Likewise.
43708         * modules/posix_spawn-tests (Depends-on): Likewise.
43709         * modules/posix_spawnp-tests (Depends-on): Likewise.
43710         * modules/stat-time-tests (Depends-on): Likewise.
43711         * modules/yesno-tests (Depends-on): Likewise.
43712
43713 2009-08-10  Bruno Haible  <bruno@clisp.org>
43714
43715         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
43716
43717 2009-08-10  Bruno Haible  <bruno@clisp.org>
43718
43719         Fix a gcc warning.
43720         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
43721
43722 2009-08-10  Bruno Haible  <bruno@clisp.org>
43723
43724         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
43725         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
43726         not only the first time.
43727         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
43728         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
43729         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
43730         is 1, not only the the first time.
43731
43732 2009-08-10  Bruno Haible  <bruno@clisp.org>
43733
43734         Make it possible to use module 'gethostname' without module 'close'.
43735         * lib/unistd.in.h (close): Evoke a link error only if
43736         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43738         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43739         * modules/unistd (Makefile.am): Substitute
43740         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43741         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
43742         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43743         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
43744         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43745         * modules/sys_ioctl (Makefile.am): Substitute
43746         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43747         * modules/socket (configure.ac): On native Windows, set
43748         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
43749         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43750         Reported by Sam Steingold <sds@gnu.org>.
43751
43752 2009-08-10  Bruno Haible  <bruno@clisp.org>
43753
43754         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
43755         * modules/ioctl (configure.ac): Likewise.
43756
43757 2009-08-10  Bruno Haible  <bruno@clisp.org>
43758
43759         Avoid collision between gnulib wrapper and libintl wrapper.
43760         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
43761         already defined in intl/printf.c.
43762         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
43763         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
43764
43765 2009-08-09  Bruno Haible  <bruno@clisp.org>
43766
43767         Make <sys/select.h> really self-contained, also on Solaris 10.
43768         * lib/sys_select.in.h: Include <string.h>.
43769         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43770         Solaris 10 problem.
43771         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43772         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43773         Reported by Jim Meyering.
43774
43775 2009-08-09  Bruno Haible  <bruno@clisp.org>
43776
43777         Avoid warnings from 'aclocal' that are due to a use of macro name
43778         AM_XGETTEXT_OPTION that is not defined in automake.
43779         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43780         automake.
43781         * modules/error (configure.ac): Likewise.
43782         * modules/propername (configure.ac): Likewise.
43783         * modules/vasprintf (configure.ac): Likewise.
43784         * modules/verror (configure.ac): Likewise.
43785         * modules/xprintf (configure.ac): Likewise.
43786         * modules/xvasprintf (configure.ac): Likewise.
43787
43788 2009-08-08  Bruno Haible  <bruno@clisp.org>
43789
43790         Avoid compilation error in C++ mode.
43791         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43792         Reported by Sam Steingold <sds@gnu.org>.
43793
43794 2009-08-08  Bruno Haible  <bruno@clisp.org>
43795
43796         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43797         for the various Unix platforms.
43798         * doc/posix-headers/limits.texi: Update platforms list regarding
43799         HOST_NAME_MAX.
43800         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43801
43802 2009-08-07  Jim Meyering  <meyering@redhat.com>
43803
43804         selinux-at: fix typo in a comment
43805         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43806         Spotted by Paolo Bonzini.
43807
43808         selinux-at: remove redundant m4 code, add documentation
43809         * modules/selinux-at (configure.ac): Remove redundant code.
43810         LIB_SELINUX is already set via the dependent module, selinux-h.
43811         (Include): Add quotes around selinux-at.h.
43812         * lib/selinux-at.h: Add documentation.
43813         Reported by Bruno Haible in
43814         http://marc.info/?l=gnulib-bug&m=124958988300749
43815
43816 2009-08-07  Bruno Haible  <bruno@clisp.org>
43817
43818         Avoid link error on MacOS X 10.3 and 10.4.
43819         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43820         on non-ELF systems.
43821         * lib/argp-pv.c (argp_program_version): Likewise.
43822         Reported by Simon Josefsson.
43823
43824 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43825
43826         * tests/test-version-etc.sh: Use $EXEEXT.
43827
43828 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43829
43830         update-copyright: update documentation to point to maint.mk
43831         * build-aux/update-copyright: Here.
43832
43833 2009-08-06  Jim Meyering  <meyering@redhat.com>
43834
43835         maint.mk: support update-copyright-local
43836         * top/maint.mk (update-copyright-local): Define place-holder.
43837         (update-copyright): Depend on $(update-copyright-local).
43838
43839 2009-08-06  Jim Meyering  <meyering@redhat.com>
43840
43841         selinux-at: new module
43842         Initially written for coreutils, this module will soon be
43843         used by findutils, too.
43844         * MODULES.html.sh [Misc]: Add selinux-at.
43845         * lib/selinux-at.h: New file, from coreutils.
43846         * lib/selinux-at.c: Likewise.
43847         * modules/selinux-at: Likewise.
43848         (License): Change from LGPL to GPL, since it depends
43849         on the GPL'd openat module.
43850
43851         doc: update README
43852         * README: Remove references to cogito.
43853         Remove cvs-repo-updating instructions from 2007.
43854         Don't imply that CVS is better if you have limited disk space.
43855
43856 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43857
43858         update-copyright: support C-style comments
43859         * build-aux/update-copyright: Implement and document.
43860         * tests/test-update-copyright.sh: Test.
43861
43862 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43863
43864         update-copyright: support omitted "(C)"
43865         * build-aux/update-copyright: Implement and document.  Also,
43866         allow variable whitespace before "(C)".
43867         * tests/test-update-copyright.sh: Test.
43868
43869 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43870
43871         update-copyright: don't trip on non-FSF copyright statements
43872         * build-aux/update-copyright: Fix so that the first correctly
43873         formatted FSF copyright statement is recognized no matter what
43874         appears before it.  Update documentation.
43875         * tests/test-update-copyright.sh: Test that.
43876
43877 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43878
43879         update-copyright: clean up code a little
43880         * build-aux/update-copyright: Append "_re" to the name of any
43881         variable holding a regular expression.
43882         Replace "old" and "new" with "stmt" in variable names.
43883         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43884         handled correctly.
43885         Format code more consistently.
43886
43887 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43888
43889         update-copyright-tests: improve portability
43890         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43891         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43892
43893 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43894
43895         update-copyright: support @copyright{} and &copy;
43896         * build-aux/update-copyright: Implement and document.
43897         * tests/test-update-copyright.sh: Test.
43898
43899 2009-08-04  Jim Meyering  <meyering@redhat.com>
43900
43901         update-copyright-tests: correctly test EOL=\r\n handling
43902         * tests/test-update-copyright.sh: Put \r at the end of some lines
43903         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43904
43905         maint.mk: make update-copyright exclusion list more configurable
43906         * top/maint.mk (update-copyright): Default to excluding COPYING,
43907         but allow an override, in case someone does want to update that file.
43908
43909         maint.mk: don't update copyright date in COPYING
43910         * top/maint.mk (update-copyright): Exclude COPYING.
43911
43912         maint.mk: add a copyright-updating rule
43913         * top/maint.mk (update-copyright): New rule.
43914         Derived from coreutils/Makefile.am.
43915
43916         update-copyright: rename some variables
43917         * build-aux/update-copyright: Rename a few variables for clarity.
43918         Tweak syntax.  List Joel E. Denny as coauthor.
43919
43920 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43921
43922         update-copyright: fix bug for 2-digit last year and add tests
43923         * build-aux/update-copyright: Fix bug.
43924         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43925         specified.
43926         * modules/update-copyright-tests: New
43927         * tests/test-update-copyright.sh: New.
43928
43929 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43930
43931         update-copyright: handle leading tabs in line prefix
43932         * build-aux/update-copyright: Count leading tabs as 8 spaces
43933         when computing margin.  This helps with the formatting of
43934         ChangeLogs, for example.
43935         Fix documentation a little.
43936
43937 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43938
43939         update-copyright: support EOL=\r\n
43940         * build-aux/update-copyright: Implement that.
43941
43942 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43943
43944         update-copyright: automatically format copyright statements
43945         * build-aux/update-copyright: Implement that.
43946         Also, be a little more predictable and safer by always failing
43947         when the full copyright format is not perfectly recognized as an
43948         unbroken whole.  Discussed at
43949         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43950         Rewrite documentation.
43951
43952 2009-08-03  Bruno Haible  <bruno@clisp.org>
43953
43954         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43955
43956 2009-08-02  Bruno Haible  <bruno@clisp.org>
43957
43958         Tests for module 'uname'.
43959         * modules/uname-tests: New file.
43960         * tests/test-uname.c: New file.
43961
43962         New module 'uname'.
43963         * lib/uname.c: New file.
43964         * m4/uname.m4: New file.
43965         * modules/uname: New file.
43966         * doc/posix-functions/uname.texi: Mention the new module.
43967
43968 2009-08-02  Bruno Haible  <bruno@clisp.org>
43969
43970         Tests for module 'sys_utsname'.
43971         * modules/sys_utsname-tests: New file.
43972         * tests/test-sys_utsname.c: New file.
43973
43974         New module 'sys_utsname'.
43975         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43976         * m4/sys_utsname_h.m4: New file.
43977         * modules/sys_utsname: New file.
43978         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43979
43980 2009-08-02  Bruno Haible  <bruno@clisp.org>
43981
43982         Implicitly initialize the sockets library.
43983         * lib/gethostname.c: Include sockets.h.
43984         (rpl_gethostname): Invoke gl_sockets_startup.
43985         * lib/socket.c: Include sockets.h.
43986         (rpl_socket): Invoke gl_sockets_startup.
43987         * modules/gethostname (Depends-on): Add sockets.
43988         * modules/socket (Depends-on): Likewise.
43989         * tests/test-poll.c: Don't include sockets.h.
43990         (main): Don't invoke gl_sockets_startup.
43991         * tests/test-select.c: Don't include sockets.h.
43992         (main): Don't invoke gl_sockets_startup.
43993
43994 2009-08-02  Bruno Haible  <bruno@clisp.org>
43995
43996         Allow multiple calls to gl_sockets_startup.
43997         * lib/sockets.c (initialized_sockets_version): New variable.
43998         (gl_sockets_startup): Do nothing if already called for this or a higher
43999         version.
44000         (gl_sockets_cleanup): Reset initialized_sockets_version.
44001
44002 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44003
44004         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44005         different project/version.
44006
44007 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44008             Bruno Haible  <bruno@clisp.org>
44009
44010         Tests for module 'pipe-filter-gi'.
44011         * modules/pipe-filter-gi-tests: New file.
44012         * tests/test-pipe-filter-gi1.sh: New file.
44013         * tests/test-pipe-filter-gi1.c: New file.
44014         * tests/test-pipe-filter-gi2.sh: New file.
44015         * tests/test-pipe-filter-gi2-main.c: New file.
44016         * tests/test-pipe-filter-gi2-child.c: New file.
44017
44018         New module 'pipe-filter-gi'.
44019         * lib/pipe-filter-gi.c: New file.
44020         * modules/pipe-filter-gi: New file.
44021
44022 2009-08-02  Bruno Haible  <bruno@clisp.org>
44023             Paolo Bonzini  <bonzini@gnu.org>
44024
44025         Tests for module 'pipe-filter-ii'.
44026         * modules/pipe-filter-ii-tests: New file.
44027         * tests/test-pipe-filter-ii1.sh: New file.
44028         * tests/test-pipe-filter-ii1.c: New file.
44029         * tests/test-pipe-filter-ii2.sh: New file.
44030         * tests/test-pipe-filter-ii2-main.c: New file.
44031         * tests/test-pipe-filter-ii2-child.c: New file.
44032
44033         New module 'pipe-filter-ii'.
44034         * lib/pipe-filter.h: New file.
44035         * lib/pipe-filter-ii.c: New file.
44036         * lib/pipe-filter-aux.h: New file.
44037         * modules/pipe-filter-ii: New file.
44038
44039 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44040
44041         * lib/gc-libgcrypt.c: Change copyright to FSF.
44042         * lib/gc-gnulib.c: Likewise.
44043
44044 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44045
44046         * lib/gethostname.c: Include limits.h.
44047
44048 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44049             Bruno Haible  <bruno@clisp.org>
44050
44051         Ensure HOST_NAME_MAX as part of the gethostname module.
44052         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44053         define also HOST_NAME_MAX.
44054         * tests/test-gethostname.c: Include <limits.h>.
44055         (main): Check also HOST_NAME_MAX.
44056         * doc/posix-headers/limits.texi: Document the mingw problem.
44057
44058 2009-08-02  Bruno Haible  <bruno@clisp.org>
44059
44060         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44061         Add comments.
44062
44063 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44064
44065         * lib/gethostname.c: Add Windows wrapper.
44066         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44067         * modules/gethostname: Depend on sys_socket & errno, for also
44068         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44069         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44070
44071 2009-07-31  Jim Meyering  <meyering@redhat.com>
44072
44073         getloadavg: fix symbol name in comment
44074         * lib/getloadavg.c: Correct a typo I introduced when adding
44075         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44076         Matt Kraai spotted the problem.
44077
44078 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44079
44080         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44081         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44082         code also if ! defined N_NAME_POINTER.
44083         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44084         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44085         but the n_name member is a 12-byte array.
44086
44087 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44088
44089         update-copyright: generalize comment handling
44090         * build-aux/update-copyright: Handle copyright statements
44091         within more comment styles.
44092         Document usage.
44093         Report any file with an external copyright holder or parse failure.
44094
44095 2009-07-29  Jim Meyering  <meyering@redhat.com>
44096
44097         mktime: correct setting of REPLACE_MKTIME
44098         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44099
44100         update-copyright: new module
44101         * modules/update-copyright: New file.
44102         * build-aux/update-copyright: New file.
44103         * MODULES.html.sh (maint+release support): Add update-copyright.
44104
44105 2009-07-27  Bruno Haible  <bruno@clisp.org>
44106
44107         Fix compilation error when <ctime> is used and mktime is replaced.
44108         * lib/time.in.h (mktime): New declaration.
44109         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44110         REPLACE_MKTIME instead of defining mktime in config.h.
44111         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44112         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44113         Reported by Ross McFarland <rwmcfa1@neces.com>.
44114
44115 2009-07-27  Bruno Haible  <bruno@clisp.org>
44116
44117         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44118         Reported by Matt Kraai <mkraai@beckman.com>.
44119
44120 2009-07-25  Jim Meyering  <meyering@redhat.com>
44121
44122         maint.mk: avoid warnings about missing files
44123         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44124         diagnostic when .prev-version does not exist.
44125         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44126         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44127         nonexistent cfg.mk.
44128         Suggestions from Simon Josefsson.
44129
44130 2009-07-25  Bruno Haible  <bruno@clisp.org>
44131
44132         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44133         defined as macros. Needed on QNX 6.4.1.
44134         Reported by Matt Kraai <mkraai@beckman.com>.
44135
44136 2009-07-23  Jim Meyering  <meyering@redhat.com>
44137
44138         maint.mk: invoke "make dist" with a working value of XZ_OPT
44139         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44140
44141 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44142
44143         Make fseeko.c compile on QNX.
44144         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44145
44146 2009-07-22  Peter Simons  <simons@cryp.to>
44147
44148         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44149         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44150         * lib/md4.h: Likewise.
44151         * lib/md5.h: Likewise.
44152         * lib/sha1.h: Likewise.
44153         * lib/sha256.h: Likewise.
44154         * lib/sha512.h: Likewise.
44155
44156         tests-sha1: don't assign literal string to 'char *' variable
44157         * tests/test-sha1.c (main): Declare locals with "const" to match
44158         attributes of the right hand side.
44159
44160 2009-07-21  Eric Blake  <ebb9@byu.net>
44161
44162         dup2: fix more mingw problems
44163         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44164         fd to itself.
44165         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44166         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44167         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44168         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44169         care of mingw bugs.
44170
44171 2009-07-21  Jim Meyering  <meyering@redhat.com>
44172
44173         vc-list-files: avoid failure when /bin/sh is dash
44174         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44175         On some Debian based systems, /bin/sh is a symlink to dash, and running
44176         this command would omit the "/" following each 'tests' prefix:
44177           dash -x build-aux/vc-list-files -C . tests
44178         That is because bash and dash work differently:
44179           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44180           bash ok
44181           dash odd
44182
44183 2009-07-21  Eric Blake  <ebb9@byu.net>
44184
44185         dup2-tests: test previous patch
44186         * modules/dup2-tests: New file.
44187         * tests/test-dup2.c: Likewise.
44188         * tests/test-open.c (main): Avoid unspecified behavior.
44189         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44190         test.
44191
44192         dup2: work around mingw and cygwin 1.5 bug
44193         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44195         * modules/unistd (Makefile.am): Substitute it.
44196         * lib/unistd.in.h (dup2): Declare the replacement.
44197         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44198         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44199         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44200         * modules/execute (Depends-on): Add dup2.
44201         * modules/fseterr (Depends-on): Likewise.
44202         * modules/pipe (Depends-on): Likewise.
44203         * modules/posix_spawn-internal (Depends-on): Likewise.
44204
44205 2009-07-21  Bruno Haible  <bruno@clisp.org>
44206
44207         * modules/.gitattributes: New file.
44208
44209 2009-07-20  Bruno Haible  <bruno@clisp.org>
44210
44211         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44212         (main): Use it.
44213
44214 2009-07-20  Eric Blake  <ebb9@byu.net>
44215
44216         test-pipe: make a bit more robust.
44217         * tests/test-pipe.c (myerr): Allow error messages regardless of
44218         what we do to stderr.
44219         (test_pipe): Rearrange to avoid deadlock.
44220         (child_main): Try a larger read, to ensure we avoided deadlock.
44221         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44222         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44223         if misused.
44224
44225 2009-07-19  Jim Meyering  <meyering@redhat.com>
44226
44227         fts: avoid false-positive cycle-detection
44228         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44229         for each new command line argument.
44230
44231 2009-07-19  Bruno Haible  <bruno@clisp.org>
44232
44233         Fix build error on mingw with the modules sys_select and unistd.
44234         * modules/acl-tests (Depends-on): Add close.
44235         * modules/binary-io-tests (Depends-on): Likewise.
44236         * modules/closein-tests (Depends-on): Likewise.
44237         * modules/flock-tests (Depends-on): Likewise.
44238         * modules/fsync-tests (Depends-on): Likewise.
44239         * modules/lseek-tests (Depends-on): Likewise.
44240         * modules/pipe-tests (Depends-on): Likewise.
44241         * modules/posix_spawn-tests (Depends-on): Likewise.
44242         * modules/posix_spawnp-tests (Depends-on): Likewise.
44243         * modules/stat-time-tests (Depends-on): Likewise.
44244         * modules/yesno-tests (Depends-on): Likewise.
44245
44246 2009-07-19  Bruno Haible  <bruno@clisp.org>
44247
44248         Unify conditionals.
44249         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
44250         macros, not at the compiler macros.
44251         * lib/pipe.c: Likewise.
44252         * lib/execute.c: Likewise.
44253         * lib/spawni.c: Likewise.
44254
44255 2009-07-19  Bruno Haible  <bruno@clisp.org>
44256
44257         Fix handling of closed stdin/stdout/stderr on mingw.
44258         * lib/w32spawn.h: Include unistd.h.
44259         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44260         file descriptor with O_NOINHERIT flag.
44261         (fd_safer_noinherit): New function, based on fd-safer.c.
44262         (dup_safer_noinherit): New function, based on dup-safer.c.
44263         (undup_safer_noinherit): New function.
44264         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44265         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44266         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44267         instead of fd_safer.
44268         * tests/test-pipe.c: Include <windows.h>.
44269         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44270         result.
44271
44272         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44273         from main.
44274         (test_pipe): Pass an extra argument for disambiguation.
44275         (main): Invoke parent_main or child_main.
44276
44277         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44278         consistently.
44279
44280 2009-07-18  Eric Blake  <ebb9@byu.net>
44281
44282         test-pipe: fix mingw build
44283         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44284
44285 2009-07-18  Bruno Haible  <bruno@clisp.org>
44286
44287         * modules/pipe-tests (Makefile.am): Fix typo.
44288
44289 2009-07-18  Eric Blake  <ebb9@byu.net>
44290
44291         error: fix mingw build
44292         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44293         Reported by Bruno Haible.
44294
44295         error: avoid undefined use of stdout
44296         * lib/error.c (error, error_at_line): Check that fd 1 is open
44297         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44298         is handling faults and the close_stdout module wants to report the
44299         detection of closed stdout as an error.
44300
44301 2009-07-17  Eric Blake  <ebb9@byu.net>
44302
44303         pipe: be robust in face of closed fds
44304         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44305         should cause child to misbehave.
44306         * modules/pipe-tests: New module.
44307         * tests/test-pipe.c: New file.
44308         * tests/test-pipe.sh: New file.
44309         Reported by Akim Demaille.
44310
44311 2009-07-14  Bruno Haible  <bruno@clisp.org>
44312
44313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44314         Reported by anonymous kc.
44315
44316 2009-07-07  Jim Meyering  <meyering@redhat.com>
44317
44318         maint.mk: don't look for translatable strings in *.m4 or *.mk
44319         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44320         when searching for translatable strings.
44321
44322 2009-07-05  Jim Meyering  <meyering@redhat.com>
44323
44324         remove superfluous parentheses in STREQ definition
44325         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44326         * lib/getugroups.c (STREQ): Likewise.
44327         * lib/fnmatch.c (STREQ): Likewise.
44328         Spotted by Bruno Haible.
44329
44330 2009-07-04  Jim Meyering  <meyering@redhat.com>
44331
44332         argv-iter: new module
44333         * MODULES.html.sh: Add argv-iter.
44334         * lib/argv-iter.c, lib/argv-iter.h: New files.
44335         * modules/argv-iter: New file.
44336         * modules/argv-iter-tests: New file.
44337         * tests/test-argv-iter.c: Test it.
44338
44339 2009-07-04  Bruno Haible  <bruno@clisp.org>
44340
44341         Fix assertion.
44342         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44343         contains more exact copies of a given entry than file2, leave the extra
44344         copies unpaired rather than aborting.
44345         Reported by Eric Blake.
44346
44347 2009-07-02  Bruno Haible  <bruno@clisp.org>
44348
44349         Speedup git-merge-changelog for git cherry-pick.
44350         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44351         (entries_mapping_get): New function, extracted from compute_mapping.
44352         (entries_mapping_reverse_get): New function.
44353         (compute_mapping): Add a 'full' argument. Return the result in a
44354         'struct entries_mapping'.
44355         (main): Update. Access the mappings through entries_mapping_get.
44356         Reported by Eric Blake.
44357
44358 2009-07-02  Bruno Haible  <bruno@clisp.org>
44359
44360         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44361         best_i.
44362
44363 2009-07-02  Bruno Haible  <bruno@clisp.org>
44364
44365         Speed up approximate search for matching ChangeLog entries.
44366         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44367         argument. Call fstrcmp_bounded instead of fstrcmp.
44368         (compute_mapping, try_split_merged_entry, main): Update callers.
44369
44370 2009-07-02  Bruno Haible  <bruno@clisp.org>
44371
44372         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44373
44374 2009-06-30  Bruno Haible  <bruno@clisp.org>
44375
44376         Reduce the number of uc_is_cased calls.
44377         * lib/unicase.h (casing_suffix_context_t): Add
44378         'first_char_except_ignorable' field.
44379         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44380         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44381         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44382         Update initializer.
44383         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44384         case-ignorable characters.
44385         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44386         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44387         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44388         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44389         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44390
44391 2009-06-30  Bruno Haible  <bruno@clisp.org>
44392
44393         Tests for module 'unicase/ignorable'.
44394         * modules/unicase/ignorable-tests: New file.
44395         * tests/unicase/test-ignorable.c: New file, generated by
44396         gen-uni-tables.
44397
44398         Tests for module 'unicase/cased'.
44399         * modules/unicase/cased-tests: New file.
44400         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44401         * tests/unicase/test-predicate-part1.h: New file, derived from
44402         tests/unictype/test-predicate-part1.h.
44403         * tests/unicase/test-predicate-part2.h: New file, same as
44404         tests/unictype/test-predicate-part2.h.
44405
44406         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44407         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44408         (output_casing_properties): New function.
44409         (main): Call it.
44410         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44411         * lib/unicase/cased.c: Include unictype/bitmap.h.
44412         (uc_is_cased): Define through a bitmap lookup.
44413         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44414         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44415         (uc_is_case_ignorable): Define through a bitmap lookup.
44416         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44417         lib/unictype/bitmap.h.
44418         (Depends-on): Add inline. Clean up.
44419         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44420         lib/unictype/bitmap.h.
44421         (Depends-on): Add inline. Clean up.
44422         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44423         recognition.
44424         * tests/unicase/test-u16-tolower.c (main): Likewise.
44425         * tests/unicase/test-u32-tolower.c (main): Likewise.
44426
44427 2009-06-30  Bruno Haible  <bruno@clisp.org>
44428
44429         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44430         * lib/unicase/u16-casemap.c: Likewise.
44431         * lib/unicase/u32-casemap.c: Likewise.
44432
44433 2009-06-29  Bruno Haible  <bruno@clisp.org>
44434
44435         Define u32_casefold as a wrapper around u32_ct_casefold.
44436         * lib/unicase/u32-casefold.c: Update.
44437         * modules/unicase/u32-casefold (Depends-on): Add
44438         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44439         unicase/empty-suffix-context. Clean up.
44440
44441         Define u16_casefold as a wrapper around u16_ct_casefold.
44442         * lib/unicase/u16-casefold.c: Update.
44443         * modules/unicase/u16-casefold (Depends-on): Add
44444         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44445         unicase/empty-suffix-context. Clean up.
44446
44447         Define u8_casefold as a wrapper around u8_ct_casefold.
44448         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44449         * lib/unicase/u8-casefold.c: Update.
44450         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44451         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44452
44453         Define u32_totitle as a wrapper around u32_ct_totitle.
44454         * lib/unicase/u32-totitle.c: Update.
44455         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44456         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44457
44458         Define u16_totitle as a wrapper around u16_ct_totitle.
44459         * lib/unicase/u16-totitle.c: Update.
44460         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44461         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44462
44463         Define u8_totitle as a wrapper around u8_ct_totitle.
44464         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44465         functions.
44466         (FUNC): Delegate to U_CT_TOTITLE.
44467         * lib/unicase/u8-totitle.c: Update.
44468         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44469         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44470
44471         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44472         invocation.
44473         * modules/unicase/u32-tolower (Depends-on): Add
44474         unicase/empty-prefix-context, unicase/empty-suffix-context.
44475
44476         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44477         invocation.
44478         * modules/unicase/u16-tolower (Depends-on): Add
44479         unicase/empty-prefix-context, unicase/empty-suffix-context.
44480
44481         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44482         * modules/unicase/u8-tolower (Depends-on): Add
44483         unicase/empty-prefix-context, unicase/empty-suffix-context.
44484
44485         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44486         invocation.
44487         * modules/unicase/u32-toupper (Depends-on): Add
44488         unicase/empty-prefix-context, unicase/empty-suffix-context.
44489
44490         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44491         invocation.
44492         * modules/unicase/u16-toupper (Depends-on): Add
44493         unicase/empty-prefix-context, unicase/empty-suffix-context.
44494
44495         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44496         * modules/unicase/u8-toupper (Depends-on): Add
44497         unicase/empty-prefix-context, unicase/empty-suffix-context.
44498
44499         New module 'unicase/u32-ct-casefold'.
44500         * lib/unicase/u32-ct-casefold.c: New file.
44501         * modules/unicase/u32-ct-casefold: New file.
44502
44503         New module 'unicase/u16-ct-casefold'.
44504         * lib/unicase/u16-ct-casefold.c: New file.
44505         * modules/unicase/u16-ct-casefold: New file.
44506
44507         New module 'unicase/u8-ct-casefold'.
44508         * lib/unicase/u8-ct-casefold.c: New file.
44509         * lib/unicase/u-ct-casefold.h: New file, derived from
44510         lib/unicase/u-casefold.h.
44511         * modules/unicase/u8-ct-casefold: New file.
44512
44513         New module 'unicase/u32-ct-totitle'.
44514         * lib/unicase/u32-ct-totitle.c: New file.
44515         * modules/unicase/u32-ct-totitle: New file.
44516
44517         New module 'unicase/u16-ct-totitle'.
44518         * lib/unicase/u16-ct-totitle.c: New file.
44519         * modules/unicase/u16-ct-totitle: New file.
44520
44521         New module 'unicase/u8-ct-totitle'.
44522         * lib/unicase/u8-ct-totitle.c: New file.
44523         * lib/unicase/u-ct-totitle.h: New file, derived from
44524         lib/unicase/u-totitle.h.
44525         * modules/unicase/u8-ct-totitle: New file.
44526
44527         New module 'unicase/u32-ct-tolower'.
44528         * lib/unicase/u32-ct-tolower.c: New file.
44529         * modules/unicase/u32-ct-tolower: New file.
44530
44531         New module 'unicase/u16-ct-tolower'.
44532         * lib/unicase/u16-ct-tolower.c: New file.
44533         * modules/unicase/u16-ct-tolower: New file.
44534
44535         New module 'unicase/u8-ct-tolower'.
44536         * lib/unicase/u8-ct-tolower.c: New file.
44537         * modules/unicase/u8-ct-tolower: New file.
44538
44539         New module 'unicase/u32-ct-toupper'.
44540         * lib/unicase/u32-ct-toupper.c: New file.
44541         * modules/unicase/u32-ct-toupper: New file.
44542
44543         New module 'unicase/u16-ct-toupper'.
44544         * lib/unicase/u16-ct-toupper.c: New file.
44545         * modules/unicase/u16-ct-toupper: New file.
44546
44547         New module 'unicase/u8-ct-toupper'.
44548         * lib/unicase/u8-ct-toupper.c: New file.
44549         * modules/unicase/u8-ct-toupper: New file.
44550
44551         Add context arguments to u*_casemap functions.
44552         * lib/unicase/unicasemap.h: Include unicase.h.
44553         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44554         suffix_context arguments.
44555         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44556         functions.
44557         (FUNC): Add prefix_context and suffix_context arguments. Use
44558         uc_is_cased and uc_is_case_ignorable.
44559         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44560         * lib/unicase/u16-casemap.c: Likewise.
44561         * lib/unicase/u32-casemap.c: Likewise.
44562         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44563         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44564         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
44565         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44566         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
44567         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44568
44569         New module 'unicase/u32-suffix-context'.
44570         * lib/unicase/u32-suffix-context.c: New file.
44571         * modules/unicase/u32-suffix-context: New file.
44572
44573         New module 'unicase/u16-suffix-context'.
44574         * lib/unicase/u16-suffix-context.c: New file.
44575         * modules/unicase/u16-suffix-context: New file.
44576
44577         New module 'unicase/u8-suffix-context'.
44578         * lib/unicase/u8-suffix-context.c: New file.
44579         * lib/unicase/u-suffix-context.h: New file.
44580         * modules/unicase/u8-suffix-context: New file.
44581
44582         New module 'unicase/empty-suffix-context'.
44583         * lib/unicase/empty-suffix-context.c: New file.
44584         * modules/unicase/empty-suffix-context: New file.
44585
44586         New module 'unicase/u32-prefix-context'.
44587         * lib/unicase/u32-prefix-context.c: New file.
44588         * modules/unicase/u32-prefix-context: New file.
44589
44590         New module 'unicase/u16-prefix-context'.
44591         * lib/unicase/u16-prefix-context.c: New file.
44592         * modules/unicase/u16-prefix-context: New file.
44593
44594         New module 'unicase/u8-prefix-context'.
44595         * lib/unicase/u8-prefix-context.c: New file.
44596         * lib/unicase/u-prefix-context.h: New file.
44597         * lib/unicase/context.h: New file.
44598         * modules/unicase/u8-prefix-context: New file.
44599
44600         New module 'unicase/empty-prefix-context'.
44601         * lib/unicase/empty-prefix-context.c: New file.
44602         * modules/unicase/empty-prefix-context: New file.
44603
44604         New module 'unicase/ignorable'.
44605         * lib/unicase/ignorable.c: New file.
44606         * modules/unicase/ignorable: New file.
44607
44608         New module 'unicase/cased'.
44609         * lib/unicase/caseprop.h: New file.
44610         * lib/unicase/cased.c: New file.
44611         * modules/unicase/cased: New file.
44612
44613         New functions for case mapping of substrings.
44614         * lib/unicase.h (casing_prefix_context_t): New type.
44615         (unicase_empty_prefix_context): New variable.
44616         (u8_casing_prefix_context, u16_casing_prefix_context,
44617         u32_casing_prefix_context, u8_casing_prefixes_context,
44618         u16_casing_prefixes_context, u32_casing_prefixes_context): New
44619         declarations.
44620         (casing_suffix_context_t): New type.
44621         (unicase_empty_suffix_context): New variable.
44622         (u8_casing_suffix_context, u16_casing_suffix_context,
44623         u32_casing_suffix_context, u8_casing_suffixes_context,
44624         u16_casing_suffixes_context, u32_casing_suffixes_context,
44625         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
44626         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
44627         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
44628         declarations.
44629
44630 2009-06-28  Jim Meyering  <meyering@redhat.com>
44631
44632         boostrap: indent only with spaces
44633         * build-aux/bootstrap: Indent only with spaces, never TABs.
44634
44635         bootstrap: split long lines
44636         * build-aux/bootstrap: Keep line length < 80.
44637
44638         bootstrap: sync from coreutils
44639         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
44640         just as autoreconf does.  Verify a list of prerequisite
44641         package-name,version-number pairs if defined in bootstrap.conf.
44642         Refer to README-prereq, if prerequisites are not satisfied.
44643
44644 2009-06-27  Eric Blake  <ebb9@byu.net>
44645
44646         tests: add test for bogus NULL definition
44647         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
44648         * tests/test-stdlib.c: Likewise.
44649         * tests/test-string.c: Likewise.
44650         * tests/test-locale.c: Likewise.
44651         * tests/test-unistd.c: Likewise.
44652         * modules/stdio-tests (Depends-on): Add verify.
44653         * modules/stdlib-tests (Depends-on): Likewise.
44654         * modules/string-tests (Depends-on): Likewise.
44655         * modules/locale-tests (Depends-on): Likewise.
44656         * modules/unistd-tests (Depends-on): Likewise.
44657
44658 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
44659
44660         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
44661         self-explaining comment.
44662         * m4/selinux-selinux-h: Update serial.
44663         (gl_LIBSELINUX): New macro, adding a warning for missing development
44664         packages to code extracted from...
44665         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
44666         Add warning for missing development packages here, too.
44667
44668 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
44669
44670         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
44671
44672 2009-06-25  Eric Blake  <ebb9@byu.net>
44673
44674         version-etc: fix regression
44675         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
44676         gcc.
44677         (version_etc): Use it, to catch bugs with trailing NULL.
44678         * lib/version-etc.c (version_etc_arn): Delete unused argument.
44679         (version_etc_va): Fix logic bug.
44680         * modules/version-etc-tests: Add test.
44681         * tests/test-version-etc.c: New file.
44682         * tests/test-version-etc.sh: Likewise.
44683
44684 2009-06-25  Sam Steingold  <sds@gnu.org>
44685
44686         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
44687         mbtowc declaration.
44688
44689 2009-06-25  Eric Blake  <ebb9@byu.net>
44690
44691         fpurge: migrate into <stdio.h>
44692         * lib/fpurge.h: Delete...
44693         * lib/stdio.in.h (fpurge): ...and declare here, instead.
44694         * lib/fpurge.c (fpurge): Change declaring header.
44695         * modules/fpurge (Files): Drop deleted file.
44696         (Depends-on): Add stdio.
44697         (configure.ac): Set witness.
44698         * modules/stdio (Makefile.am): Support fpurge macros.
44699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44700         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
44701         * lib/fflush.c: Update client.
44702         * tests/test-fpurge.c: Likewise.
44703         * NEWS: Mention the change.
44704
44705 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44706
44707         * lib/argp-version-etc.c (program_authors): Add const
44708         qualifier.
44709         * lib/version-etc.c: Fix typos in the comments.
44710         * modules/argp-version-etc: Depends on version-etc.
44711
44712 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44713
44714         argp-version-etc: new module.
44715
44716         * lib/argp-version-etc.c: New file.
44717         * lib/argp-version-etc.h: New file.
44718         * modules/argp-version-etc: New file.
44719         * modules/argp-version-etc-tests: New file.
44720         * tests/test-argp-version-etc.c: New test.
44721         * tests/test-argp-version-etc-1.sh: New test.
44722
44723 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44724
44725         Provide additional interfaces and documentation for version-etc
44726         module.
44727
44728         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
44729         interfaces.
44730         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
44731         prototypes.
44732
44733 2009-06-24  Bruno Haible  <bruno@clisp.org>
44734
44735         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
44736         HAVE_LIB${NAME} macro.
44737         Reported by Sam Steingold <sds@gnu.org>.
44738
44739 2009-06-23  Simon Josefsson  <simon@josefsson.org>
44740
44741         * modules/hash-tests (test_hash_LDADD): Link to libintl when
44742         needed.
44743
44744 2009-06-21  Bruno Haible  <bruno@clisp.org>
44745
44746         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
44747         work.
44748         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
44749         together with LIB${NAME}, LTLIB${NAME}.
44750         Reported by Sam Steingold <sds@gnu.org>.
44751
44752 2009-06-20  Jim Meyering  <meyering@redhat.com>
44753
44754         tests: make sc_require_test_exit_idiom more generic
44755         * top/maint.mk (Exit_witness_file): New overridable variable.
44756         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
44757         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
44758
44759 2009-06-19  Jim Meyering  <meyering@redhat.com>
44760
44761         hash: reverse order of src/dst parameters in an internal interface
44762         * lib/hash.c (transfer_entries): Reverse order of parameters to
44763         put DST before SRC.  Adjust callers.
44764
44765         tests: test-hash: avoid wholesale duplication
44766         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44767         Instead, use a loop and add a single conditional.
44768
44769         tests: test-hash: allow seed selection via a command line argument
44770         * tests/test-hash.c (get_seed): New function.
44771         (main): Use it.
44772
44773 2009-06-19  Eric Blake  <ebb9@byu.net>
44774
44775         hash: avoid memory leak on allocation failure
44776         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44777         failure.  Factor repeated algorithm...
44778         (transfer_entries): ...into new helper routine.
44779         (hash_delete): React to hash_rehash return value.
44780
44781         hash: reduce memory pressure in hash_rehash no-op case
44782         * lib/hash.c (next_prime): Avoid overflow.
44783         (hash_initialize): Factor bucket size computation...
44784         (compute_bucket_size): ...into new helper function.
44785         (hash_rehash): Use new function and open coding to reduce memory
44786         pressure, and avoid a memory leak in USE_OBSTACK code.
44787         Reported by Jim Meyering.
44788
44789 2009-06-18  Eric Blake  <ebb9@byu.net>
44790
44791         hash: make rotation more obvious
44792         * modules/hash (Depends-on): Add bitrotate and stdint.
44793         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44794         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44795         (SIZE_MAX): Rely on headers for definition.
44796         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44797         (raw_hasher): Use rotr_sz.
44798         Suggested by Jim Meyering.
44799
44800         hash: fix memory leak in last patch
44801         * lib/hash.c (hash_rehash): Avoid memory leak.
44802
44803         hash: avoid no-op rehashing
44804         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44805
44806         hash: provide default callback functions
44807         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44808         (hash_initialize): Use them as defaults.
44809         * tests/test-hash.c (main): Test this.
44810
44811         hash: minor optimization
44812         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44813         when possible.
44814         (hash_initialize): Document this promise.
44815         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44816         * tests/test-hash.c (hash_compare_strings): Test this.
44817
44818 2009-06-18  Bruno Haible  <bruno@clisp.org>
44819
44820         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44821         going to be replaced anyway.
44822
44823 2009-06-18  Bruno Haible  <bruno@clisp.org>
44824
44825         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44826         in one place.
44827         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44828         be replaced anyway.
44829
44830 2009-06-18  Eric Blake  <ebb9@byu.net>
44831
44832         hash: check for resize before insertion
44833         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44834         threshold before insertion, so that a pathological hash_rehash
44835         that fills every bucket can still trigger another rehash.
44836
44837 2009-06-18  Jim Meyering  <meyering@redhat.com>
44838
44839         hash-tests: add a loop around the small tests
44840         * tests/test-hash.c (main): Repeat small tests with selected
44841         small initial table sizes.
44842
44843 2009-06-17  Eric Blake  <ebb9@byu.net>
44844
44845         hash: minor cleanups
44846         * lib/hash.h (hash_entry): Make opaque, by moving...
44847         * lib/hash.c (hash_entry): ...here.
44848         (hash_insert): Clarify restrictions on what can be inserted.
44849         (hash_get_next): Clarify when it is safe to remove an element
44850         during traversal.
44851         (check_tuning): Skip verification when tuning is known safe.
44852         (hash_initialize): Clarify restrictions on tuning.
44853
44854 2009-06-17  Jim Meyering  <jim@meyering.net>
44855         and Eric Blake  <ebb9@byu.net>
44856
44857         hash-tests: new module
44858         * modules/hash-tests: New file.
44859         * tests/test-hash.c: New file.
44860
44861 2009-06-17  Eric Blake  <ebb9@byu.net>
44862
44863         strstr-simple: document new module
44864         * MODULES.html.sh: Document new module.
44865
44866         strstr, strcasestr: replace on platforms with broken memchr
44867         * modules/strstr: Split into...
44868         * modules/strstr-simple: ...new module that does not care about
44869         performance, but does care about glibc bug.
44870         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44871         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44872         if platform memchr is broken, per Debian bug 521737.
44873         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44874         memchr.
44875         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44876         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44877         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44878         * modules/mountlist (Depends-on): Add strstr-simple.
44879         * modules/gen-uni-tables (Depends-on): Likewise.
44880         * modules/argz (Depends-on): Add strstr.
44881
44882 2009-06-17  Bruno Haible  <bruno@clisp.org>
44883
44884         * modules/posix_spawn-internal (Depends-on): Add errno.
44885
44886 2009-06-17  Bruno Haible  <bruno@clisp.org>
44887
44888         Define missing ESTALE on Interix 3.5.
44889         * lib/errno.in.h (ESTALE): Assign a value if missing.
44890         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44891         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44892         missing.
44893         * doc/posix-headers/errno.texi: Mention the Interix bug.
44894         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44895
44896 2009-06-15  Eric Blake  <ebb9@byu.net>
44897
44898         memchr, memchr2: add valgrind exception
44899         * lib/memchr.valgrind: New file.
44900         * lib/memchr2.valgrind: New file.
44901         * modules/memchr (Files): Distribute valgrind file.
44902         * modules/memchr2 (Files): Likewise.
44903
44904         docs: memchr is no longer obsolete
44905         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44906         * lib/string.in.h (memchr): Simplify logic.
44907
44908 2009-06-14  Jim Meyering  <meyering@redhat.com>
44909
44910         link-follow: fix the "checking..." message to not mention trailing slash
44911         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44912         never considered trailing slashes.
44913
44914 2009-06-14  Bruno Haible  <bruno@clisp.org>
44915
44916         * m4/memchr.m4: Mention also the bug on IA-64.
44917         * doc/posix-functions/memchr.texi: Likewise.
44918
44919 2009-06-12  Eric Blake  <ebb9@byu.net>
44920
44921         memchr: detect broken x86_64 and alpha implementations
44922         * modules/memchr-tests (Depends-on): Move mmap detection...
44923         * modules/memchr (Depends-on): ...here.
44924         (configure.ac): Set indicator.
44925         * lib/string.in.h (memchr): Declare replacement.
44926         * modules/string (Makefile.am): Trigger replacement.
44927         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44928         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44929         bugs.
44930         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44931         * modules/getpagesize (License): Relax license.
44932
44933 2009-06-11  Bruno Haible  <bruno@clisp.org>
44934
44935         * lib/idpriv.h: Add more references.
44936
44937 2009-06-08  Bruno Haible  <bruno@clisp.org>
44938
44939         Tests for module 'idpriv-droptemp'.
44940         * modules/idpriv-droptemp-tests: New file.
44941         * tests/test-idpriv-droptemp.sh: New file.
44942         * tests/test-idpriv-droptemp.su.sh: New file.
44943         * tests/test-idpriv-droptemp.c: New file.
44944
44945         New module 'idpriv-droptemp'.
44946         * lib/idpriv-droptemp.c: New file.
44947         * modules/idpriv-droptemp: New file.
44948
44949 2009-06-08  Bruno Haible  <bruno@clisp.org>
44950
44951         Tests for module 'idpriv-drop'.
44952         * modules/idpriv-drop-tests: New file.
44953         * tests/test-idpriv-drop.sh: New file.
44954         * tests/test-idpriv-drop.su.sh: New file.
44955         * tests/test-idpriv-drop.c: New file.
44956
44957         New module 'idpriv-drop'.
44958         * lib/idpriv.h: New file.
44959         * lib-idpriv-drop.c: New file.
44960         * m4/idpriv.m4: New file.
44961         * modules/idpriv-drop: New file.
44962
44963 2009-06-08  Bruno Haible  <bruno@clisp.org>
44964
44965         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44966         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44967         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44968         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44969         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44970         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44971         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44972
44973 2009-06-08  Eric Blake  <ebb9@byu.net>
44974
44975         test-strstr: use memory fence, when possible
44976         * tests/test-strstr.c (main): Use memory fence, in order to be
44977         more likely to trigger Debian bug 521737.
44978         * modules/strstr-tests (Files): Pull in additional files.
44979
44980         memchr: no longer obsolete, for wider field testing
44981         * modules/memchr (Status, Notice): Delete, this module is no
44982         longer obsolete.
44983         * modules/vasnprintf (Depends-on): Add memchr.
44984
44985 2009-06-07  Jim Meyering  <meyering@redhat.com>
44986
44987         hash: declare some functions with the warn_unused_result attribute
44988         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44989
44990 2009-06-07  Bruno Haible  <bruno@clisp.org>
44991
44992         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44993         Reported by Eric Blake.
44994
44995 2009-06-06  Eric Blake  <ebb9@byu.net>
44996
44997         test-alignof: fix typo with long double
44998         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44999         compiler error.
45000
45001 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45002
45003         Escape non-texinfo { and }s.
45004         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45005         markup error.
45006
45007 2009-06-04  Jim Meyering  <meyering@redhat.com>
45008
45009         gitlog-to-changelog: don't infloop on an empty commit log
45010         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45011         Reported by Boris Petersen <transacid@centerim.org>.
45012
45013 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45014
45015         version-etc: extend for packagers
45016         Add three new configure options, intended for packagers:
45017           --with-packager="packager name"
45018           --with-packager-version="packager-specific version"
45019           --with-packager-bug-reports="packager bug reporting"
45020         An example with coreutils:
45021           $ ./configure \
45022             --with-packager=Gentoo \
45023             --with-packager-bug-report=http://bugs.gentoo.org/ \
45024             --with-packager-version="patchset 1.6"
45025           $ ./src/ls --version | head -n2
45026           ls (GNU coreutils) 7.1-dirty
45027           Packaged by Gentoo (patchset 1.6)
45028         Note that the bug reporting info via --help doesn't show up because
45029         coreutils uses its own custom emit_bug_reporting_address() implementation
45030         in src/system.h.  If it didn't, it'd look like:
45031           $ ./src/ls --help | tail -n4
45032           Report bugs to <bug-coreutils@gnu.org>.
45033           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45034           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45035           General help using GNU software: <http://www.gnu.org/gethelp/>.
45036         * lib/version-etc.c: Print new information, if provided.
45037         * m4/version-etc.m4: New file.
45038         * modules/version-etc (Files): Add m4/version-etc.m4.
45039         (configure.ac): Add gl_VERSION_ETC.
45040
45041 2009-05-31  Bruno Haible  <bruno@clisp.org>
45042
45043         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45044         and 'int64_t'.
45045         * modules/alignof-tests (Dependencies): Add stdint.
45046         Reported by Eric Blake.
45047
45048 2009-05-31  Bruno Haible  <bruno@clisp.org>
45049
45050         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45051         restriction due to compiler bugs.
45052         Reported by Eric Blake.
45053
45054 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45055             Bruno Haible  <bruno@clisp.org>
45056
45057         Fix test-alignof failure.
45058         * lib/alignof.h (alignof_slot): New macro.
45059         (alignof_type): New macro, with the same semantics as the previous
45060         'alignof'.
45061         (alignof): Alias to alignof_slot.
45062         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45063         check that the results are usable as constant expressions.
45064
45065 2009-05-31  Bruno Haible  <bruno@clisp.org>
45066
45067         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45068         * tests/test-memchr.c (main): Check that memchr does not read past the
45069         first occurrence of the byte.
45070         * tests/test-strstr.c (main): Update comment.
45071         Suggested by Eric Blake.
45072
45073 2009-05-30  Bruno Haible  <bruno@clisp.org>
45074
45075         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45076         detail how to use dumpbin.
45077         Reported by David Byron <dbyron@dbyron.com>.
45078
45079 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45080
45081         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45082
45083 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45084
45085         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45086
45087 2009-05-28  Bruno Haible  <bruno@clisp.org>
45088
45089         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45090         build-aux/ files.
45091
45092 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45093
45094         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45095
45096 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45097
45098         * gnulib-tool (sed_transform_main_lib_file)
45099         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45100         regexps.
45101
45102 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45103
45104         * tests/test-strstr.c: Add another self-test.
45105         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45106         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45107
45108 2009-05-23  Bruno Haible  <bruno@clisp.org>
45109
45110         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45111         change.
45112
45113 2009-05-21  Bruno Haible  <bruno@clisp.org>
45114
45115         Simplify use of mode_t varargs.
45116         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45117         uses 'mode_t' or 'int'.
45118         * lib/openat.c (openat): Likewise.
45119         * lib/open-safer.c (open_safer): Likewise.
45120         * m4/mode_t.m4: New file.
45121         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45122         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45123         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45124         * modules/open (Files): Add m4/mode_t.m4.
45125         * modules/openat (Files): Likewise.
45126         * modules/fcntl-safer (Files): Likewise.
45127         Suggested by Eric Blake.
45128
45129 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45130
45131         * doc/glibc-functions/fallocate.texi: New file.
45132         * doc/gnulib.texi: Include it.
45133
45134 2009-05-21  Eric Blake  <ebb9@byu.net>
45135             Bruno Haible  <bruno@clisp.org>
45136
45137         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45138         invocations.
45139         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45140
45141 2009-05-21  Eric Blake  <ebb9@byu.net>
45142             Bruno Haible  <bruno@clisp.org>
45143
45144         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45145         include_next. Fix of 2008-11-20 commit.
45146         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45147         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45148         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45149         NEXT_MATH_H.
45150         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45151         instead of NEXT_MATH_H.
45152
45153 2009-05-21  Bruno Haible  <bruno@clisp.org>
45154
45155         Avoid redefinition warnings for SIZE_MAX.
45156         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45157         Reported by Simon Josefsson.
45158
45159 2009-05-21  Bruno Haible  <bruno@clisp.org>
45160
45161         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45162         AC_CACHE_VAL.
45163
45164 2009-05-20  Bruno Haible  <bruno@clisp.org>
45165
45166         Make zeroptr.h work on mingw.
45167         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45168         mprotect.
45169         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45170         * modules/memchr2-tests (configure.ac): Likewise.
45171         * modules/memcmp-tests (configure.ac): Likewise.
45172         * modules/memmem-tests (configure.ac): Likewise.
45173         * modules/memrchr-tests (configure.ac): Likewise.
45174         Reported by Simon Josefsson.
45175
45176 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45177
45178         * tests/test-glob.c: Include string.h for strcmp prototype.
45179
45180 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45181
45182         * modules/getdelim (Depends-on): Add explicit stdint, although it
45183         was implicitly already pulled in via realloc-posix.
45184         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45185
45186 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45187
45188         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45189         G. Christensen" <tgc@jupiterrise.com>.
45190         * m4/sys_socket_h.m4: Check for sa_family_t.
45191         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45192         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45193         * tests/test-sys_socket.c: Check that sa_family_t works.
45194
45195 2009-05-18  Eric Blake  <ebb9@byu.net>
45196
45197         maint.mk: allow gnulib_dir in VPATH build
45198         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45199
45200 2009-05-15  Jim Meyering  <meyering@redhat.com>
45201
45202         maint.mk: Give gnulib_dir a default definition.
45203         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45204         Thus, most packages no longer need to specify this variable in cfg.mk
45205
45206 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45207
45208         rename.m4: fix typos that would make non-mingw cross-configure fail
45209         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45210
45211 2009-05-13  Eric Blake  <ebb9@byu.net>
45212
45213         mmap-anon: avoid out-of-order autoconf expansion
45214         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45215         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45216         * modules/memchr-tests (Depends-on): Add extensions.
45217         * modules/memchr2-tests (Depends-on): Add extensions.
45218         * modules/memcmp-tests (Depends-on): Add extensions.
45219         * modules/memmem-tests (Depends-on): Add extensions.
45220         * modules/memrchr-tests (Depends-on): Add extensions.
45221
45222 2009-05-13  Bruno Haible  <bruno@clisp.org>
45223
45224         Make some tests ISO C 99 compliant.
45225         * tests/zerosize-ptr.h: New file.
45226         * tests/test-memchr.c: Include zerosize-ptr.h.
45227         (main): Use a zero-size object pointer instead of NULL.
45228         * tests/test-memchr2.c: Include zerosize-ptr.h.
45229         (main): Use a zero-size object pointer instead of NULL.
45230         * tests/test-memcmp.c: Include zerosize-ptr.h.
45231         (main): Use a zero-size object pointer instead of NULL.
45232         * tests/test-memmem.c: Include zerosize-ptr.h.
45233         (main): Use a zero-size object pointer instead of NULL.
45234         * tests/test-memrchr.c: Include zerosize-ptr.h.
45235         (main): Use a zero-size object pointer instead of NULL.
45236         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
45237         m4/mmap-anon.m4.
45238         (Depends-on): Add getpagesize.
45239         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45240         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
45241         m4/mmap-anon.m4.
45242         (Depends-on): Add getpagesize.
45243         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45244         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
45245         m4/mmap-anon.m4.
45246         (Depends-on): Add getpagesize.
45247         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45248         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
45249         m4/mmap-anon.m4.
45250         (Depends-on): Add getpagesize.
45251         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45252         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
45253         m4/mmap-anon.m4.
45254         (Depends-on): Add getpagesize.
45255         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45256
45257 2009-05-12  Bruno Haible  <bruno@clisp.org>
45258
45259         Tests for module 'alignof'.
45260         * modules/alignof-tests: New file.
45261         * tests/test-alignof.c: New file.
45262
45263 2009-05-12  Bruno Haible  <bruno@clisp.org>
45264
45265         Fix alignof macro.
45266         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45267         vendor compilers that are always correct.
45268
45269 2009-05-12  Bruno Haible  <bruno@clisp.org>
45270
45271         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45272         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45273         not whether its fully works.
45274
45275 2009-05-12  Bruno Haible  <bruno@clisp.org>
45276
45277         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45278
45279 2009-05-12  Jim Meyering  <meyering@redhat.com>
45280
45281         * top/maint.mk: Adjust backslash alignment.
45282
45283 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45284
45285         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45286
45287 2009-05-11  Eric Blake  <ebb9@byu.net>
45288
45289         argp: avoid undefined behavior
45290         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45291         macros.
45292
45293 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45294
45295         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45296         user.name to prevent git commit from complaining.
45297
45298 2009-05-10  Bruno Haible  <bruno@clisp.org>
45299
45300         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45301         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45302         it rewrites every file name only once.
45303         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45304
45305 2009-05-08  Bruno Haible  <bruno@clisp.org>
45306
45307         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45308         instead of 'max'.
45309
45310 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45311
45312         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45313         sockaddr_storage test.
45314
45315 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45316
45317         * modules/sys_socket (Makefile.am): Substitute
45318         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45319         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45320         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45321         * tests/test-sys_socket.c: Check sockaddr_storage.
45322
45323 2009-05-08  Bruno Haible  <bruno@clisp.org>
45324
45325         New module 'alignof'.
45326         * lib/alignof.h: New file.
45327         * modules/alignof: New file.
45328
45329 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45330             Bruno Haible  <bruno@clisp.org>
45331
45332         Fix test-file-has-acl on FreeBSD.
45333         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45334         mask is implicitly added.
45335         * tests/test-file-has-acl.c: Include <signal.h>.
45336         (main): Terminate the test after 5 seconds.
45337         * modules/acl-tests (configure.ac): Check for alarm function.
45338
45339 2009-05-04  Bruno Haible  <bruno@clisp.org>
45340
45341         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45342         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45343         * modules/errno (configure.ac): Drop AC_REQUIRE.
45344         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45345         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45346
45347 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45348
45349         * modules/glob-tests: New module.
45350         * tests/test-glob.c: Add.
45351
45352 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45353
45354         * modules/fnmatch-tests: New module.
45355         * tests/test-fnmatch.c: Add.
45356
45357 2009-05-04  Eric Blake  <ebb9@byu.net>
45358
45359         maint: make the new no-submodule-changes rule VPATH-safe
45360         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45361
45362 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45363             Bruno Haible  <bruno@clisp.org>
45364
45365         acl: Fix infinite loop on FreeBSD.
45366         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45367         of return value from acl_get_entry.
45368         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45369         Likewise.
45370
45371 2009-05-03  Bruno Haible  <bruno@clisp.org>
45372
45373         * lib/acl-internal.h (acl_entries): Clarify return value.
45374         * lib/acl_entries.c (acl_entries): Likewise.
45375
45376 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45377
45378         Bug fix in acl module.
45379         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45380
45381 2009-05-03  Bruno Haible  <bruno@clisp.org>
45382
45383         Create gperf-generated file in the source dir, not in the build dir.
45384         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45385         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45386         * modules/unicase/locale-language (unicase/locale-languages.h):
45387         Likewise.
45388         * modules/unicase/special-casing (unicase/special-casing-table.h):
45389         Likewise.
45390         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45391         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45392         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45393         Reported by Ralf Wildenhues.
45394
45395 2009-05-03  Bruno Haible  <bruno@clisp.org>
45396
45397         * modules/fnmatch (Description, configure.ac): Taken from
45398         fnmatch-posix.
45399         * modules/fnmatch-posix: Turn into a symbolic reference to the
45400         'fnmatch' module, and deprecate.
45401         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45402
45403 2009-05-03  Bruno Haible  <bruno@clisp.org>
45404
45405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45406         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45407         Reported by Ralf Wildenhues.
45408
45409 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45410
45411         * m4/fnmatch.m4: Fix fnmatch re-define.
45412
45413 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45414
45415         priv-set: new module and tests; adapt write-any-file
45416         * lib/priv-set.c: New file.
45417         * lib/priv-set.h: New file.
45418         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45419         * lib/write-any-file.c: Simplify by using priv-set module.
45420         * m4/priv-set.m4: New file.
45421         * modules/priv-set: New file.
45422         * modules/unlinkdir: Add dependency on priv-set module.
45423         * modules/write-any-file: Likewise.
45424
45425         Tests for module 'priv-set'.
45426         * modules/priv-set-tests: New file.
45427         * tests/test-priv-set.c: New file.
45428
45429 2009-05-03  Jim Meyering  <meyering@redhat.com>
45430             Bruno Haible  <bruno@clisp.org>
45431
45432         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45433         use the converted UTF-8 variant of the name instead.
45434
45435 2009-05-03  Jim Meyering  <meyering@redhat.com>
45436
45437         tests: tighten some getdate tests
45438         * tests/test-getdate.c (main): Tighten tests: require equality,
45439         not just greater than.  Set TZ envvar to UTC0.
45440
45441 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45442
45443         getdate: correctly interpret "next monday" when run on a Monday
45444         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45445         that e.g., "next tues" (when run on a tuesday) results in a date
45446         that is one week in the future, and not today's date.
45447         I.e., add a week when the wday is the same as the current one.
45448         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45449         and earlier by Martin Bernreuther and Jan Minář.
45450         * tests/test-getdate.c (main): Check that "next DAY" is always in
45451         the future and that "last DAY" is always in the past.
45452
45453 2009-05-02  Jim Meyering  <meyering@redhat.com>
45454
45455         build: ensure that a release build fails when a submodule is unclean
45456         * top/maint.mk (no-submodule-changes): New rule.
45457         (alpha beta major): Depend on it.
45458
45459 2009-05-02  Bruno Haible  <bruno@clisp.org>
45460
45461         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45462         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45463         shell variable gl_fnmatch_required to detect which variant is
45464         requested.
45465         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45466         gl_FUNC_FNMATCH_POSIX.
45467         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45468         exclude fnmatch-posix.
45469
45470 2009-05-02  Bruno Haible  <bruno@clisp.org>
45471
45472         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45473         * modules/mbsrtowcs (License): Change to LGPLv2+.
45474         * modules/strnlen1 (License): Likewise.
45475         Reported by Simon Josefsson.
45476
45477 2009-05-02  Bruno Haible  <bruno@clisp.org>
45478
45479         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45480         "cross".
45481         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45482         gnulib-tool was called with option --source-base=lib.
45483
45484 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45485
45486         Use automake *-local hooks without commands, for extensibility.
45487         * modules/localcharset (Makefile.am): Rename install-exec-local
45488         rule to install-exec-localcharset, and make it a prerequisite of
45489         install-exec-local.  Likewise, rename the uninstall-local rule to
45490         uninstall-localcharset, and make it a prerequisite of the former.
45491
45492 2009-05-01  Bruno Haible  <bruno@clisp.org>
45493
45494         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45495         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45496         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45497         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45498         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45499         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45500         m4/locale-zh.m4, m4/codeset.m4.
45501
45502         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45503         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45504         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45505         m4/locale-zh.m4.
45506
45507         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45508         REPLACE_WCRTOMB if mbstate_t must be replaced.
45509         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45510         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45511
45512 2009-05-01  Bruno Haible  <bruno@clisp.org>
45513
45514         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45515         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45516         dngettext, dcngettext, textdomain, bindtextdomain,
45517         bind_textdomain_codeset): Undefine before redefining.
45518
45519 2009-04-30  Bruno Haible  <bruno@clisp.org>
45520
45521         Fix bug introduced on 2009-04-25.
45522         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45523         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45524         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45525         is defined.
45526         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45527         is defined.
45528         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45529         is defined.
45530         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45531
45532 2009-04-28  Bruno Haible  <bruno@clisp.org>
45533
45534         Comment tweaks.
45535         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45536         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45537         * lib/unicase.h (u*_casexfrm): Likewise.
45538         Reported by Paolo Bonzini.
45539
45540 2009-04-28  Bruno Haible  <bruno@clisp.org>
45541
45542         Fix a compilation error.
45543         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45544         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45545         Reported by Jim Meyering.
45546
45547 2009-04-27  Bruno Haible  <bruno@clisp.org>
45548
45549         New module 'libunistring'.
45550         * modules/libunistring: New file.
45551         * m4/libunistring.m4: New file.
45552         * MODULES.html.sh (Unicode string functions): Add it.
45553
45554 2009-04-27  Eric Blake  <ebb9@byu.net>
45555
45556         maint.mk: allow package-specific header to provide <config.h>
45557         * top/maint.mk (sc_require_config_h): New variable.
45558         (sc_require_config_h, sc_require_config_h_first): Use it.
45559
45560 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45561
45562         * top/maint.mk (sc_avoid_if_before_free): Except
45563         useless-if-before-free script.
45564
45565 2009-04-27  Eric Blake  <ebb9@byu.net>
45566
45567         maintainer-makefile: depend on all required helper scripts
45568         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
45569         useless-if-before-free.
45570         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
45571         version, rather than assuming gnulib checkout is available.
45572         Reported by Simen Josefsson.
45573
45574 2009-04-26  Bruno Haible  <bruno@clisp.org>
45575
45576         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
45577         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
45578         "../" or "..".
45579
45580 2009-04-26  Bruno Haible  <bruno@clisp.org>
45581
45582         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
45583         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
45584         AC_LIB_HAVE_LINKFLAGS.
45585
45586 2009-04-26  Bruno Haible  <bruno@clisp.org>
45587
45588         Simplify calling convention of u*_conv_from_encoding.
45589         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
45590         u32_conv_from_encoding): Expect a resultbuf argument and return the
45591         result directly as a pointer.
45592         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
45593         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
45594         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
45595         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
45596         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
45597         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45598         Update.
45599         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
45600         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
45601         * lib/vasnprintf.c (VASNPRINTF): Update.
45602         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
45603         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
45604         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
45605         * NEWS: Mention the change.
45606
45607 2009-04-26  Bruno Haible  <bruno@clisp.org>
45608
45609         Simplify calling convention of u*_conv_to_encoding.
45610         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
45611         u32_conv_to_encoding): Expect a resultbuf argument and return the
45612         result directly as a pointer.
45613         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45614         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
45615         freeing scaled_offsets if mem_iconveha failed.
45616         * lib/unicase/u-casexfrm.h (FUNC): Update.
45617         * lib/uninorm/u-normxfrm.h (FUNC): Update.
45618         * lib/vasnprintf.c (VASNPRINTF): Update.
45619         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
45620         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
45621         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
45622         * NEWS: Mention the change.
45623
45624 2009-04-26  Bruno Haible  <bruno@clisp.org>
45625
45626         Avoid test failures on AIX and OSF/1.
45627         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
45628         malloc(0).
45629         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45630         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45631         Likewise.
45632         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
45633         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
45634         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
45635         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
45636         * doc/posix-functions/malloc.texi: Document the portability problem
45637         related to malloc(0).
45638
45639 2009-04-26  Bruno Haible  <bruno@clisp.org>
45640
45641         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
45642         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
45643         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
45644
45645 2009-04-25  Bruno Haible  <bruno@clisp.org>
45646
45647         Avoid link error when creating a namespace clean library.
45648         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
45649         as macro with arguments if already defined as an alias.
45650         * lib/signbitf.c (gl_signbitf): Don't undefine.
45651         * lib/signbitd.c (gl_signbitd): Don't undefine.
45652         * lib/signbitl.c (gl_signbitl): Don't undefine.
45653
45654 2009-04-25  Jim Meyering  <meyering@redhat.com>
45655
45656         vc-list-files: fix another quoting bug
45657         * build-aux/vc-list-files: Avoid sed backslash expansion
45658         of pathological directory names.
45659
45660 2009-04-25  Eric Blake  <ebb9@byu.net>
45661
45662         vc-list-files: fix shell quoting error
45663         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
45664         timestamp.
45665
45666 2009-04-25  Jim Meyering  <meyering@redhat.com>
45667
45668         vc-list-files: restore lost functionality with subdir argument
45669         * build-aux/vc-list-files: When given a non-"." sub-directory
45670         argument, substitute the $dir/ prefix back onto each resulting name.
45671         Otherwise, coreutils' root_tests check would fail.
45672
45673 2009-04-24  Eric Blake  <ebb9@byu.net>
45674
45675         vc-list-files: ignore git symlinks
45676         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
45677         than ls-files, to ignore git symlinks.
45678
45679         maint.mk: import improvements from m4
45680         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
45681         (move_if_change): Delete unused macro.
45682         (news-date-check, vc-diff-check): Support VPATH builds.
45683         (announcement): Likewise.  Split --bootstrap-tools list...
45684         (boostrap-tools): ...into separate list, which can be overridden
45685         in cfg.mk.
45686         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
45687         requiring dependency on useless-if-before-free module.
45688         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
45689         Support VPATH builds.
45690
45691 2009-04-24  Jim Meyering  <meyering@redhat.com>
45692
45693         maint.mk: remove coreutils-specific rules and variables
45694         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
45695         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
45696         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
45697
45698         maint.mk: remove obsolete rule
45699         * top/maint.mk (rel-check): Remove rule.
45700         (WGET, WGETFLAGS): Remove now-unused variables.
45701
45702 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45703
45704         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
45705         consistency.
45706
45707         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
45708         '$(PATH_SEPARATOR)' instead of ':'.
45709
45710 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45711
45712         * lib/getopt1.c (main): Use 'const' for static array.
45713
45714 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45715
45716         * top/maint.mk: Sync with coreutils.
45717         * NEWS: Explain incompatibilities.
45718
45719 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45720             Bruno Haible  <bruno@clisp.org>
45721
45722         Fix cross-compilation results.
45723         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
45724         statement, as third argument of AC_TRY_RUN.
45725         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45726         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
45727         Likewise.
45728         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45729         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45730         Likewise.
45731         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45732         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
45733         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
45734
45735 2009-04-20  Bruno Haible  <bruno@clisp.org>
45736
45737         Avoid test failure on mingw.
45738         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
45739
45740 2009-04-20  Bruno Haible  <bruno@clisp.org>
45741
45742         Avoid compilation error on mingw.
45743         * modules/localename-tests (Depends-on): Add locale.
45744
45745 2009-04-19  Bruno Haible  <bruno@clisp.org>
45746
45747         Support for building a shared library on Windows platforms.
45748         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
45749         (main): Test the presence of UNINORM_NFC here.
45750         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
45751         (main): Test the presence of UNINORM_NFD here.
45752         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
45753         (main): Test the presence of UNINORM_NFKC here.
45754         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
45755         (main): Test the presence of UNINORM_NFKD here.
45756
45757 2009-04-19  Bruno Haible  <bruno@clisp.org>
45758
45759         Avoid a compiler warning.
45760         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
45761         Change type of variable 'sequence'.
45762
45763 2009-04-19  Bruno Haible  <bruno@clisp.org>
45764
45765         * modules/configmake (Makefile.am): When the contents of configmake.h
45766         does not change, arrange to preserve its modification time.
45767
45768 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45769
45770         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45771         gettext domain.
45772
45773 2009-04-16  Jim Meyering  <meyering@redhat.com>
45774
45775         useless-if-before-free: improve conversion code
45776         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45777         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45778
45779 2009-04-14  Bruno Haible  <bruno@clisp.org>
45780
45781         * modules/fcntl (Depends-on): Add extensions.
45782         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45783
45784 2009-04-12  Ben Pfaff  <blp@gnu.org>
45785
45786         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45787         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45788
45789 2009-03-20  Ben Pfaff  <blp@gnu.org>
45790
45791         Make rename replace existing destinations on Windows.
45792         * m4/rename.m4: Add test for Mingw.
45793         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45794         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45795         * doc/posix-functions/rename.texi: Document.
45796
45797 2009-04-10  Bruno Haible  <bruno@clisp.org>
45798
45799         New include file "iconveh.h".
45800         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45801         * lib/striconveh.h: Include it.
45802         (enum iconv_ilseq_handler): Remove definition.
45803         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45804         striconveh.h.
45805         * lib/striconveha.c: Include striconveh.h.
45806         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45807         * modules/striconveh (Files): Add lib/iconveh.h.
45808         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45809         lib/striconveh.h.
45810
45811 2009-04-10  Bruno Haible  <bruno@clisp.org>
45812
45813         * lib/uniconv.h: Update comment.
45814
45815 2009-04-10  Bruno Haible  <bruno@clisp.org>
45816
45817         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45818         always.
45819         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45820         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45821         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45822         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45823         "unistring-notinline.h", so that the function gets defined always.
45824         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45825         * lib/unistr/u8-uctomb.c: Likewise.
45826         * lib/unistr/u16-mbtouc.c: Likewise.
45827         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45828         * lib/unistr/u16-uctomb.c: Likewise.
45829         * lib/unistr/u32-mbtouc.c: Likewise.
45830         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45831         * lib/unistr/u32-uctomb.c: Likewise.
45832
45833 2009-04-10  Bruno Haible  <bruno@clisp.org>
45834
45835         Mark 'utime' obsolete.
45836         * modules/utime (Status, Notice): New sections.
45837         Suggested by Jim Meyering.
45838
45839         Fix cross-compile guess for utime test.
45840         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45841         autoconf.
45842         * doc/posix-functions/utime.texi: Give more precisions.
45843         Reported by Jan <ipif@ymail.com>.
45844
45845 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45846
45847         filevercmp: correct today's change
45848         * lib/filevercmp.c: Also handle coreutils' test inputs.
45849         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45850
45851         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45852         for reporting it.
45853         * lib/filevercmp.c: Special handle for "", "." and "..".
45854         * tests/test-filevercmp.c: Enlarge the set suite.
45855
45856 2009-04-07  Jim Meyering  <meyering@redhat.com>
45857
45858         useless-if-before-free: show how to remove braced useless free, too
45859         * build-aux/useless-if-before-free: still only in a comment, though.
45860
45861 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45862
45863         maint.mk: import changes to syntax-check macros from coreutils
45864         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45865         Use them in the relevant macros.
45866
45867 2009-04-06  Bruno Haible  <bruno@clisp.org>
45868
45869         Fix unportable use of bit-fields.
45870         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45871         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45872         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45873
45874 2009-04-06  Bruno Haible  <bruno@clisp.org>
45875
45876         Avoid test failures on AIX and OSF/1.
45877         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45878         that malloc(0) = NULL.
45879         * tests/unicase/test-u8-tolower.c (check): Likewise.
45880         * tests/unicase/test-u8-totitle.c (check): Likewise.
45881         * tests/unicase/test-u8-toupper.c (check): Likewise.
45882         * tests/unicase/test-u16-casefold.c (check): Likewise.
45883         * tests/unicase/test-u16-tolower.c (check): Likewise.
45884         * tests/unicase/test-u16-totitle.c (check): Likewise.
45885         * tests/unicase/test-u16-toupper.c (check): Likewise.
45886         * tests/unicase/test-u32-casefold.c (check): Likewise.
45887         * tests/unicase/test-u32-tolower.c (check): Likewise.
45888         * tests/unicase/test-u32-totitle.c (check): Likewise.
45889         * tests/unicase/test-u32-toupper.c (check): Likewise.
45890         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45891         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45892         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45893         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45894         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45895         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45896         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45897         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45898         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45899         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45900         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45901         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45902
45903 2009-04-05  Bruno Haible  <bruno@clisp.org>
45904
45905         Work around an autoconf limitation.
45906         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45907         comment line if it would be longer than 3 KB.
45908
45909 2009-04-05  Bruno Haible  <bruno@clisp.org>
45910
45911         Avoid test failure with libiconv-1.13.
45912         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45913         of the expected test results.
45914
45915 2009-04-05  Bruno Haible  <bruno@clisp.org>
45916
45917         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45918         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45919         that it should be installed.
45920
45921 2009-04-05  Bruno Haible  <bruno@clisp.org>
45922
45923         * gnulib-tool: New option --copy-file.
45924         (func_usage): Document it.
45925         (func_dest_tmpfilename): Moved out of func_import.
45926         (func_add_file, func_update_file): New functions, extracted from
45927         func_import.
45928         (func_import): Update.
45929
45930 2009-04-05  Karl Berry  <karl@gnu.org>
45931
45932         * README: prominently mention gnulib-tool.
45933         Rearrange sections so getting the code is near the top.
45934
45935 2009-04-05  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/unicase.h: Mention u*_cmp2.
45938         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45939         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45940         * lib/unicase/ulc-casecmp.c: Likewise.
45941         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45942         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45943         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45944         unistr/u8-cmp.
45945         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45946         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45947         unistr/u16-cmp.
45948         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45949         unistr/u32-cmp.
45950
45951         * lib/uninorm.h: Mention u*_cmp2.
45952         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45953         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45954         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45955         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45956         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45957         unistr/u8-cmp.
45958         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45959         unistr/u16-cmp.
45960         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45961         unistr/u32-cmp.
45962
45963         New module 'unistr/u32-cmp2'.
45964         * lib/unistr/u32-cmp2.c: New file.
45965         * modules/unistr/u32-cmp2: New file.
45966
45967         New module 'unistr/u16-cmp2'.
45968         * lib/unistr/u16-cmp2.c: New file.
45969         * modules/unistr/u16-cmp2: New file.
45970
45971         New module 'unistr/u8-cmp2'.
45972         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45973         * lib/unistr/u8-cmp2.c: New file.
45974         * lib/unistr/u-cmp2.h: New file.
45975         * modules/unistr/u8-cmp2: New file.
45976
45977 2009-04-05  Bruno Haible  <bruno@clisp.org>
45978
45979         * lib/unictype.h (uc_property_is_valid): New macro.
45980         * tests/unictype/test-pr_byname.c (main): Use it.
45981
45982         * lib/unistr.h: Doc fixes.
45983         * lib/uniconv.h: Doc fixes.
45984         * lib/unictype.h: Doc fixes.
45985
45986 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45987
45988         Port coreutils 7.2 to Solaris 8.
45989
45990         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45991         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45992         for Solaris 8.  This is a bit of a hack, as it means it's the
45993         caller's responsibility to add -lnsl if needed, but most likely it
45994         won't be needed since only getaddrinfo uses this and getaddrinfo
45995         isn't needed on Solaris 8.
45996
45997         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45998         problem to Solaris 8 encountered with coreutils 7.2, which
45999         resulted in a message "fnmatch.c:292: warning: passing argument 4
46000         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46001         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46002
46003 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46004
46005         * m4/ld-version-script.m4: Add FIXME comment.
46006
46007 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46008
46009         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46010         SOVERSION variable.
46011
46012 2009-04-02  Bruno Haible  <bruno@clisp.org>
46013
46014         * Makefile (info, html, dvi, pdf): Combine the rules.
46015         Suggested by Jim Meyering.
46016
46017 2009-04-01  Bruno Haible  <bruno@clisp.org>
46018
46019         * Makefile (info, html, dvi, pdf): New targets.
46020         Reported by Reuben Thomas <rrt@sc3d.org>.
46021
46022 2009-04-01  Bruno Haible  <bruno@clisp.org>
46023
46024         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46025         can be put into PATH.
46026         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46027
46028 2009-04-01  Bruno Haible  <bruno@clisp.org>
46029
46030         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46031
46032 2009-04-01  Bruno Haible  <bruno@clisp.org>
46033
46034         Rename module 'visibility'.
46035         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46036         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46037         * doc/gnulib.texi: Update.
46038         * MODULES.html.sh (Misc): Update.
46039         * NEWS: Mention the change.
46040
46041 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46042
46043         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46044         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46045         Eric Blake <ebb9@byu.net> for review.
46046         * MODULES.html.sh: Add lib-msvc-compat.
46047         * doc/gnulib.texi: Link to new section.
46048         * m4/ld-output-def.m4: New file.
46049         * doc/ld-output-def.texi: New file.
46050
46051 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46052
46053         Rename ld-version-script to lib-symbol-versions.  Suggested by
46054         Bruno Haible <bruno@clisp.org>.
46055         * modules/ld-version-script: Renamed to lib-symbol-versions.
46056         * doc/ld-version-script.texi: Fix module name.
46057         * MODULES.html.sh: Add lib-symbol-versions.
46058
46059 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46060
46061         * modules/u64-tests: New file.
46062         * tests/test-u64.c: New file.
46063
46064 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46065
46066         * MODULES.html.sh: Mention u64.
46067         * modules/u64: New module.
46068         * modules/crypto/sha512: Depend on u64 module instead of providing
46069         u64.h.
46070
46071 2009-03-27  Eric Blake  <ebb9@byu.net>
46072
46073         test-strerror: make debugging EAI_SYSTEM easier
46074         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46075         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46076         failure was EAI_SYSTEM.
46077
46078 2009-03-25  Bruno Haible  <bruno@clisp.org>
46079
46080         Fix a problem with --enable-relocatable on Solaris 7.
46081         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46082         since 2008-02-24.
46083
46084 2009-03-25  Eric Blake  <ebb9@byu.net>
46085
46086         test-sockets: avoid gcc warning
46087         * tests/test-sockets.c (main): Silence compiler warning.
46088
46089 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46090
46091         New modules nproc, pthread, contributed by Glen Lenker.
46092
46093         * MODULES.html.sh: Add pthread, nproc.
46094         * lib/nproc.c: New file.
46095         * lib/nproc.h: New file.
46096         * lib/pthread.in.h: New file.
46097         * m4/pthread.m4: New file.
46098         * modules/nproc: New file.
46099         * modules/pthread: New file.
46100
46101 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46102
46103         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46104         New variable.
46105
46106 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46107
46108         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46109         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46110         * tests/test-filevercmp.c: Add tests for backup suffixes.
46111
46112 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46113
46114         * modules/stdlib (Depends-on): Add stdint, needed when defining
46115         struct random_data on, for example, HP-UX 10.20.  Reported by
46116         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46117
46118 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46119
46120         * lib/readline.c (readline): Call fflush on stdout after printing
46121         prompt.
46122
46123 2009-03-20  Bruno Haible  <bruno@clisp.org>
46124
46125         Remove dependency from 'close' module to -lws2_32 on native Windows.
46126         * lib/close-hook.h: New file.
46127         * lib/close-hook.c: New file.
46128         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46129         w32sock.h.
46130         (_gl_close_fd_maybe_socket): Remove function.
46131         (rpl_close): Invoke execute_all_close_hooks instead of
46132         _gl_close_fd_maybe_socket.
46133         * lib/sockets.c: Include close-hook.h, w32sock.h.
46134         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46135         (close_sockets_hook): New variable.
46136         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46137         (gl_sockets_cleanup): Unregister it.
46138         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46139         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46140         * modules/close-hook: New file.
46141         * modules/close (Files): Remove lib/w32sock.h.
46142         (Depends-on): Add close-hook.
46143         (Link): Remove section.
46144         * modules/sockets (Files): Add lib/w32sock.h.
46145         (Depends-on): Add close-hook.
46146         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46147         invocation.
46148         * NEWS: Mention that LIB_CLOSE is gone.
46149
46150 2009-03-23  Eric Blake  <ebb9@byu.net>
46151
46152         signal-tests: test previous patch
46153         * tests/test-signal.c: New file.
46154         * modules/signal-tests: Likewise.
46155
46156         signal.h: always support 'volatile sig_atomic_t'
46157         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46158         (gl_SIGNAL_H_DEFAULTS): Add a default.
46159         * modules/signal (Makefile.am): Substitute if needed.
46160         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46161         users can blindly add volatile.
46162         * doc/posix-headers/signal.texi (signal.h): Document it.
46163         Reported by Matthew Woehlke.
46164
46165 2009-03-23  Jim Meyering  <meyering@redhat.com>
46166
46167         pathmax: PATH_MAX: use pathconf only when available
46168         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46169         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46170         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46171         This avoids a link failure in a PSP cross-compilation environment
46172         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46173
46174         * lib/vasnprintf.c (divide): Fix typo in comment.
46175
46176 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46177
46178         * gnulib-tool (func_filter_filelist): Fix comment.
46179
46180 2009-03-20  Bruno Haible  <bruno@clisp.org>
46181
46182         Make sockets.h self-contained.
46183         * lib/sockets.c: Include sockets.h first.
46184         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46185
46186 2009-03-19  Eric Blake  <ebb9@byu.net>
46187
46188         doc: mention more functions added in cygwin 1.7.0
46189         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46190         addition.
46191         * doc/posix-functions/log2f.texi: Likewise.
46192
46193 2009-03-19  Jim Meyering  <meyering@redhat.com>
46194
46195         fsusage: avoid syntax error due to statement-before-declaration
46196         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46197         after all declarations.  Reported by Matthew Woehlke in
46198         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46199
46200 2009-03-18  Eric Blake  <ebb9@byu.net>
46201
46202         build-aux/compile: sync from automake
46203         * build-aux/compile: New file, from automake.
46204         * config/srclist.txt: Mention build-aux/compile.
46205
46206 2009-03-17  Bruno Haible  <bruno@clisp.org>
46207
46208         * lib/git-merge-changelog.c: Fix typo in comment.
46209         Reported by Reuben Thomas <rrt@sc3d.org>.
46210
46211 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46212
46213         * m4/regex.m4: update and improve help for
46214         --without-included-regex.
46215
46216 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46217
46218         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46219         failure on missing include files.
46220
46221 2009-03-17  Eric Blake  <ebb9@byu.net>
46222
46223         doc: mention more functions added in cygwin 1.7.0
46224         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46225         addition.
46226         * doc/posix-functions/fwscanf.texi: Likewise.
46227         * doc/posix-functions/swprintf.texi: Likewise.
46228         * doc/posix-functions/swscanf.texi: Likewise.
46229         * doc/posix-functions/vfwprintf.texi: Likewise.
46230         * doc/posix-functions/vfwscanf.texi: Likewise.
46231         * doc/posix-functions/vswprintf.texi: Likewise.
46232         * doc/posix-functions/vswscanf.texi: Likewise.
46233         * doc/posix-functions/vwprintf.texi: Likewise.
46234         * doc/posix-functions/vwscanf.texi: Likewise.
46235         * doc/posix-functions/wcscasecmp.texi: Likewise.
46236         * doc/posix-functions/wcsdup.texi: Likewise.
46237         * doc/posix-functions/wcsftime.texi: Likewise.
46238         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46239         * doc/posix-functions/wprintf.texi: Likewise.
46240         * doc/posix-functions/wscanf.texi: Likewise.
46241         * doc/glibc-functions/gethostbyname2.texi: Likewise.
46242
46243 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46244
46245         maint.mk: really add $(AM_MAKEFLAGS)
46246         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
46247         was inadvertently omitted in the last commit.
46248         Spotted by Bruno Haible.
46249
46250         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
46251         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
46252         $(AM_MAKEFLAGS)' rather than plain `make'.
46253
46254         gnulib-tool: execute $MAKE not make
46255         * gnulib-tool: Default $MAKE to 'make'.
46256         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46257         than make.  Initialize $MAKE in the do-autobuild script.
46258
46259         gnulib-tool: use $MAKE not make in generated files
46260         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46261         make, in generated files.  Initialize $MAKE in the do-autobuild
46262         script.
46263
46264         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46265
46266         GNUmakefile: disable parallelism only for multiple, recursive targets
46267         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46268         additions in the Makefile.
46269         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46270         by Automake.
46271         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46272         are listed on the command line and at least one of them is
46273         listed in $(ALL_RECURSIVE_TARGETS).
46274
46275 2009-03-14  Bruno Haible  <bruno@clisp.org>
46276
46277         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46278         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46279         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46280         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46281         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46282         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46283         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46284         unistr/u8-uctomb.
46285         * modules/unistr/u8-strchr (Depends-on): Likewise.
46286         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46287         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46288         unistr/u16-uctomb.
46289         * modules/unistr/u16-strchr (Depends-on): Likewise.
46290         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46291
46292 2009-03-12  Bruno Haible  <bruno@clisp.org>
46293
46294         Work around select() bug on Interix 3.5.
46295         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46296         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46297         * m4/select.m4: New file.
46298         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46299         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46300         * modules/select (Files): Add m4/select.m4.
46301         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46302         * modules/nanosleep (Depends-on): Add select.
46303         * modules/poll (Depends-on): Likewise.
46304         * doc/posix-functions/select.texi: Mention the Interix bug.
46305         Reported by Markus Duft <mduft@gentoo.org>.
46306
46307         * lib/select.c: Renamed from lib/winsock-select.c.
46308         * modules/select (Files): Add lib/select.c, remove
46309         lib/winsock-select.c.
46310         (configure.ac): Update.
46311
46312 2009-03-12  Jim Meyering  <meyering@redhat.com>
46313
46314         avoid gcc warnings about unused macro definitions
46315         * lib/readtokens.c (STREQ): Remove unused definition.
46316         * lib/xmalloc.c (SIZE_MAX): Likewise.
46317         * lib/openat-die.c (N_): Likewise.
46318         * lib/mountlist.c (SIZE_MAX): Remove definition.
46319         Instead, include <stdint.h>.
46320         * lib/readutmp.c: Likewise.
46321         * modules/readutmp (Depends-on): Add stdint.
46322         * modules/mountlist (Depends-on): Add stdint.
46323         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46324
46325 2009-03-10  Bruno Haible  <bruno@clisp.org>
46326
46327         Tests for module 'mbmemcasecoll'.
46328         * modules/mbmemcasecoll-tests: New file.
46329         * tests/test-mbmemcasecoll1.sh: New file.
46330         * tests/test-mbmemcasecoll2.sh: New file.
46331         * tests/test-mbmemcasecoll3.sh: New file.
46332         * tests/test-mbmemcasecoll.c: New file.
46333
46334         New module 'mbmemcasecoll'.
46335         * lib/mbmemcasecoll.h: New file.
46336         * lib/mbmemcasecoll.c: New file.
46337         * modules/mbmemcasecoll: New file.
46338
46339         * tests/test-mbmemcasecmp.h: New file, extracted from
46340         tests/test-mbmemcasecmp.c.
46341         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46342         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46343         (main): Update.
46344         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46345
46346 2009-03-09  Bruno Haible  <bruno@clisp.org>
46347
46348         Tests for module 'mbmemcasecmp'.
46349         * modules/mbmemcasecmp-tests: New file.
46350         * tests/test-mbmemcasecmp1.sh: New file.
46351         * tests/test-mbmemcasecmp2.sh: New file.
46352         * tests/test-mbmemcasecmp3.sh: New file.
46353         * tests/test-mbmemcasecmp.c: New file.
46354
46355         New module 'mbmemcasecmp'.
46356         * lib/mbmemcasecmp.h: New file.
46357         * lib/mbmemcasecmp.c: New file.
46358         * modules/mbmemcasecmp: New file.
46359
46360 2009-03-09  Bruno Haible  <bruno@clisp.org>
46361
46362         Tests for module 'unicase/ulc-casecoll'.
46363         * modules/unicase/ulc-casecoll-tests: New file.
46364         * tests/unicase/test-ulc-casecoll1.sh: New file.
46365         * tests/unicase/test-ulc-casecoll2.sh: New file.
46366         * tests/unicase/test-ulc-casecoll.c: New file.
46367
46368         New module 'unicase/ulc-casecoll'.
46369         * lib/unicase.h (ulc_casecoll): New declaration.
46370         * lib/unicase/ulc-casecoll.c: New file.
46371         * modules/unicase/ulc-casecoll: New file.
46372
46373         New module 'unicase/ulc-casexfrm'.
46374         * lib/unicase.h (ulc_casexfrm): New declaration.
46375         * lib/unicase/ulc-casexfrm.c: New file.
46376         * modules/unicase/ulc-casexfrm: New file.
46377
46378 2009-03-09  Bruno Haible  <bruno@clisp.org>
46379
46380         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46381         invocations.
46382
46383         * m4/mbscasecmp.m4: Remove file.
46384         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46385         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46386
46387         * m4/mbscasestr.m4: Remove file.
46388         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46389         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46390
46391         * m4/mbschr.m4: Remove file.
46392         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46393         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46394
46395         * m4/mbscspn.m4: Remove file.
46396         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46397         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46398
46399         * m4/mbslen.m4: Remove file.
46400         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46401         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46402
46403         * m4/mbsncasecmp.m4: Remove file.
46404         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46405         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46406
46407         * m4/mbsnlen.m4: Remove file.
46408         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46409         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46410
46411         * m4/mbspbrk.m4: Remove file.
46412         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46413         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46414
46415         * m4/mbspcasecmp.m4: Remove file.
46416         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46417         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46418
46419         * m4/mbsrchr.m4: Remove file.
46420         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46421         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46422
46423         * m4/mbssep.m4: Remove file.
46424         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46425         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46426
46427         * m4/mbsspn.m4: Remove file.
46428         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46429         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46430
46431         * m4/mbsstr.m4: Remove file.
46432         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46433         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46434
46435         * m4/mbstok_r.m4: Remove file.
46436         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46437         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46438
46439         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46440
46441         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46442         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46443
46444         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46445
46446 2009-03-08  Bruno Haible  <bruno@clisp.org>
46447
46448         Tests for module 'unicase/ulc-casecmp'.
46449         * modules/unicase/ulc-casecmp-tests: New file.
46450         * tests/unicase/test-ulc-casecmp1.sh: New file.
46451         * tests/unicase/test-ulc-casecmp2.sh: New file.
46452         * tests/unicase/test-ulc-casecmp.c: New file.
46453
46454         New module 'unicase/ulc-casecmp'.
46455         * lib/unicase.h (ulc_casecmp): New declaration.
46456         * lib/unicase/ulc-casecmp.c: New file.
46457         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46458         'const SRC_UNIT *'.
46459         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46460         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46461         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46462         * modules/unicase/ulc-casecmp: New file.
46463
46464         Tests for module 'unicase/u32-is-cased'.
46465         * modules/unicase/u32-is-cased-tests: New file.
46466         * tests/unicase/test-u32-is-cased.c: New file.
46467
46468         Tests for module 'unicase/u16-is-cased'.
46469         * modules/unicase/u16-is-cased-tests: New file.
46470         * tests/unicase/test-u16-is-cased.c: New file.
46471
46472         Tests for module 'unicase/u8-is-cased'.
46473         * modules/unicase/u8-is-cased-tests: New file.
46474         * tests/unicase/test-u8-is-cased.c: New file.
46475         * tests/unicase/test-is-cased.h: New file.
46476
46477         New module 'unicase/u32-is-cased'.
46478         * lib/unicase/u32-is-cased.c: New file.
46479         * modules/unicase/u32-is-cased: New file.
46480
46481         New module 'unicase/u16-is-cased'.
46482         * lib/unicase/u16-is-cased.c: New file.
46483         * modules/unicase/u16-is-cased: New file.
46484
46485         New module 'unicase/u8-is-cased'.
46486         * lib/unicase/u8-is-cased.c: New file.
46487         * lib/unicase/u-is-cased.h: New file.
46488         * modules/unicase/u8-is-cased: New file.
46489
46490         Tests for module 'unicase/u32-is-casefolded'.
46491         * modules/unicase/u32-is-casefolded-tests: New file.
46492         * tests/unicase/test-u32-is-casefolded.c: New file.
46493
46494         Tests for module 'unicase/u16-is-casefolded'.
46495         * modules/unicase/u16-is-casefolded-tests: New file.
46496         * tests/unicase/test-u16-is-casefolded.c: New file.
46497
46498         Tests for module 'unicase/u8-is-casefolded'.
46499         * modules/unicase/u8-is-casefolded-tests: New file.
46500         * tests/unicase/test-u8-is-casefolded.c: New file.
46501         * tests/unicase/test-is-casefolded.h: New file.
46502
46503         New module 'unicase/u32-is-casefolded'.
46504         * lib/unicase/u32-is-casefolded.c: New file.
46505         * modules/unicase/u32-is-casefolded: New file.
46506
46507         New module 'unicase/u16-is-casefolded'.
46508         * lib/unicase/u16-is-casefolded.c: New file.
46509         * modules/unicase/u16-is-casefolded: New file.
46510
46511         New module 'unicase/u8-is-casefolded'.
46512         * lib/unicase/u8-is-casefolded.c: New file.
46513         * modules/unicase/u8-is-casefolded: New file.
46514
46515         Tests for module 'unicase/u32-is-titlecase'.
46516         * modules/unicase/u32-is-titlecase-tests: New file.
46517         * tests/unicase/test-u32-is-titlecase.c: New file.
46518
46519         Tests for module 'unicase/u16-is-titlecase'.
46520         * modules/unicase/u16-is-titlecase-tests: New file.
46521         * tests/unicase/test-u16-is-titlecase.c: New file.
46522
46523         Tests for module 'unicase/u8-is-titlecase'.
46524         * modules/unicase/u8-is-titlecase-tests: New file.
46525         * tests/unicase/test-u8-is-titlecase.c: New file.
46526         * tests/unicase/test-is-titlecase.h: New file.
46527
46528         New module 'unicase/u32-is-titlecase'.
46529         * lib/unicase/u32-is-titlecase.c: New file.
46530         * modules/unicase/u32-is-titlecase: New file.
46531
46532         New module 'unicase/u16-is-titlecase'.
46533         * lib/unicase/u16-is-titlecase.c: New file.
46534         * modules/unicase/u16-is-titlecase: New file.
46535
46536         New module 'unicase/u8-is-titlecase'.
46537         * lib/unicase/u8-is-titlecase.c: New file.
46538         * modules/unicase/u8-is-titlecase: New file.
46539
46540         Tests for module 'unicase/u32-is-lowercase'.
46541         * modules/unicase/u32-is-lowercase-tests: New file.
46542         * tests/unicase/test-u32-is-lowercase.c: New file.
46543
46544         Tests for module 'unicase/u16-is-lowercase'.
46545         * modules/unicase/u16-is-lowercase-tests: New file.
46546         * tests/unicase/test-u16-is-lowercase.c: New file.
46547
46548         Tests for module 'unicase/u8-is-lowercase'.
46549         * modules/unicase/u8-is-lowercase-tests: New file.
46550         * tests/unicase/test-u8-is-lowercase.c: New file.
46551         * tests/unicase/test-is-lowercase.h: New file.
46552
46553         New module 'unicase/u32-is-lowercase'.
46554         * lib/unicase/u32-is-lowercase.c: New file.
46555         * modules/unicase/u32-is-lowercase: New file.
46556
46557         New module 'unicase/u16-is-lowercase'.
46558         * lib/unicase/u16-is-lowercase.c: New file.
46559         * modules/unicase/u16-is-lowercase: New file.
46560
46561         New module 'unicase/u8-is-lowercase'.
46562         * lib/unicase/u8-is-lowercase.c: New file.
46563         * modules/unicase/u8-is-lowercase: New file.
46564
46565         Tests for module 'unicase/u32-is-uppercase'.
46566         * modules/unicase/u32-is-uppercase-tests: New file.
46567         * tests/unicase/test-u32-is-uppercase.c: New file.
46568
46569         Tests for module 'unicase/u16-is-uppercase'.
46570         * modules/unicase/u16-is-uppercase-tests: New file.
46571         * tests/unicase/test-u16-is-uppercase.c: New file.
46572
46573         Tests for module 'unicase/u8-is-uppercase'.
46574         * modules/unicase/u8-is-uppercase-tests: New file.
46575         * tests/unicase/test-u8-is-uppercase.c: New file.
46576         * tests/unicase/test-is-uppercase.h: New file.
46577
46578         New module 'unicase/u32-is-uppercase'.
46579         * lib/unicase/u32-is-uppercase.c: New file.
46580         * modules/unicase/u32-is-uppercase: New file.
46581
46582         New module 'unicase/u16-is-uppercase'.
46583         * lib/unicase/u16-is-uppercase.c: New file.
46584         * modules/unicase/u16-is-uppercase: New file.
46585
46586         New module 'unicase/u8-is-uppercase'.
46587         * lib/unicase/u8-is-uppercase.c: New file.
46588         * modules/unicase/u8-is-uppercase: New file.
46589
46590         New module 'unicase/u32-is-invariant'.
46591         * lib/unicase/u32-is-invariant.c: New file.
46592         * modules/unicase/u32-is-invariant: New file.
46593
46594         New module 'unicase/u16-is-invariant'.
46595         * lib/unicase/u16-is-invariant.c: New file.
46596         * modules/unicase/u16-is-invariant: New file.
46597
46598         New module 'unicase/u8-is-invariant'.
46599         * lib/unicase/u8-is-invariant.c: New file.
46600         * lib/unicase/invariant.h: New file.
46601         * lib/unicase/u-is-invariant.h: New file.
46602         * modules/unicase/u8-is-invariant: New file.
46603
46604         Tests for module 'unicase/u32-casecoll'.
46605         * modules/unicase/u32-casecoll-tests: New file.
46606         * tests/unicase/test-u32-casecoll.c: New file.
46607
46608         Tests for module 'unicase/u16-casecoll'.
46609         * modules/unicase/u16-casecoll-tests: New file.
46610         * tests/unicase/test-u16-casecoll.c: New file.
46611
46612         Tests for module 'unicase/u8-casecoll'.
46613         * modules/unicase/u8-casecoll-tests: New file.
46614         * tests/unicase/test-u8-casecoll.c: New file.
46615
46616         New module 'unicase/u32-casecoll'.
46617         * lib/unicase/u32-casecoll.c: New file.
46618         * modules/unicase/u32-casecoll: New file.
46619
46620         New module 'unicase/u16-casecoll'.
46621         * lib/unicase/u16-casecoll.c: New file.
46622         * modules/unicase/u16-casecoll: New file.
46623
46624         New module 'unicase/u8-casecoll'.
46625         * lib/unicase/u8-casecoll.c: New file.
46626         * lib/unicase/u-casecoll.h: New file.
46627         * modules/unicase/u8-casecoll: New file.
46628
46629         New module 'unicase/u32-casexfrm'.
46630         * lib/unicase/u32-casexfrm.c: New file.
46631         * modules/unicase/u32-casexfrm: New file.
46632
46633         New module 'unicase/u16-casexfrm'.
46634         * lib/unicase/u16-casexfrm.c: New file.
46635         * modules/unicase/u16-casexfrm: New file.
46636
46637         New module 'unicase/u8-casexfrm'.
46638         * lib/unicase/u8-casexfrm.c: New file.
46639         * lib/unicase/u-casexfrm.h: New file.
46640         * modules/unicase/u8-casexfrm: New file.
46641
46642         Tests for module 'unicase/u32-casecmp'.
46643         * modules/unicase/u32-casecmp-tests: New file.
46644         * tests/unicase/test-u32-casecmp.c: New file.
46645
46646         Tests for module 'unicase/u16-casecmp'.
46647         * modules/unicase/u16-casecmp-tests: New file.
46648         * tests/unicase/test-u16-casecmp.c: New file.
46649
46650         Tests for module 'unicase/u8-casecmp'.
46651         * modules/unicase/u8-casecmp-tests: New file.
46652         * tests/unicase/test-u8-casecmp.c: New file.
46653         * tests/unicase/test-casecmp.h: New file.
46654
46655         New module 'unicase/u32-casecmp'.
46656         * lib/unicase/u32-casecmp.c: New file.
46657         * modules/unicase/u32-casecmp: New file.
46658
46659         New module 'unicase/u16-casecmp'.
46660         * lib/unicase/u16-casecmp.c: New file.
46661         * modules/unicase/u16-casecmp: New file.
46662
46663         New module 'unicase/u8-casecmp'.
46664         * lib/unicase/u8-casecmp.c: New file.
46665         * lib/unicase/u-casecmp.h: New file.
46666         * modules/unicase/u8-casecmp: New file.
46667
46668         Tests for module 'unicase/u32-casefold'.
46669         * modules/unicase/u32-casefold-tests: New file.
46670         * tests/unicase/test-u32-casefold.c: New file.
46671
46672         Tests for module 'unicase/u16-casefold'.
46673         * modules/unicase/u16-casefold-tests: New file.
46674         * tests/unicase/test-u16-casefold.c: New file.
46675
46676         Tests for module 'unicase/u8-casefold'.
46677         * modules/unicase/u8-casefold-tests: New file.
46678         * tests/unicase/test-u8-casefold.c: New file.
46679
46680         New module 'unicase/u32-casefold'.
46681         * lib/unicase/u32-casefold.c: New file.
46682         * modules/unicase/u32-casefold: New file.
46683
46684         New module 'unicase/u16-casefold'.
46685         * lib/unicase/u16-casefold.c: New file.
46686         * modules/unicase/u16-casefold: New file.
46687
46688         New module 'unicase/u8-casefold'.
46689         * lib/unicase/u8-casefold.c: New file.
46690         * lib/unicase/u-casefold.h: New file.
46691         * modules/unicase/u8-casefold: New file.
46692
46693         New module 'unicase/tocasefold'.
46694         * lib/unicase/casefold.h: New file.
46695         * lib/unicase/tocasefold.c: New file.
46696         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
46697         * modules/unicase/tocasefold: New file.
46698
46699         Tests for module 'unicase/u32-totitle'.
46700         * modules/unicase/u32-totitle-tests: New file.
46701         * tests/unicase/test-u32-totitle.c: New file.
46702
46703         Tests for module 'unicase/u16-totitle'.
46704         * modules/unicase/u16-totitle-tests: New file.
46705         * tests/unicase/test-u16-totitle.c: New file.
46706
46707         Tests for module 'unicase/u8-totitle'.
46708         * modules/unicase/u8-totitle-tests: New file.
46709         * tests/unicase/test-u8-totitle.c: New file.
46710
46711         New module 'unicase/u32-totitle'.
46712         * lib/unicase/u32-totitle.c: New file.
46713         * modules/unicase/u32-totitle: New file.
46714
46715         New module 'unicase/u16-totitle'.
46716         * lib/unicase/u16-totitle.c: New file.
46717         * modules/unicase/u16-totitle: New file.
46718
46719         New module 'unicase/u8-totitle'.
46720         * lib/unicase/u8-totitle.c: New file.
46721         * lib/unicase/u-totitle.h: New file.
46722         * modules/unicase/u8-totitle: New file.
46723
46724         Tests for module 'unicase/u32-tolower'.
46725         * modules/unicase/u32-tolower-tests: New file.
46726         * tests/unicase/test-u32-tolower.c: New file.
46727
46728         Tests for module 'unicase/u16-tolower'.
46729         * modules/unicase/u16-tolower-tests: New file.
46730         * tests/unicase/test-u16-tolower.c: New file.
46731
46732         Tests for module 'unicase/u8-tolower'.
46733         * modules/unicase/u8-tolower-tests: New file.
46734         * tests/unicase/test-u8-tolower.c: New file.
46735
46736         New module 'unicase/u32-tolower'.
46737         * lib/unicase/u32-tolower.c: New file.
46738         * modules/unicase/u32-tolower: New file.
46739
46740         New module 'unicase/u16-tolower'.
46741         * lib/unicase/u16-tolower.c: New file.
46742         * modules/unicase/u16-tolower: New file.
46743
46744         New module 'unicase/u8-tolower'.
46745         * lib/unicase/u8-tolower.c: New file.
46746         * modules/unicase/u8-tolower: New file.
46747
46748         Tests for module 'unicase/u32-toupper'.
46749         * modules/unicase/u32-toupper-tests: New file.
46750         * tests/unicase/test-u32-toupper.c: New file.
46751
46752         Tests for module 'unicase/u16-toupper'.
46753         * modules/unicase/u16-toupper-tests: New file.
46754         * tests/unicase/test-u16-toupper.c: New file.
46755
46756         Tests for module 'unicase/u8-toupper'.
46757         * modules/unicase/u8-toupper-tests: New file.
46758         * tests/unicase/test-u8-toupper.c: New file.
46759
46760         New module 'unicase/u32-toupper'.
46761         * lib/unicase/u32-toupper.c: New file.
46762         * modules/unicase/u32-toupper: New file.
46763
46764         New module 'unicase/u16-toupper'.
46765         * lib/unicase/u16-toupper.c: New file.
46766         * modules/unicase/u16-toupper: New file.
46767
46768         New module 'unicase/u8-toupper'.
46769         * lib/unicase/u8-toupper.c: New file.
46770         * modules/unicase/u8-toupper: New file.
46771
46772         New module 'unicase/u32-casemap'.
46773         * lib/unicase/u32-casemap.c: New file.
46774         * modules/unicase/u32-casemap: New file.
46775
46776         New module 'unicase/u16-casemap'.
46777         * lib/unicase/u16-casemap.c: New file.
46778         * modules/unicase/u16-casemap: New file.
46779
46780         New module 'unicase/u8-casemap'.
46781         * lib/unicase/unicasemap.h: New file.
46782         * lib/unicase/u8-casemap.c: New file.
46783         * lib/unicase/u-casemap.h: New file.
46784         * modules/unicase/u8-casemap: New file.
46785
46786         New module 'unicase/special-casing'.
46787         * lib/unicase/special-casing.h: New file.
46788         * lib/unicase/special-casing.c: New file.
46789         * lib/unicase/special-casing-table.gperf: New file, generated by
46790         gen-uni-tables.c.
46791         * modules/unicase/special-casing: New file.
46792
46793         Tests for module 'unicase/locale-language'.
46794         * modules/unicase/locale-language-tests: New file.
46795         * tests/unicase/test-locale-language.sh: New file.
46796         * tests/unicase/test-locale-language.c: New file.
46797
46798         New module 'unicase/locale-language'.
46799         * lib/unicase/locale-language.c: New file.
46800         * lib/unicase/locale-languages.gperf: New file.
46801         * modules/unicase/locale-language: New file.
46802
46803         Generate more tables for case conversion and case folding.
46804         * lib/gen-uni-tables.c (SCC_*): New enum items.
46805         (struct special_casing_rule): New type.
46806         (casing_rules, num_casing_rules, allocated_casing_rules): New
46807         variables.
46808         (add_casing_rule, fill_casing_rules): New functions.
46809         (struct casefold_rule): New type.
46810         (casefolding_rules, num_casefolding_rules,
46811         allocated_casefolding_rules): New variables.
46812         (fill_casefolding_rules): New function.
46813         (unicode_casefold): New variable.
46814         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46815         sort_casing_rules, output_casing_rules): New functions.
46816         (main): Accept to more arguments: SpecialCasing.txt and
46817         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46818         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46819         Output mapping for casefolding.
46820
46821         * lib/unicase.h: Include stdbool.h, uninorm.h.
46822         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46823         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46824         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46825         arguments.
46826         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46827         resultp arguments.
46828         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46829         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46830         resultp arguments.
46831         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46832         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46833         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46834         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46835         declarations.
46836         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46837
46838 2009-03-08  Bruno Haible  <bruno@clisp.org>
46839
46840         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46841         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46842         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46843         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46844
46845 2009-03-07  Bruno Haible  <bruno@clisp.org>
46846
46847         Adjust u*_normcmp, u*_normcoll API.
46848         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46849         u16_normcoll, u32_normcoll): Change failure conventions.
46850         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46851         errno and return -1.
46852         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46853
46854 2009-03-07  Bruno Haible  <bruno@clisp.org>
46855
46856         Tests for module 'uninorm/u32-normcoll'.
46857         * modules/uninorm/u32-normcoll-tests: New file.
46858         * tests/uninorm/test-u32-normcoll.c: New file.
46859
46860         Tests for module 'uninorm/u16-normcoll'.
46861         * modules/uninorm/u16-normcoll-tests: New file.
46862         * tests/uninorm/test-u16-normcoll.c: New file.
46863
46864         Tests for module 'uninorm/u8-normcoll'.
46865         * modules/uninorm/u8-normcoll-tests: New file.
46866         * tests/uninorm/test-u8-normcoll.c: New file.
46867
46868 2009-03-07  Bruno Haible  <bruno@clisp.org>
46869
46870         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46871         tests/uninorm/test-u32-normcmp.c.
46872         * tests/uninorm/test-u32-normcmp.c: Include it.
46873         (test_nonascii): New function, extracted from main. Add some more
46874         tests.
46875         (main): Invoke test_ascii and test_nonascii.
46876         * modules/uninorm/u32-normcmp-tests (Files): Add
46877         tests/uninorm/test-u32-normcmp.h.
46878         (Depends-on): Remove uninorm/u32-normcmp.
46879
46880         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46881         tests/uninorm/test-u16-normcmp.c.
46882         * tests/uninorm/test-u16-normcmp.c: Include it.
46883         (test_nonascii): New function, extracted from main. Add some more
46884         tests.
46885         (main): Invoke test_ascii and test_nonascii.
46886         * modules/uninorm/u16-normcmp-tests (Files): Add
46887         tests/uninorm/test-u16-normcmp.h.
46888         (Depends-on): Remove uninorm/u16-normcmp.
46889
46890         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46891         tests/uninorm/test-u8-normcmp.c.
46892         * tests/uninorm/test-u8-normcmp.c: Include it.
46893         (test_nonascii): New function, extracted from main. Add some more
46894         tests.
46895         (main): Invoke test_ascii and test_nonascii.
46896         * modules/uninorm/u8-normcmp-tests (Files): Add
46897         tests/uninorm/test-u8-normcmp.h.
46898         (Depends-on): Remove uninorm/u8-normcmp.
46899
46900 2009-03-07  Bruno Haible  <bruno@clisp.org>
46901
46902         New module 'uninorm/u32-normcoll'.
46903         * lib/uninorm/u32-normcoll.c: New file.
46904         * modules/uninorm/u32-normcoll: New file.
46905
46906         New module 'uninorm/u16-normcoll'.
46907         * lib/uninorm/u16-normcoll.c: New file.
46908         * modules/uninorm/u16-normcoll: New file.
46909
46910         New module 'uninorm/u8-normcoll'.
46911         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46912         declarations.
46913         * lib/uninorm/u8-normcoll.c: New file.
46914         * lib/uninorm/u-normcoll.h: New file.
46915         * modules/uninorm/u8-normcoll: New file.
46916
46917         New module 'uninorm/u32-normxfrm'.
46918         * lib/uninorm/u32-normxfrm.c: New file.
46919         * modules/uninorm/u32-normxfrm: New file.
46920
46921         New module 'uninorm/u16-normxfrm'.
46922         * lib/uninorm/u16-normxfrm.c: New file.
46923         * modules/uninorm/u16-normxfrm: New file.
46924
46925         New module 'uninorm/u8-normxfrm'.
46926         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46927         declarations.
46928         * lib/uninorm/u8-normxfrm.c: New file.
46929         * lib/uninorm/u-normxfrm.h: New file.
46930         * modules/uninorm/u8-normxfrm: New file.
46931
46932 2009-03-07  Bruno Haible  <bruno@clisp.org>
46933
46934         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46935         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46936         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46937
46938 2009-03-07  Bruno Haible  <bruno@clisp.org>
46939
46940         New module 'memxfrm'.
46941         * lib/memxfrm.h: New file.
46942         * lib/memxfrm.c: New file.
46943         * modules/memxfrm: New file.
46944
46945 2009-03-07  Bruno Haible  <bruno@clisp.org>
46946
46947         New module 'memcmp2'.
46948         * lib/memcmp2.h: New file.
46949         * lib/memcmp2.c: New file.
46950         * modules/memcmp2: New file.
46951
46952 2009-03-07  Bruno Haible  <bruno@clisp.org>
46953
46954         Tests for module 'uninorm/decomposing-form'.
46955         * modules/uninorm/decomposing-form-tests: New file.
46956         * tests/uninorm/test-decomposing-form.c: New file.
46957
46958         New module 'uninorm/decomposing-form'.
46959         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46960         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46961         Add 'decomposing_variant' field.
46962         * lib/uninorm/decomposing-form.c: New file.
46963         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46964         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46965         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46966         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46967         * modules/uninorm/decomposing-form: New file.
46968         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46969         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46970
46971 2009-03-07  Bruno Haible  <bruno@clisp.org>
46972
46973         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46974         strings.
46975
46976 2009-03-06  Bruno Haible  <bruno@clisp.org>
46977
46978         Tests for module 'uninorm/u32-normcmp'.
46979         * tests/uninorm/test-u32-normcmp.c: New file.
46980         * modules/uninorm/u32-normcmp-tests: New file.
46981
46982         Tests for module 'uninorm/u16-normcmp'.
46983         * tests/uninorm/test-u16-normcmp.c: New file.
46984         * modules/uninorm/u16-normcmp-tests: New file.
46985
46986         Tests for module 'uninorm/u8-normcmp'.
46987         * tests/uninorm/test-u8-normcmp.c: New file.
46988         * modules/uninorm/u8-normcmp-tests: New file.
46989
46990         New module 'uninorm/u32-normcmp'.
46991         * lib/uninorm/u32-normcmp.c: New file.
46992         * modules/uninorm/u32-normcmp: New file.
46993
46994         New module 'uninorm/u16-normcmp'.
46995         * lib/uninorm/u16-normcmp.c: New file.
46996         * modules/uninorm/u16-normcmp: New file.
46997
46998         New module 'uninorm/u8-normcmp'.
46999         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47000         declarations.
47001         * lib/uninorm/u8-normcmp.c: New file.
47002         * lib/uninorm/u-normcmp.h: New file.
47003         * modules/uninorm/u8-normcmp: New file.
47004
47005 2009-03-06  Bruno Haible  <bruno@clisp.org>
47006
47007         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47008         Reported by Eric Blake.
47009
47010 2009-03-06  Eric Blake  <ebb9@byu.net>
47011             Bruno Haible  <bruno@clisp.org>
47012
47013         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47014         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47015         condition.
47016         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47017         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47018         condition.
47019         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47020
47021 2009-03-06  Eric Blake  <ebb9@byu.net>
47022
47023         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47024         to avoid compiler warnings.
47025         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47026
47027 2009-03-05  Bruno Haible  <bruno@clisp.org>
47028
47029         * tests/test-ftell.c (main): Disable test beyond end of file on
47030         FreeMiNT.
47031         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47032
47033 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47034
47035         * lib/filevercmp.c: Move hidden files up in ordering.
47036         * tests/test-filevercmp.c: Add tests for hidden files.
47037
47038 2009-03-04  Bruno Haible  <bruno@clisp.org>
47039
47040         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47041         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47042         AM_CFLAGS.
47043         Reported by Simon Josefsson.
47044
47045 2009-03-03  Bruno Haible  <bruno@clisp.org>
47046
47047         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47048         Reported by Simon Josefsson.
47049
47050         * doc/ld-version-script.texi: Update node reference.
47051
47052 2009-03-03  Bruno Haible  <bruno@clisp.org>
47053
47054         * modules/visibility (License): Change to 'unlimited'.
47055         Suggested by Simon Josefsson.
47056
47057 2009-03-03  Jim Meyering  <meyering@redhat.com>
47058
47059         unlinkdir: cannot_unlink_dir may modify process state
47060         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47061         it's neither thread-safe nor appropriate for use in a library.
47062
47063 2009-03-03  Eric Blake  <ebb9@byu.net>
47064
47065         test-closein: silence test under Darwin
47066         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47067         care if it dies from EPIPE or EBADF.
47068
47069 2009-03-03  Bruno Haible  <bruno@clisp.org>
47070
47071         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47072         earlier.
47073         * doc/visibility.texi: Fix @node and @section.
47074
47075 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47076
47077         * doc/gnulib.texi: Link to sections for ld version script and
47078         visibility.
47079         * doc/visibility.texi: Add @node and @section.
47080         * modules/ld-version-script: New module.
47081         * m4/ld-version-script.m4: New file.
47082         * doc/ld-version-script.texi: New file.
47083
47084 2009-03-02  David Lutterkort  <lutter@redhat.com>
47085
47086         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47088
47089 2009-03-02  Bruno Haible  <bruno@clisp.org>
47090
47091         * doc/visibility.texi: Mention libtool's -export-symbols option.
47092
47093 2009-03-02  Jim Meyering  <meyering@redhat.com>
47094
47095         announce-gen: new option: --no-print-checksums
47096         * build-aux/announce-gen (usage): Describe it.
47097         (print_checksums): Print a newline here, not in the [*] footnote.
47098         (main): Honor it.
47099
47100 2009-03-01  Bruno Haible  <bruno@clisp.org>
47101
47102         Use socklen_t in the native Windows replacements prototypes.
47103         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47104         instead of 'int'.
47105         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47106         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47107         * modules/getsockopt (Depends-on): Add socklen.
47108         * modules/setsockopt (Depends-on): Add socklen.
47109
47110 2009-03-01  Bruno Haible  <bruno@clisp.org>
47111
47112         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47113         least 4.2.
47114
47115 2009-03-01  Eric Blake  <ebb9@byu.net>
47116             Bruno Haible  <bruno@clisp.org>
47117
47118         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47119         error messages.
47120         * lib/wait-process.c (wait_subprocess): Omit error message about
47121         deadly signal sent to the child of termsigp != NULL.
47122
47123 2009-03-01  Eric Blake  <ebb9@byu.net>
47124
47125         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47126
47127 2009-03-01  Bruno Haible  <bruno@clisp.org>
47128
47129         Avoid a gcc warning.
47130         * tests/test-sched.c (b): Make global.
47131         Reported by Eric Blake.
47132
47133 2009-01-19  Martin Lambers  <marlam@marlam.de>
47134
47135         Provide POSIX semantics for socket timeout options on W32.
47136         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47137         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47138         * modules/setsockopt: Depend on sys_time module for struct timeval.
47139         * modules/getsockopt: Depend on sys_time module for struct timeval.
47140
47141 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47142
47143         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47144         __USE_GNU, for consistency with netdb.in.h.
47145         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47146
47147 2009-03-01  Bruno Haible  <bruno@clisp.org>
47148
47149         More support for FreeMiNT.
47150         * lib/fseeko.c (rpl_fseeko): Complete last commit.
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/fpurge.c (fpurge): Correct last commit.
47157         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47158
47159 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47160
47161         Fix unportable awk script in vc-list-files.
47162         * build-aux/vc-list-files: In the replacement awk script, use
47163         substr with a second argument of 1, not zero.
47164         Report by Simon Josefsson.
47165
47166 2009-02-28  Bruno Haible  <bruno@clisp.org>
47167
47168         More support for FreeMiNT.
47169         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47170         to FreeMiNT today.
47171         * lib/fwriting.c (fwriting): Likewise.
47172         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47173
47174 2009-02-28  Bruno Haible  <bruno@clisp.org>
47175
47176         * tests/test-freadseek.c (main): Disable test beyond end of file on
47177         FreeMiNT.
47178         * tests/test-ftello.c (main): Likewise.
47179         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47180
47181 2009-02-28  Bruno Haible  <bruno@clisp.org>
47182
47183         Add tentative support for FreeMiNT.
47184         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47185         * lib/fpurge.c (fpurge): Likewise.
47186         * lib/freadable.c (freadable): Likewise.
47187         * lib/freading.c (freading): Likewise.
47188         * lib/freadptr.c (freadptr): Likewise.
47189         * lib/freadseek.c (freadptrinc): Likewise.
47190         * lib/fseeko.c (rpl_fseeko): Likewise.
47191         * lib/fseterr.c (fseterr): Likewise.
47192         * lib/fwritable.c (fwritable): Likewise.
47193         * lib/fwriting.c (fwriting): Likewise.
47194         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47195         Hourihane.
47196         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47197
47198 2009-02-28  Bruno Haible  <bruno@clisp.org>
47199
47200         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47201         SIGCHLD.
47202         Reported by Jim Meyering.
47203
47204 2009-02-28  Bruno Haible  <bruno@clisp.org>
47205
47206         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47207         Mention the results of these tests on various platforms.
47208         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47209         order.
47210         * doc/posix-functions/printf.texi: Likewise.
47211         * doc/posix-functions/snprintf.texi: Likewise.
47212         * doc/posix-functions/sprintf.texi: Likewise.
47213         * doc/posix-functions/vfprintf.texi: Likewise.
47214         * doc/posix-functions/vprintf.texi: Likewise.
47215         * doc/posix-functions/vsnprintf.texi: Likewise.
47216         * doc/posix-functions/vsprintf.texi: Likewise.
47217         * doc/glibc-functions/obstack_printf.texi: Likewise.
47218         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47219
47220 2009-02-28  Bruno Haible  <bruno@clisp.org>
47221
47222         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47223         Reported by Loïc Minier <lool@dooz.org>.
47224
47225 2009-02-27  Bruno Haible  <bruno@clisp.org>
47226
47227         * gnulib-tool (func_import): Make the sed expression used to create the
47228         sed script for updating the .gitignore file POSIX compliant.
47229         Reported by Eric Blake.
47230
47231 2009-02-27  Bruno Haible  <bruno@clisp.org>
47232
47233         * gnulib-tool (sed): Don't alias as "sed --posix".
47234         Reported by Eric Blake.
47235
47236 2009-02-27  Bruno Haible  <bruno@clisp.org>
47237
47238         Avoid test link errors.
47239         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
47240         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
47241         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
47242         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
47243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47244
47245 2009-02-27  Bruno Haible  <bruno@clisp.org>
47246
47247         Avoid spurious "(cached)" in configure output.
47248         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
47249         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
47250         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47251         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47252         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47253         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47254         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47255         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47256         Reported by Eric Blake.
47257
47258 2009-02-27  Eric Blake  <ebb9@byu.net>
47259
47260         printf: fix regression in previous patch
47261         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47262
47263 2009-02-27  Bruno Haible  <bruno@clisp.org>
47264
47265         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47266         value.
47267         * lib/stdint.in.h: Likewise.
47268         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47269
47270 2009-02-27  Eric Blake  <ebb9@byu.net>
47271
47272         doc: mention more functions added in cygwin 1.7.0
47273         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47274         addition.
47275         * doc/posix-functions/open_wmemstream.texi: Likewise.
47276         * doc/posix-functions/wcsnlen.texi: Likewise.
47277         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47278         * doc/posix-functions/wcstod.texi: Likewise.
47279         * doc/posix-functions/wcstof.texi: Likewise.
47280         * doc/posix-functions/wcstoimax.texi: Likewise.
47281         * doc/posix-functions/wcstok.texi: Likewise.
47282         * doc/posix-functions/wcstoumax.texi: Likewise.
47283
47284         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47285         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47286         * doc/posix-functions/fprintf.texi: Update.
47287         * doc/posix-functions/printf.texi: Update.
47288         * doc/posix-functions/snprintf.texi: Update.
47289         * doc/posix-functions/sprintf.texi: Update.
47290         * doc/posix-functions/vfprintf.texi: Update.
47291         * doc/posix-functions/vprintf.texi: Update.
47292         * doc/posix-functions/vsnprintf.texi: Update.
47293         * doc/posix-functions/vsprintf.texi: Update.
47294         * doc/glibc-functions/obstack_printf.texi: Update.
47295         * doc/glibc-functions/obstack_vprintf.texi: Update.
47296
47297 2009-02-26  Eric Blake  <ebb9@byu.net>
47298
47299         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47300         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47301         compilation bug by using runtime conversion.
47302         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47303         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47304         * modules/ceill-tests (Files): Use nan.h.
47305         * modules/floorl-tests (Files): Likewise.
47306         * modules/frexpl-tests (Files): Likewise.
47307         * modules/isnanl-tests (Files): Likewise.
47308         * modules/ldexpl-tests (Files): Likewise.
47309         * modules/roundl-tests (Files): Likewise.
47310         * modules/truncl-tests (Files): Likewise.
47311         * tests/test-ceill.c (main): Use a working NaN.
47312         * tests/test-floorl.c (main): Likewise.
47313         * tests/test-frexpl.c (main): Likewise.
47314         * tests/test-isnan.c (test_long_double): Likewise.
47315         * tests/test-isnanl.h (main): Likewise.
47316         * tests/test-ldexpl.h (main): Likewise.
47317         * tests/test-roundl.h (main): Likewise.
47318         * tests/test-truncl.h (main): Likewise.
47319         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47320
47321 2009-02-26  Eric Blake  <ebb9@byu.net>
47322             Bruno Haible  <bruno@clisp.org>
47323
47324         Work around a *printf bug with %ls on Solaris.
47325         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47326         precision is specified, sprintf stops converting the wide string
47327         argument when the number of bytes that have been produced by this
47328         conversion equals or exceeds the precision.
47329         * doc/posix-functions/fprintf.texi: Update.
47330         * doc/posix-functions/printf.texi: Update.
47331         * doc/posix-functions/snprintf.texi: Update.
47332         * doc/posix-functions/sprintf.texi: Update.
47333         * doc/posix-functions/vfprintf.texi: Update.
47334         * doc/posix-functions/vprintf.texi: Update.
47335         * doc/posix-functions/vsnprintf.texi: Update.
47336         * doc/posix-functions/vsprintf.texi: Update.
47337         * doc/glibc-functions/obstack_printf.texi: Update.
47338         * doc/glibc-functions/obstack_vprintf.texi: Update.
47339
47340 2009-02-26  Eric Blake  <ebb9@byu.net>
47341
47342         stdlib: favor compiler check of random.h
47343         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47344         to avoid an ObjC random.h installed by Swarm.
47345
47346 2009-02-26  Bruno Haible  <bruno@clisp.org>
47347
47348         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47349         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47350         Reported by Gary V. Vaughan <gary@gnu.org>.
47351
47352 2009-02-26  Bruno Haible  <bruno@clisp.org>
47353
47354         Fix *printf behaviour regarding the %ls directive.
47355         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47356         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47357         NEED_PRINTF_DIRECTIVE_LS.
47358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47359         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47360         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47361         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47362         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47363         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47364         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47365         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47366         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47367         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47368         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47369         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47370         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47371         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47372         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47373         * doc/posix-functions/fprintf.texi: Update.
47374         * doc/posix-functions/printf.texi: Update.
47375         * doc/posix-functions/snprintf.texi: Update.
47376         * doc/posix-functions/sprintf.texi: Update.
47377         * doc/posix-functions/vfprintf.texi: Update.
47378         * doc/posix-functions/vprintf.texi: Update.
47379         * doc/posix-functions/vsnprintf.texi: Update.
47380         * doc/posix-functions/vsprintf.texi: Update.
47381         * doc/glibc-functions/obstack_printf.texi: Update.
47382         * doc/glibc-functions/obstack_vprintf.texi: Update.
47383         Reported by Eric Blake.
47384
47385 2009-02-25  Bruno Haible  <bruno@clisp.org>
47386
47387         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47388         with known value.
47389         Reported by Gary V. Vaughan <gary@gnu.org>.
47390
47391 2009-02-25  Bruno Haible  <bruno@clisp.org>
47392
47393         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47394         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47395         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47396         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47397         Reported by Gary V. Vaughan <gary@gnu.org>.
47398
47399 2009-02-25  Bruno Haible  <bruno@clisp.org>
47400
47401         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47402         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47403         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47404         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47405         Reported by Gary V. Vaughan <gary@gnu.org>.
47406
47407 2009-02-25  Eric Blake  <ebb9@byu.net>
47408
47409         tests: skip fseek/ftell tests if ungetc is broken
47410         * m4/ungetc.m4: New file.
47411         * modules/fseek-tests: Split test, so ungetc dependency is
47412         separate from rest of test.
47413         * modules/fseeko-tests: Likewise.
47414         * modules/ftell-tests: Likewise.
47415         * modules/ftello-tests: Likewise.
47416         * tests/test-fseek.c (main): Isolate ungetc dependency.
47417         * tests/test-fseeko.c (main): Likewise.
47418         * tests/test-ftell.c (main): Likewise.
47419         * tests/test-ftello.c (main): Likewise.
47420         * tests/test-fseek2.sh: New file.
47421         * tests/test-fseeko2.sh: Likewise.
47422         * tests/test-ftell2.sh: Likewise.
47423         * tests/test-ftello2.sh: Likewise.
47424
47425 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
47426
47427         test-getaddrinfo: fix usage of skip return code 77
47428         * tests/test-gettaddrinfo.c: Return skip code 77 only
47429         for first occurrence of skip (4x77 is not 77)
47430
47431 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47432
47433         strtod: avoid C99 decl-after-statement
47434         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47435
47436 2009-02-24  Eric Blake  <ebb9@byu.net>
47437
47438         strtod: detect HP-UX 11.31 bug
47439         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47440         Reported by Gary V. Vaughan.
47441
47442 2009-02-23  Bruno Haible  <bruno@clisp.org>
47443
47444         Fix invalid read past end of memory block.
47445         * lib/vasnprintf.c (DCHAR_SET): Define.
47446         (local_wcslen): Define only when needed.
47447         (local_strnlen, local_wcsnlen): New functions.
47448         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47449         directives that involve a conversion ourselves.
47450         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47451         wcsnlen, mbrtowc, wcrtomb.
47452         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47453         * tests/test-vasprintf-posix.c (test_function): Likewise.
47454         * tests/test-snprintf-posix.h (test_function): Likewise.
47455         * tests/test-sprintf-posix.h (test_function): Likewise.
47456         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47457
47458 2009-02-22  Bruno Haible  <bruno@clisp.org>
47459
47460         Implement new clarified decomposition of Hangul syllables.
47461         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47462         of type LTV, return only a pairwise decomposition.
47463         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47464         Likewise.
47465         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47466         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47467         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47468
47469 2009-02-22  Bruno Haible  <bruno@clisp.org>
47470
47471         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47472         zero-length results and shrink excess allocated memory.
47473         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47474         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47475         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47476         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47477         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47478         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47479         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47480         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47481         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47482         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47483         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47484         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47485
47486 2009-02-21  Bruno Haible  <bruno@clisp.org>
47487
47488         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47489         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47490         spaces after a period. Put a space between a macro name and its
47491         argument list. Trivial rewordings.
47492         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47493         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47494         (main): Return 0 explicitly.
47495
47496 2009-02-21  Bruno Haible  <bruno@clisp.org>
47497
47498         Tests for module 'uninorm/filter'.
47499         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47500         * modules/uninorm/filter-tests: New file.
47501
47502         New module 'uninorm/filter'.
47503         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47504         uninorm_filter_flush, uninorm_filter_free): New declarations.
47505         * lib/uninorm/uninorm-filter.c: New file.
47506         * modules/uninorm/filter: New file.
47507
47508 2009-02-21  Bruno Haible  <bruno@clisp.org>
47509
47510         Tests for module 'uninorm/nfkc'.
47511         * tests/uninorm/test-nfkc.c: New file.
47512         * tests/uninorm/test-u8-nfkc.c: New file.
47513         * tests/uninorm/test-u16-nfkc.c: New file.
47514         * tests/uninorm/test-u32-nfkc.c: New file.
47515         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47516         * tests/uninorm/test-u32-nfkc-big.c: New file.
47517         * modules/uninorm/nfkc-tests: New file.
47518
47519         New module 'uninorm/nfkc'.
47520         * lib/uninorm/nfkc.c: New file.
47521         * modules/uninorm/nfkc: New file.
47522
47523         Tests for module 'uninorm/nfkd'.
47524         * tests/uninorm/test-nfkd.c: New file.
47525         * tests/uninorm/test-u8-nfkd.c: New file.
47526         * tests/uninorm/test-u16-nfkd.c: New file.
47527         * tests/uninorm/test-u32-nfkd.c: New file.
47528         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47529         * tests/uninorm/test-u32-nfkd-big.c: New file.
47530         * modules/uninorm/nfkd-tests: New file.
47531
47532         New module 'uninorm/nfkd'.
47533         * lib/uninorm/nfkd.c: New file.
47534         * modules/uninorm/nfkd: New file.
47535
47536         Tests for module 'uninorm/nfc'.
47537         * tests/uninorm/test-nfc.c: New file.
47538         * tests/uninorm/test-u8-nfc.c: New file.
47539         * tests/uninorm/test-u16-nfc.c: New file.
47540         * tests/uninorm/test-u32-nfc.c: New file.
47541         * tests/uninorm/test-u32-nfc-big.sh: New file.
47542         * tests/uninorm/test-u32-nfc-big.c: New file.
47543         * modules/uninorm/nfc-tests: New file.
47544
47545         New module 'uninorm/nfc'.
47546         * lib/uninorm/nfc.c: New file.
47547         * modules/uninorm/nfc: New file.
47548
47549         Tests for module 'uninorm/nfd'.
47550         * tests/uninorm/test-nfd.c: New file.
47551         * tests/uninorm/test-u8-nfd.c: New file.
47552         * tests/uninorm/test-u16-nfd.c: New file.
47553         * tests/uninorm/test-u32-nfd.c: New file.
47554         * tests/uninorm/test-u32-nfd-big.sh: New file.
47555         * tests/uninorm/test-u32-nfd-big.c: New file.
47556         * tests/uninorm/test-u32-normalize-big.h: New file.
47557         * tests/uninorm/test-u32-normalize-big.c: New file.
47558         * tests/uninorm/NormalizationTest.txt: New file, created from
47559         Unicode 5.1.0 NormalizationTest.txt.
47560         * modules/uninorm/nfd-tests: New file.
47561
47562         New module 'uninorm/nfd'.
47563         * lib/uninorm/nfd.c: New file.
47564         * modules/uninorm/nfd: New file.
47565
47566         New module 'uninorm/u32-normalize'.
47567         * lib/uninorm/u32-normalize.c: New file.
47568         * modules/uninorm/u32-normalize: New file.
47569
47570         New module 'uninorm/u16-normalize'.
47571         * lib/uninorm/u16-normalize.c: New file.
47572         * modules/uninorm/u16-normalize: New file.
47573
47574         New module 'uninorm/u8-normalize'.
47575         * lib/uninorm/u8-normalize.c: New file.
47576         * lib/uninorm/normalize-internal.h: New file.
47577         * lib/uninorm/u-normalize-internal.h: New file.
47578         * modules/uninorm/u8-normalize: New file.
47579
47580         New module 'uninorm/decompose-internal'.
47581         * lib/uninorm/decompose-internal.c: New file.
47582         * modules/uninorm/decompose-internal: New file.
47583
47584         Tests for module 'uninorm/composition'.
47585         * tests/uninorm/test-composition.c: New file.
47586         * modules/uninorm/composition-tests: New file.
47587
47588         New module 'uninorm/composition'.
47589         * lib/uninorm/composition.c: New file.
47590         * lib/uninorm/composition-table.gperf: New file, generated by
47591         gen-uni-tables.
47592         * modules/uninorm/composition: New file.
47593
47594         Tests for module 'uninorm/compat-decomposition'.
47595         * tests/uninorm/test-compat-decomposition.c: New file.
47596         * modules/uninorm/compat-decomposition-tests: New file.
47597
47598         New module 'uninorm/compat-decomposition'.
47599         * lib/uninorm/decompose-internal.h: New file.
47600         * lib/uninorm/compat-decomposition.c: New file.
47601         * modules/uninorm/compat-decomposition: New file.
47602
47603         Tests for module 'uninorm/canonical-decomposition'.
47604         * tests/uninorm/test-canonical-decomposition.c: New file.
47605         * modules/uninorm/canonical-decomposition-tests: New file.
47606
47607         New module 'uninorm/canonical-decomposition'.
47608         * lib/uninorm/canonical-decomposition.c: New file.
47609         * modules/uninorm/canonical-decomposition: New file.
47610
47611         Tests for module 'uninorm/decomposition'.
47612         * tests/uninorm/test-decomposition.c: New file.
47613         * modules/uninorm/decomposition-tests: New file.
47614
47615         New module 'uninorm/decomposition'.
47616         * lib/uninorm/decomposition.c: New file.
47617         * modules/uninorm/decomposition: New file.
47618
47619         New module 'uninorm/decomposition-table'.
47620         * lib/uninorm/decomposition-table.h: New file.
47621         * lib/uninorm/decomposition-table.c: New file.
47622         * lib/uninorm/decomposition-table1.h: New file, generated by
47623         gen-uni-tables.
47624         * lib/uninorm/decomposition-table2.h: New file, generated by
47625         gen-uni-tables.
47626         * modules/uninorm/decomposition-table: New file.
47627
47628         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
47629         (UC_DECOMP_*): New enumeration items.
47630         (get_decomposition): New function.
47631         (struct decomp_table): New type.
47632         (output_decomposition, output_decomposition_tables): New functions.
47633         (unicode_composition_exclusions): New variable.
47634         (fill_composition_exclusions, debug_output_composition_tables): New
47635         functions.
47636         (main): Accept one more argument. Invoke fill_composition_exclusions.
47637         Output decomposition and composition tables.
47638
47639         New module 'uninorm/base'.
47640         * lib/uninorm.h: New file.
47641         * lib/unictype.h: Update comment.
47642         * modules/uninorm/base: New file.
47643
47644 2009-02-21  David Lutterkort  <lutter@redhat.com>
47645
47646         Tests for module 'safe-alloc'.
47647         * tests/test-safe-alloc.c: New file.
47648         * modules/safe-alloc-tests: New file.
47649
47650         New module 'safe-alloc'.
47651         * lib/safe-alloc.h: New file.
47652         * lib/safe-alloc.c: New file.
47653         * m4/safe-alloc.m4: New file.
47654         * modules/safe-alloc: New file.
47655         * doc/safe-alloc.texi: New file.
47656         * doc/gnulib.texi: Include it.
47657         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
47658         safe-alloc.
47659
47660 2009-02-18  Bruno Haible  <bruno@clisp.org>
47661
47662         Fix link error on non-glibc systems.
47663         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
47664         variable.
47665         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47666
47667 2009-02-18  Jim Meyering  <meyering@redhat.com>
47668
47669         fts: avoid used-uninitialized error due to recent change
47670         * lib/fts.c (fts_read): Guard uses of the new member,
47671         parent->fts_n_dirs_remaining, since it's not relevant for
47672         the parent of a directory specified on the command-line.
47673
47674 2009-02-17  James Youngman  <jay@gnu.org>
47675             Bruno Haible  <bruno@clisp.org>
47676
47677         * m4/include_next.m4: Reformulate comment.
47678
47679 2009-02-16  Jim Meyering  <meyering@redhat.com>
47680
47681         fts: add #if guards so that the fts_lgpl module still builds
47682         * lib/fts.c: Guard just-added hash-table-using parts with
47683         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
47684         Reported by Simon Josefsson.
47685
47686 2009-02-15  Bruno Haible  <bruno@clisp.org>
47687
47688         * modules/array-mergesort-tests: New file.
47689         * tests/test-array-mergesort.c: New file.
47690
47691         New module 'array-mergesort'.
47692         * modules/array-mergesort: New file.
47693         * lib/array-mergesort.h: New file.
47694
47695 2009-02-15  Bruno Haible  <bruno@clisp.org>
47696
47697         Fix 2009-02-07 commit.
47698         * lib/gen-uni-tables.c (output_predicate, output_category,
47699         output_combclass, output_bidi_category, output_decimal_digit,
47700         output_digit, output_numeric, output_mirror, output_scripts,
47701         output_ident_category, output_simple_mapping): Fix format directives.
47702         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
47703
47704 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
47705
47706         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
47707         fixes are available from IBM.
47708
47709 2009-02-13  Jim Meyering  <meyering@redhat.com>
47710
47711         fts: arrange not to stat non-directories in more cases
47712         This makes GNU find (when it doesn't need to stat each file)
47713         *much* more efficient at traversing reiserfs file systems.
47714         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
47715         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
47716         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
47717         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
47718         (leaf_optimization_applies): New function.
47719         (LCO_hash, LCO_compare): New helper functions.
47720         (link_count_optimize_ok): New function.
47721         (fts_stat): Initialize new member (if dir).
47722         (fts_read): Decrement parent's fts_n_dirs_remaining count if
47723         we've just stat'ed a directory.  Skip the stat call when possible.
47724         ---
47725         Note this AFS-related exchange:
47726         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
47727         and note find's pioctl call in find/fstype.c.
47728         But that is necessary only if you want to enable the
47729         optimization for AFS, and for now, I don't.
47730
47731         fts: move a function definition "up" (no semantic change)
47732         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
47733         "up" to precede upcoming use of a related function.
47734
47735 2009-02-11  Jim Meyering  <meyering@redhat.com>
47736
47737         fts: correct internal computation of nlinks (optimization-related)
47738         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
47739         whether the current entry is a directory, so don't test it.
47740
47741 2009-02-10  Bruno Haible  <bruno@clisp.org>
47742
47743         Tests for module 'uniwbrk/ulc-wordbreaks'.
47744         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
47745         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
47746         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
47747
47748         Tests for module 'uniwbrk/u32-wordbreaks'.
47749         * modules/uniwbrk/u32-wordbreaks-tests: New file.
47750         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
47751
47752         Tests for module 'uniwbrk/u16-wordbreaks'.
47753         * modules/uniwbrk/u16-wordbreaks-tests: New file.
47754         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
47755
47756         Tests for module 'uniwbrk/u8-wordbreaks'.
47757         * modules/uniwbrk/u8-wordbreaks-tests: New file.
47758         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
47759
47760 2009-02-10  Bruno Haible  <bruno@clisp.org>
47761
47762         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
47763         property.
47764         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
47765         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47766         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47767
47768 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47769
47770         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47771         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47772
47773 2009-02-10  Bruno Haible  <bruno@clisp.org>
47774
47775         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47776         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47777         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47778         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47779         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47780         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47781
47782 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47783
47784         * lib/sockets.h (gl_fd_to_handle): New function.
47785
47786         * tests/test-sockets.c: Call gl_fd_to_handle.
47787
47788 2009-02-09  Bruno Haible  <bruno@clisp.org>
47789
47790         * doc/havelib.texi: Document the conventions on bi-arch systems.
47791
47792 2009-02-08  Bruno Haible  <bruno@clisp.org>
47793
47794         Document the AC_LIB_LINKFLAGS macro.
47795         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47796         * doc/gnulib.texi: Include it.
47797
47798 2009-02-08  Bruno Haible  <bruno@clisp.org>
47799
47800         Fix wrong order of sections, compared to TOC.
47801         * doc/gnulib.texi: Include relocatable-maint.texi after the
47802         "Regular expressions" node, not before.
47803
47804 2009-02-08  Bruno Haible  <bruno@clisp.org>
47805
47806         Tests for module 'unicase/totitle'.
47807         * modules/unicase/totitle-tests: New file.
47808
47809         Tests for module 'unicase/tolower'.
47810         * modules/unicase/tolower-tests: New file.
47811
47812         Tests for module 'unicase/toupper'.
47813         * modules/unicase/toupper-tests: New file.
47814         * tests/unicase/test-mapping-part1.h: New file.
47815         * tests/unicase/test-mapping-part2.h: New file.
47816
47817         New module 'unicase/totitle'.
47818         * modules/unicase/totitle: New file.
47819         * lib/unicase/totitle.c: New file.
47820
47821         New module 'unicase/tolower'.
47822         * modules/unicase/tolower: New file.
47823         * lib/unicase/tolower.c: New file.
47824
47825         New module 'unicase/toupper'.
47826         * modules/unicase/toupper: New file.
47827         * lib/unicase/toupper.c: New file.
47828         * lib/unicase/simple-mapping.h: New file.
47829
47830         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47831         (mapping_table): New structure.
47832         (output_simple_mapping): New function.
47833         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47834         * modules/gen-uni-tables (Description): Update.
47835         * lib/unicase/toupper.h: New file, automatically generated by
47836         gen-uni-tables.
47837         * lib/unicase/tolower.h: New file, automatically generated by
47838         gen-uni-tables.
47839         * lib/unicase/totitle.h: New file, automatically generated by
47840         gen-uni-tables.
47841         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47842         gen-uni-tables.
47843         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47844         gen-uni-tables.
47845         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47846         gen-uni-tables.
47847
47848         New module 'unicase/base'.
47849         * modules/unicase/base: New file.
47850         * lib/unicase.h: New file.
47851
47852 2009-02-08  Bruno Haible  <bruno@clisp.org>
47853
47854         New module 'uniwbrk/ulc-wordbreaks'.
47855         * modules/uniwbrk/ulc-wordbreaks: New file.
47856         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47857
47858         New module 'uniwbrk/u32-wordbreaks'.
47859         * modules/uniwbrk/u32-wordbreaks: New file.
47860         * lib/uniwbrk/u32-wordbreaks.c: New file.
47861
47862         New module 'uniwbrk/u16-wordbreaks'.
47863         * modules/uniwbrk/u16-wordbreaks: New file.
47864         * lib/uniwbrk/u16-wordbreaks.c: New file.
47865
47866         New module 'uniwbrk/u8-wordbreaks'.
47867         * modules/uniwbrk/u8-wordbreaks: New file.
47868         * lib/uniwbrk/u8-wordbreaks.c: New file.
47869         * lib/uniwbrk/u-wordbreaks.h: New file.
47870
47871         New module 'uniwbrk/table'.
47872         * modules/uniwbrk/table: New file.
47873         * lib/uniwbrk/wbrktable.h: New file.
47874         * lib/uniwbrk/wbrktable.c: New file.
47875
47876         New module 'uniwbrk/wordbreak-property'.
47877         * modules/uniwbrk/wordbreak-property: New file.
47878         * lib/uniwbrk/wordbreak-property.c: New file.
47879
47880         * lib/gen-uni-tables.c (WBP_*): New enum items.
47881         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47882         (unicode_org_wbp): New variable.
47883         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47884         New functions.
47885         (wbp_table): New structure.
47886         (output_wbp, output_wbrk_tables): New functions.
47887         (main): Accept additional argument. Invoke fill_org_wbp,
47888         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47889         output_wbrk_tables.
47890         * modules/gen-uni-tables (Description): Update.
47891         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47892         gen-uni-tables.
47893
47894         New module 'uniwbrk/base'.
47895         * modules/uniwbrk/base: New file.
47896         * lib/uniwbrk.h: New file.
47897
47898 2009-02-08  Bruno Haible  <bruno@clisp.org>
47899
47900         Update to Unicode 5.1.0.
47901         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47902         U+2185..U+2188.
47903         (is_property_default_ignorable_code_point): Don't include characters
47904         of category Cc or Cs and not-a-characters.
47905         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47906         U+0D79, U+109E, U+109F, U+A60C.
47907         * lib/unictype/bidi_of.h: Regenerated.
47908         * lib/unictype/blocks.h: Regenerated.
47909         * lib/unictype/categ_C.h: Regenerated.
47910         * lib/unictype/categ_Cf.h: Regenerated.
47911         * lib/unictype/categ_Cn.h: Regenerated.
47912         * lib/unictype/categ_L.h: Regenerated.
47913         * lib/unictype/categ_Ll.h: Regenerated.
47914         * lib/unictype/categ_Lm.h: Regenerated.
47915         * lib/unictype/categ_Lo.h: Regenerated.
47916         * lib/unictype/categ_Lu.h: Regenerated.
47917         * lib/unictype/categ_M.h: Regenerated.
47918         * lib/unictype/categ_Mc.h: Regenerated.
47919         * lib/unictype/categ_Me.h: Regenerated.
47920         * lib/unictype/categ_Mn.h: Regenerated.
47921         * lib/unictype/categ_N.h: Regenerated.
47922         * lib/unictype/categ_Nd.h: Regenerated.
47923         * lib/unictype/categ_Nl.h: Regenerated.
47924         * lib/unictype/categ_No.h: Regenerated.
47925         * lib/unictype/categ_P.h: Regenerated.
47926         * lib/unictype/categ_Pd.h: Regenerated.
47927         * lib/unictype/categ_Pe.h: Regenerated.
47928         * lib/unictype/categ_Pf.h: Regenerated.
47929         * lib/unictype/categ_Pi.h: Regenerated.
47930         * lib/unictype/categ_Po.h: Regenerated.
47931         * lib/unictype/categ_Ps.h: Regenerated.
47932         * lib/unictype/categ_S.h: Regenerated.
47933         * lib/unictype/categ_Sk.h: Regenerated.
47934         * lib/unictype/categ_Sm.h: Regenerated.
47935         * lib/unictype/categ_So.h: Regenerated.
47936         * lib/unictype/categ_of.h: Regenerated.
47937         * lib/unictype/combining.h: Regenerated.
47938         * lib/unictype/ctype_alnum.h: Regenerated.
47939         * lib/unictype/ctype_alpha.h: Regenerated.
47940         * lib/unictype/ctype_graph.h: Regenerated.
47941         * lib/unictype/ctype_lower.h: Regenerated.
47942         * lib/unictype/ctype_print.h: Regenerated.
47943         * lib/unictype/ctype_punct.h: Regenerated.
47944         * lib/unictype/ctype_upper.h: Regenerated.
47945         * lib/unictype/decdigit.h: Regenerated.
47946         * lib/unictype/digit.h: Regenerated.
47947         * lib/unictype/mirror.h: Regenerated.
47948         * lib/unictype/numeric.h: Regenerated.
47949         * lib/unictype/pr_alphabetic.h: Regenerated.
47950         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47951         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47952         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47953         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47954         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47955         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47956         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47957         * lib/unictype/pr_combining.h: Regenerated.
47958         * lib/unictype/pr_dash.h: Regenerated.
47959         * lib/unictype/pr_decimal_digit.h: Regenerated.
47960         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47961         * lib/unictype/pr_deprecated.h: Regenerated.
47962         * lib/unictype/pr_diacritic.h: Regenerated.
47963         * lib/unictype/pr_extender.h: Regenerated.
47964         * lib/unictype/pr_format_control.h: Regenerated.
47965         * lib/unictype/pr_grapheme_base.h: Regenerated.
47966         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47967         * lib/unictype/pr_grapheme_link.h: Regenerated.
47968         * lib/unictype/pr_id_continue.h: Regenerated.
47969         * lib/unictype/pr_id_start.h: Regenerated.
47970         * lib/unictype/pr_ideographic.h: Regenerated.
47971         * lib/unictype/pr_ignorable_control.h: Regenerated.
47972         * lib/unictype/pr_lowercase.h: Regenerated.
47973         * lib/unictype/pr_math.h: Regenerated.
47974         * lib/unictype/pr_numeric.h: Regenerated.
47975         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47976         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47977         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47978         * lib/unictype/pr_other_id_continue.h: Regenerated.
47979         * lib/unictype/pr_other_lowercase.h: Regenerated.
47980         * lib/unictype/pr_other_math.h: Regenerated.
47981         * lib/unictype/pr_punctuation.h: Regenerated.
47982         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47983         * lib/unictype/pr_soft_dotted.h: Regenerated.
47984         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47985         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47986         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47987         * lib/unictype/pr_uppercase.h: Regenerated.
47988         * lib/unictype/pr_xid_continue.h: Regenerated.
47989         * lib/unictype/pr_xid_start.h: Regenerated.
47990         * lib/unictype/pr_zero_width.h: Regenerated.
47991         * lib/unictype/scripts.h: Regenerated.
47992         * lib/unictype/scripts_byname.gperf: Regenerated.
47993         * lib/unictype/sy_java_ident.h: Regenerated.
47994         * lib/unilbrk/lbrkprop1.h: Regenerated.
47995         * lib/unilbrk/lbrkprop2.h: Regenerated.
47996         * tests/unictype/test-categ_C.c: Regenerated.
47997         * tests/unictype/test-categ_Cf.c: Regenerated.
47998         * tests/unictype/test-categ_Cn.c: Regenerated.
47999         * tests/unictype/test-categ_L.c: Regenerated.
48000         * tests/unictype/test-categ_Ll.c: Regenerated.
48001         * tests/unictype/test-categ_Lm.c: Regenerated.
48002         * tests/unictype/test-categ_Lo.c: Regenerated.
48003         * tests/unictype/test-categ_Lu.c: Regenerated.
48004         * tests/unictype/test-categ_M.c: Regenerated.
48005         * tests/unictype/test-categ_Mc.c: Regenerated.
48006         * tests/unictype/test-categ_Me.c: Regenerated.
48007         * tests/unictype/test-categ_Mn.c: Regenerated.
48008         * tests/unictype/test-categ_N.c: Regenerated.
48009         * tests/unictype/test-categ_Nd.c: Regenerated.
48010         * tests/unictype/test-categ_Nl.c: Regenerated.
48011         * tests/unictype/test-categ_No.c: Regenerated.
48012         * tests/unictype/test-categ_P.c: Regenerated.
48013         * tests/unictype/test-categ_Pd.c: Regenerated.
48014         * tests/unictype/test-categ_Pe.c: Regenerated.
48015         * tests/unictype/test-categ_Pf.c: Regenerated.
48016         * tests/unictype/test-categ_Pi.c: Regenerated.
48017         * tests/unictype/test-categ_Po.c: Regenerated.
48018         * tests/unictype/test-categ_Ps.c: Regenerated.
48019         * tests/unictype/test-categ_S.c: Regenerated.
48020         * tests/unictype/test-categ_Sk.c: Regenerated.
48021         * tests/unictype/test-categ_Sm.c: Regenerated.
48022         * tests/unictype/test-categ_So.c: Regenerated.
48023         * tests/unictype/test-ctype_alnum.c: Regenerated.
48024         * tests/unictype/test-ctype_alpha.c: Regenerated.
48025         * tests/unictype/test-ctype_graph.c: Regenerated.
48026         * tests/unictype/test-ctype_lower.c: Regenerated.
48027         * tests/unictype/test-ctype_print.c: Regenerated.
48028         * tests/unictype/test-ctype_punct.c: Regenerated.
48029         * tests/unictype/test-ctype_upper.c: Regenerated.
48030         * tests/unictype/test-decdigit.h: Regenerated.
48031         * tests/unictype/test-digit.h: Regenerated.
48032         * tests/unictype/test-numeric.h: Regenerated.
48033         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48034         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48035         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48036         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48037         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48038         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48039         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48040         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48041         * tests/unictype/test-pr_combining.c: Regenerated.
48042         * tests/unictype/test-pr_dash.c: Regenerated.
48043         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48044         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48045         * tests/unictype/test-pr_deprecated.c: Regenerated.
48046         * tests/unictype/test-pr_diacritic.c: Regenerated.
48047         * tests/unictype/test-pr_extender.c: Regenerated.
48048         * tests/unictype/test-pr_format_control.c: Regenerated.
48049         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48050         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48051         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48052         * tests/unictype/test-pr_id_continue.c: Regenerated.
48053         * tests/unictype/test-pr_id_start.c: Regenerated.
48054         * tests/unictype/test-pr_ideographic.c: Regenerated.
48055         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48056         * tests/unictype/test-pr_lowercase.c: Regenerated.
48057         * tests/unictype/test-pr_math.c: Regenerated.
48058         * tests/unictype/test-pr_numeric.c: Regenerated.
48059         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48060         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48061         Regenerated.
48062         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48063         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48064         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48065         * tests/unictype/test-pr_other_math.c: Regenerated.
48066         * tests/unictype/test-pr_punctuation.c: Regenerated.
48067         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48068         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48069         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48070         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48071         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48072         * tests/unictype/test-pr_uppercase.c: Regenerated.
48073         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48074         * tests/unictype/test-pr_xid_start.c: Regenerated.
48075         * tests/unictype/test-pr_zero_width.c: Regenerated.
48076
48077         Update to Unicode 5.1.0.
48078         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48079         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48080         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48081         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48082         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48083         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48084         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48085         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48086         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48087         (nonspacing_table_ind): Update.
48088         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48089
48090         Update to Unicode 5.1.0.
48091         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48092         code transform.
48093         * lib/uniname/uniname.c (unicode_character_name,
48094         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48095         * lib/uniname/uninames.h: Regenerated.
48096         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48097
48098 2009-02-07  Bruno Haible  <bruno@clisp.org>
48099
48100         Merge gen-ctype and gen-lbrk into a single program.
48101         * lib/gen-uni-tables.c: New file, incorporating
48102         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48103         Add directory prefixes to the names of the generated files.
48104         * lib/unictype/gen-ctype.c: Remove file.
48105         * lib/unilbrk/gen-lbrk.c: Remove file.
48106         * modules/gen-uni-tables: New file.
48107         * modules/unictype/gen-ctype: Remove file.
48108         * modules/unilbrk/gen-lbrk: Remove file.
48109
48110 2009-02-07  Bruno Haible  <bruno@clisp.org>
48111
48112         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48113
48114         New module 'unistr/u32-strcoll'.
48115         * modules/unistr/u32-strcoll: New file.
48116         * lib/unistr/u32-strcoll.c: New file.
48117
48118         New module 'unistr/u16-strcoll'.
48119         * modules/unistr/u16-strcoll: New file.
48120         * lib/unistr/u16-strcoll.c: New file.
48121
48122         New module 'unistr/u8-strcoll'.
48123         * modules/unistr/u8-strcoll: New file.
48124         * lib/unistr/u8-strcoll.c: New file.
48125         * lib/unistr/u-strcoll.h: New file.
48126
48127 2009-02-07  Bruno Haible  <bruno@clisp.org>
48128
48129         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48130         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48131         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48132         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48133         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48134         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48135
48136 2009-02-07  Bruno Haible  <bruno@clisp.org>
48137
48138         Make 64-bit clean.
48139         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48140         output_combclass, output_bidi_category, output_decimal_digit,
48141         output_digit, output_numeric, output_mirror, output_scripts,
48142         output_ident_category): Use proper width specifier in format strings.
48143
48144 2009-02-07  Bruno Haible  <bruno@clisp.org>
48145
48146         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48147         failure behaviour.
48148
48149 2009-02-07  Jim Meyering  <meyering@redhat.com>
48150
48151         regex: avoid compilation failure with upcoming gcc-4.4
48152         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48153         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48154         "... error: integer overflow in preprocessor expression".
48155
48156 2009-02-05  Ben Pfaff  <blp@gnu.org>
48157
48158         Fix link errors on Windows when close module is used.
48159         * modules/close: Add $(LIB_CLOSE) to Link section.
48160         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48161         $(LIB_CLOSE) on Windows.
48162
48163 2009-02-05  Jim Meyering  <meyering@redhat.com>
48164
48165         still avoid unused-parameter warnings, but do it cleanly
48166         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48167         (get_fs_usage): Cast to void instead.
48168         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48169         (dev_from_mount_options, read_file_system_list): Cast to void.
48170         Prompted by Bruno Haible.
48171
48172 2009-02-04  Jim Meyering  <meyering@redhat.com>
48173
48174         fsusage.c: correct copyright year
48175         * lib/fsusage.c: Reflect year in which the change is pushed into
48176
48177         avoid misc. warnings
48178         * lib/fsusage.c (UNUSED_PARAM): Define.
48179         (get_fs_usage): Mark parameter "disk" as unused.
48180         * lib/getugroups.c (getgrent): Use "void" in prototype.
48181         * lib/mountlist.c: Mark unused parameters.
48182         (read_file_system_list): Declare a local with "const".
48183         * lib/nanosleep.c (getnow): Declare static.
48184         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48185
48186         dirfd: set errno upon failure
48187         * lib/dirfd.c: Include <errno.h>.
48188         Set errno to ENOTSUP when returning -1.
48189         * modules/dirfd (Depends-on): Add errno.
48190         Suggested by John Kodis <kodis@comcast.net>.
48191
48192 2009-02-01  Bruno Haible  <bruno@clisp.org>
48193
48194         Don't assume sizeof (long) >= sizeof (void *).
48195         * lib/memcmp.c: Include stdint.h.
48196         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48197         srcp2 to 'const byte *'.
48198         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48199         types to uintptr_t.
48200         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48201         * modules/memcmp (Depends-on): Add stdint.
48202         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48203
48204 2009-01-30  Eric Blake  <ebb9@byu.net>
48205
48206         fix more require-before-expand issues
48207         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48208         expand, AC_PROG_AWK.
48209         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48210
48211 2009-01-28  Eric Blake  <ebb9@byu.net>
48212
48213         version-etc: use consistent URL formatting
48214         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48215         Improve formatting.  Use fputs for string without %.
48216
48217 2009-01-28  Jim Meyering  <meyering@redhat.com>
48218
48219         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48220         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48221         "underquoted definition of NAME" from autoconf-2.59.
48222
48223 2009-01-28  Bruno Haible  <bruno@clisp.org>
48224
48225         * doc/gnulib.texi: Add "Obsolete modules" to index.
48226
48227 2009-01-28  Jim Meyering  <meyering@redhat.com>
48228
48229         useless-if-before-free: recognize more variants
48230         * build-aux/useless-if-before-free: Also recognize e.g.,
48231         if (NULL != p) free (p);
48232
48233 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
48234
48235         test-getaddrinfo: skip (don't fail) this test when there's no network
48236         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
48237         on the presumption that it means you lack network access.
48238
48239 2009-01-26  Jim Meyering  <meyering@redhat.com>
48240
48241         fflush: avoid warnings on modern systems
48242         * lib/fflush.c (rpl_fflush): Move declarations of locals,
48243         pos and result, into scopes where they're used.
48244
48245 2009-01-26  Eric Blake  <ebb9@byu.net>
48246
48247         Silence warning reintroduced by recent extensions patch.
48248         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
48249         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
48250         autoconf.
48251
48252         Backport improved autoconf semantics of AC_DEFUN_ONCE.
48253         * m4/00gnulib.m4: New file.
48254         * gnulib-tool (func_get_filelist): Always use it.
48255         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48256         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48257
48258 2009-01-25  Bruno Haible  <bruno@clisp.org>
48259
48260         Make test-quotearg work on MacOS X and AIX.
48261         * tests/test-quotearg.sh: New file.
48262         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48263         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48264         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48265         include <libintl.h>.
48266         (fake_locale): Remove variable.
48267         (gettext, dgettext, dcgettext): Remove functions.
48268         (main): Instead of setting a fake locale, set a real locale. Call
48269         textdomain and bindtextdomain.
48270         * modules/quotearg-tests (Files): Add the new files.
48271         (Depends-on): Add gettext, setenv, unsetenv.
48272         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48273         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48274         Augment TESTS_ENVIRONMENT.
48275
48276 2009-01-25  Bruno Haible  <bruno@clisp.org>
48277
48278         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48279         fr_FR.ISO8859-1 locale on MacOS X.
48280         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48281         ja_JP.eucJP locale on MacOS X.
48282         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48283         zh_CN.GB18030 locale on MacOS X.
48284
48285 2009-01-25  Bruno Haible  <bruno@clisp.org>
48286
48287         Avoid link errors on MacOS X 10.3.
48288         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48289         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48290
48291 2009-01-25  Bruno Haible  <bruno@clisp.org>
48292
48293         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48294         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48295         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48296         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48297         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48298         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48299         posix_spawnattr_init, posix_spawnattr_setsigmask,
48300         posix_spawnattr_setflags, posix_spawnattr_destroy.
48301
48302         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48303         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48304         * modules/execute (Files): Remove m4/posix_spawn.m4.
48305         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48306         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48307         posix_spawnattr_init, posix_spawnattr_setsigmask,
48308         posix_spawnattr_setflags, posix_spawnattr_destroy.
48309
48310 2009-01-25  Bruno Haible  <bruno@clisp.org>
48311
48312         * lib/glthread/threadlib.c: Include <stdlib.h>.
48313
48314 2009-01-25  Bruno Haible  <bruno@clisp.org>
48315
48316         * lib/glthread/threadlib.c (dummy): New declaration.
48317
48318 2009-01-25  Bruno Haible  <bruno@clisp.org>
48319
48320         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48321         multibyte characters also for the GB18030 encoding. Don't crash when
48322         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48323
48324 2009-01-25  Bruno Haible  <bruno@clisp.org>
48325
48326         Avoid redefining 'struct random_data' on OSF/1 5.1.
48327         * lib/stdlib.in.h: Include <random.h> if it exists.
48328         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48329         HAVE_RANDOM_H. Include <random.h> when testing whether
48330         'struct random_data' exists.
48331         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48332
48333 2009-01-25  Bruno Haible  <bruno@clisp.org>
48334
48335         Don't install charset.alias on MacOS X >= 10.3.
48336         * lib/localcharset.c (DARWIN7): New macro.
48337         (get_charset_aliases): Hardcode the result for Darwin7.
48338         * modules/localcharset (install-exec-local): Don't install
48339         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48340
48341 2009-01-25  Bruno Haible  <bruno@clisp.org>
48342
48343         Don't install charset.alias on mingw and Cygwin.
48344         * modules/localcharset (install-exec-local): Don't install
48345         charset.alias on mingw and Cygwin, if the file does not yet exist.
48346         The result for these platforms is hardcoded in localcharset.c.
48347
48348 2009-01-25  Bruno Haible  <bruno@clisp.org>
48349
48350         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48351         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48352         before requiring AC_USE_SYSTEM_EXTENSIONS.
48353
48354 2009-01-25  Jim Meyering  <meyering@redhat.com>
48355
48356         c-strtod: avoid warnings
48357         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48358         "assignment discards qualifiers from pointer target type" warnings.
48359
48360 2009-01-24  Bruno Haible  <bruno@clisp.org>
48361
48362         Add support for non-UTF-8 locales on MacOS X.
48363         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48364         canonical encodings. For Darwin 7 and newer, don't map traditional
48365         encodings to UTF-8.
48366         Reported by Vincent Lefevre <vincent@vinc17.org>
48367         at <http://savannah.gnu.org/bugs/?25235>.
48368
48369 2009-01-24  Bruno Haible  <bruno@clisp.org>
48370
48371         * doc/gnulib.texi (Obsolete modules): New section.
48372         Reported by Mike Frysinger <vapier@gentoo.org>.
48373
48374 2009-01-24  Bruno Haible  <bruno@clisp.org>
48375
48376         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48377         (%.dvi): New rule.
48378
48379 2009-01-24  Bruno Haible  <bruno@clisp.org>
48380
48381         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48382         Reported by Eric Blake.
48383
48384 2009-01-24  Bruno Haible  <bruno@clisp.org>
48385
48386         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48387         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48388         Reported by Gary V. Vaughan <gary@gnu.org>.
48389
48390 2009-01-24  Bruno Haible  <bruno@clisp.org>
48391
48392         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48393
48394 2009-01-23  Bruno Haible  <bruno@clisp.org>
48395
48396         Make c-strtod, c-strtold usable in libraries.
48397         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48398         (C_STRTOD): Call strdup instead of xstrdup.
48399         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48400         * modules/c-strtold (Depends-on): Likewise.
48401         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48402         * NEWS: Mention the change.
48403         Reported by Michael Gold <mgold@ncf.ca>.
48404
48405 2009-01-23  Jim Meyering  <meyering@redhat.com>
48406
48407         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48408         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48409         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48410
48411 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48412
48413         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48414         GNU CoreUtils.
48415         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48416         * modules/version-etc (Description): Update.
48417
48418 2009-01-22  Bruno Haible  <bruno@clisp.org>
48419
48420         Cache the C locale object.
48421         * lib/c-strtod.c (c_locale_cache): New variable.
48422         (c_locale): New function.
48423         (C_STRTOD): Use it, and don't call freelocale.
48424         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48425         Suggested by Paolo Bonzini.
48426
48427 2009-01-21  Bruno Haible  <bruno@clisp.org>
48428
48429         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48430         conditions other than overflow.
48431
48432 2009-01-21  Bruno Haible  <bruno@clisp.org>
48433
48434         * lib/c-strtod.c: Include errno.h.
48435         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48436         value from STRTOD_L and STRTOD.
48437
48438 2009-01-21  Bruno Haible  <bruno@clisp.org>
48439         and Jim Meyering  <meyering@redhat.com>
48440
48441         nanosleep: skip configure test (fail it) for apple universal builds
48442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48443         universal builds, assume that nanosleep does not work.
48444         * modules/nanosleep (Depends-on): Add multiarch.
48445
48446         mktime: skip configure test (fail it) for apple universal builds
48447         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48448         universal builds, assume that mktime does not work.
48449         * modules/mktime (Depends-on): Add multiarch.
48450
48451 2009-01-21  Eric Blake  <ebb9@byu.net>
48452
48453         multiarch: avoid expand-before-require warning
48454         * modules/multiarch (configure.ac): Require, rather than expand,
48455         gl_MULTIARCH.
48456         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48457         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48458         enforce that all clients require it.  Partial reversion of
48459         2008-12-29 patch.
48460
48461         error: avoid expand-before-require warning
48462         * modules/errno (configure.ac): Require, rather than expand,
48463         gl_HEADER_ERRNO_H.
48464         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48465         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48466         enforce that all clients require it.
48467
48468         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48469         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48470         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48471         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48472
48473 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48474
48475         Revert:
48476         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48477
48478         regex: do not depend on obsolete modules.
48479         * modules/regex: Remove memcmp and memmove.
48480
48481 2009-01-20  Bruno Haible  <bruno@clisp.org>
48482
48483         Make the 'link' module link on Windows NT 4.
48484         * lib/link.c (_WIN32_WINNT): Don't define.
48485         (CreateHardLinkFuncType): New type.
48486         (CreateHardLinkFunc, initialized): New variables.
48487         (initialize): New function.
48488         (link): Invoke CreateHardLink indirectly through the function pointer.
48489
48490 2009-01-20  Bruno Haible  <bruno@clisp.org>
48491
48492         Fix compilation failure on mingw.
48493         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48494
48495 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48496
48497         * doc/c-strtod.texi: Mention a couple of restrictions.
48498
48499 2009-01-20  Jim Meyering  <meyering@redhat.com>
48500
48501         gettimeofday: move more declarations out of functions
48502         * lib/gettimeofday.c: Move extern declarations of tzset and
48503         gmtime out of containing functions.  Prompted by Bruno Haible.
48504
48505 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48506
48507         regex: do not depend on obsolete modules.
48508         * modules/regex: Remove memcmp and memmove.
48509
48510 2009-01-19  Bruno Haible  <bruno@clisp.org>
48511
48512         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48513         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48514         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48515         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48516         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48517
48518 2009-01-19  Bruno Haible  <bruno@clisp.org>
48519
48520         * tests/test-link.c: Include <errno.h>.
48521         (main): Exit with code 77 when a hard link cannot be created due to
48522         the file system.
48523         * tests/test-link.sh: Skip test when a hard link cannot be created due
48524         to the file system.
48525         Suggested by Eric Blake.
48526
48527 2009-01-19  Martin Lambers  <marlam@marlam.de>
48528
48529         * modules/link-tests: New file.
48530         * tests/test-link.sh: New file.
48531         * tests/test-link.c: New file.
48532
48533 2009-01-19  Eric Blake  <ebb9@byu.net>
48534
48535         doc: mention another function added in cygwin 1.7.0
48536         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48537         Another new function in cygwin 1.7.
48538
48539 2009-01-19  Bruno Haible  <bruno@clisp.org>
48540
48541         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48542         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48543         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48544         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48545         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48546         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48547         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48548         * m4/md4.m4 (gl_MD4): Likewise.
48549         * m4/md5.m4 (gl_MD5): Likewise.
48550         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48551         * m4/sha1.m4 (gl_SHA1): Likewise.
48552         * m4/sha256.m4 (gl_SHA256): Likewise.
48553         * m4/sha512.m4 (gl_SHA512): Likewise.
48554
48555 2009-01-19  Bruno Haible  <bruno@clisp.org>
48556
48557         * modules/uniname/uniname-tests (Depends-on): Add progname.
48558         * tests/uniname/test-uninames.c: Include progname.h.
48559         (main): Call set_program_name.
48560
48561         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48562         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48563         (main): Call set_program_name.
48564
48565         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
48566         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
48567         (main): Call set_program_name.
48568
48569         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
48570         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
48571         (main): Call set_program_name.
48572
48573         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
48574         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
48575         (main): Call set_program_name.
48576
48577         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
48578         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
48579         (main): Call set_program_name.
48580
48581         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
48582         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
48583         (main): Call set_program_name.
48584
48585         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
48586         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
48587         (main): Call set_program_name.
48588
48589         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
48590         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
48591         (main): Call set_program_name.
48592
48593 2009-01-19  Eric Blake  <ebb9@byu.net>
48594
48595         test-unistd: test previous patch
48596         * tests/test-unistd.c: Test *_FILENO macros.
48597
48598         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
48599         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48600         Guarantee a definition.
48601         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
48602         * modules/unistd-safer (Depends-on): Add dependency on unistd.
48603         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
48604         * lib/dup-safer.c (STDERR_FILENO): Likewise.
48605         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48606         Likewise.
48607         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
48608         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
48609         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48610         Likewise.
48611         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
48612         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
48613         (STDERR_FILENO): Likewise.
48614         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
48615         (STDERR_FILENO): Likewise.
48616         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
48617         (STDERR_FILENO): Likewise.
48618         Reported by Elbert Pol.
48619
48620 2009-01-19  Eric Blake  <ebb9@byu.net>
48621
48622         doc: mention more functions added in cygwin 1.7.0
48623         * doc/posix-functions/abort.texi (abort): Update wording related
48624         to cygwin.
48625         * doc/posix-functions/daylight.texi (daylight): Likewise.
48626         * doc/posix-functions/optarg.texi (optarg): Likewise.
48627         * doc/posix-functions/optarg.texi (opterr): Likewise.
48628         * doc/posix-functions/optarg.texi (optind): Likewise.
48629         * doc/posix-functions/optarg.texi (optopt): Likewise.
48630         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
48631         worked in 1.5.x, and was withdrawn in 1.7.
48632         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
48633         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
48634         cygwin versions.
48635         * doc/posix-functions/perror.texi (perror): Likewise.
48636         * doc/posix-functions/printf.texi (printf): Likewise.
48637         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
48638         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
48639         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48640         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48641         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
48642         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
48643         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48644         Likewise.
48645         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48646         Likewise.
48647         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
48648         this function.
48649         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
48650         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
48651         Likewise.
48652         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
48653         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
48654         * doc/posix-functions/confstr.texi (confstr): Likewise.
48655         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
48656         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
48657         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
48658         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
48659         * doc/posix-functions/fputws.texi (fputws): Likewise.
48660         * doc/posix-functions/fwide.texi (fwide): Likewise.
48661         * doc/posix-functions/getwc.texi (getwc): Likewise.
48662         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
48663         * doc/posix-functions/putwc.texi (putwc): Likewise.
48664         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
48665         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
48666         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
48667         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
48668         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
48669         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
48670         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
48671         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
48672         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
48673         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
48674         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
48675
48676 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48677
48678         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
48679         * lib/ioctl.c: Include <sys/ioctl.h>.
48680
48681 2009-01-19  Simon Josefsson  <simon@josefsson.org>
48682
48683         * modules/getdate-tests (Depends-on): Add progname.
48684         * tests/test-getdate.c: Use progname module, to avoid link errors
48685         on non-glibc systems.
48686
48687 2009-01-18  Simon Josefsson  <simon@josefsson.org>
48688
48689         * modules/filenamecat-tests (Depends-on): Add progname.
48690         * modules/fstrcmp-tests (Depends-on): Likewise.
48691
48692         * tests/test-filenamecat.c: Use progname module, to avoid link
48693         errors on non-glibc systems.
48694         * tests/test-fstrcmp.c: Likewise.
48695
48696 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48697
48698         gettimeofday: avoid warning: nested extern declaration of 'localtime'
48699         * lib/gettimeofday.c: Move extern declaration out of function.
48700
48701 2009-01-18  Bruno Haible  <bruno@clisp.org>
48702
48703         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
48704         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
48705         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
48706
48707 2009-01-18  Bruno Haible  <bruno@clisp.org>
48708
48709         * lib/strftime.c (MEMPCPY): Remove unused macro.
48710         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
48711
48712 2009-01-18  Martin Lambers  <marlam@marlam.de>
48713
48714         New module 'link'.
48715         * lib/unistd.in.h (link): New declaration.
48716         * lib/link.c: New file.
48717         * m4/link.m4: New file.
48718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
48719         HAVE_LINK.
48720         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
48721         * modules/link: New file.
48722         * doc/posix-functions/link.texi: Mention the new module.
48723
48724 2009-01-18  Bruno Haible  <bruno@clisp.org>
48725
48726         * tests/test-avltree_list.c (main): Call set_program_name.
48727         * tests/test-avltree_oset.c (main): Likewise.
48728         * tests/test-obstack-printf.c: Include progname.h.
48729         (main): Call set_program_name.
48730         * tests/test-quotearg.c: Include progname.h.
48731         (main): Call set_program_name.
48732         * tests/test-xmemdup0.c: Include progname.h.
48733         (main): Call set_program_name.
48734
48735 2009-01-18  Bruno Haible  <bruno@clisp.org>
48736
48737         New module 'alphasort'.
48738         * lib/dirent.in.h (alphasort): New declaration.
48739         * lib/alphasort.c: New file, from glibc with modifications.
48740         * m4/alphasort.m4: New file.
48741         * modules/alphasort: New file.
48742         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
48743         HAVE_ALPHASORT.
48744         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
48745         HAVE_ALPHASORT.
48746         * doc/posix-functions/alphasort.texi: Mention the new module and the
48747         portability problems.
48748
48749 2009-01-18  Bruno Haible  <bruno@clisp.org>
48750
48751         New module 'scandir'.
48752         * lib/dirent.in.h (scandir): New declaration.
48753         * lib/scandir.c: New file, from glibc with modifications.
48754         * m4/scandir.m4: New file.
48755         * modules/scandir: New file.
48756         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
48757         HAVE_SCANDIR.
48758         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
48759         HAVE_SCANDIR.
48760         * doc/posix-functions/scandir.texi: Mention the new module and the
48761         portability problems.
48762
48763 2009-01-17  Bruno Haible  <bruno@clisp.org>
48764
48765         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48766         Update documentation.
48767         (func_remove_suffix): Escape all dots in the suffix. Update
48768         documentation.
48769         (func_filter_filelist): Update documentation.
48770         Reported by Ralf Wildenhues.
48771
48772 2009-01-17  Bruno Haible  <bruno@clisp.org>
48773
48774         * modules/dprintf-posix-tests: New file.
48775         * tests/test-dprintf-posix.sh: New file.
48776         * tests/test-dprintf-posix.c: New file.
48777
48778         New modules 'dprintf', 'dprintf-posix'.
48779         * lib/stdio.in.h (dprintf): New declaration.
48780         * lib/dprintf.c: New file.
48781         * m4/dprintf.m4: New file.
48782         * m4/dprintf-posix.m4: New file.
48783         * modules/dprintf: New file.
48784         * modules/dprintf-posix: New file.
48785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48786         HAVE_DPRINTF, REPLACE_DPRINTF.
48787         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48788         HAVE_DPRINTF, REPLACE_DPRINTF.
48789         * doc/posix-functions/dprintf.texi: Mention the new modules.
48790
48791 2009-01-17  Bruno Haible  <bruno@clisp.org>
48792
48793         * modules/vdprintf-posix-tests: New file.
48794         * tests/test-vdprintf-posix.sh: New file.
48795         * tests/test-vdprintf-posix.c: New file.
48796
48797         New modules 'vdprintf', 'vdprintf-posix'.
48798         * lib/stdio.in.h (vdprintf): New declaration.
48799         * lib/vdprintf.c: New file.
48800         * m4/vdprintf.m4: New file.
48801         * m4/vdprintf-posix.m4: New file.
48802         * modules/vdprintf: New file.
48803         * modules/vdprintf-posix: New file.
48804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48805         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48806         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48807         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48808         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48809
48810 2009-01-17  Bruno Haible  <bruno@clisp.org>
48811
48812         Fix replacement of fopen on mingw.
48813         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48814         mingw.
48815
48816 2009-01-17  Bruno Haible  <bruno@clisp.org>
48817
48818         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48819         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48820
48821 2009-01-17  Bruno Haible  <bruno@clisp.org>
48822
48823         Avoid test-fflush2.sh failure on mingw.
48824         * tests/test-fflush2.c: Include binary-io.h.
48825         (main): Put standard input into binary mode.
48826         * modules/fflush-tests (Depends-on): Add binary-io.
48827
48828 2009-01-17  Bruno Haible  <bruno@clisp.org>
48829
48830         * lib/wchar.in.h: In another particular situation, include only the
48831         system's <wchar.h> file.
48832         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48833         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48834         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48835
48836 2009-01-17  Bruno Haible  <bruno@clisp.org>
48837
48838         Support for stripping executables in --enable-relocatable.
48839         * build-aux/install-reloc: Expect one more argument, or an environment
48840         variable RELOC_STRIP_PROG. If set, strip the destination program and
48841         its wrapper.
48842         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48843         RELOC_STRIP_PROG.
48844         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48845         to set RELOCATABLE_STRIP.
48846         * NEWS: Mention the new Makefile requirement.
48847
48848 2009-01-17  Bruno Haible  <bruno@clisp.org>
48849
48850         * build-aux/install-reloc: Remove debugging information left over by
48851         C compiler on MacOS X.
48852
48853 2009-01-17  Bruno Haible  <bruno@clisp.org>
48854
48855         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48856         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48857         _NSGetExecutablePath.
48858
48859 2009-01-16  Jim Meyering  <meyering@redhat.com>
48860
48861         strerror: avoid warnings about discarding "const"
48862         * lib/strerror.c (rpl_strerror): Instead of returning a const
48863         string from each and every "case", use a variable, and add a single
48864         cast after the switch.
48865
48866 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48867
48868         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48869
48870 2009-01-16  Bruno Haible  <bruno@clisp.org>
48871
48872         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48873         array initializer syntax that also works in C++ mode.
48874         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48875
48876 2009-01-16  Jim Meyering  <meyering@redhat.com>
48877
48878         poll: suppress a warning
48879         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48880         to ignore "...unsigned expression < 0 is always false" warnings.
48881
48882 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48883
48884         poll: remove declarations of unused variables
48885         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48886         sockbuf and optlen.
48887
48888 2009-01-15  Bruno Haible  <bruno@clisp.org>
48889
48890         Make fflush-after-ungetc POSIX compliant on BSD systems.
48891         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48892         (clear_ungetc_buffer): Implement also for other systems.
48893         (rpl_fflush): On glibc systems, invoke
48894         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48895         clear_ungetc_buffer after fetching the stream's position, not before.
48896
48897 2009-01-15  Bruno Haible  <bruno@clisp.org>
48898
48899         Make fflush-after-ungetc POSIX compliant on glibc systems.
48900         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48901         after ungetc.
48902         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48903         (rpl_fflush): On glibc systems, simply call the system's fflush
48904         function after clearing the ungetc buffer.
48905         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48906         Instead, lseek only to the end of file, then use the system's fseeko
48907         for the rest. On glibc systems, reset the EOF indicator bit.
48908
48909 2009-01-15  Jim Meyering  <meyering@redhat.com>
48910
48911         openmp.m4: revert quote-adding change, for portability to older autoconf
48912         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48913         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48914         Simon Josefsson noticed the problem when using autoconf-2.61.
48915
48916 2009-01-15  Bruno Haible  <bruno@clisp.org>
48917
48918         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48919         * tests/test-fflush2.c (ASSERT): Always fail.
48920         (main): Add two tests for fflush() after ungetc(), taking into account
48921         the Austin Group's clarification.
48922         Suggested by Eric Blake.
48923
48924 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48925
48926         mktime.m4: remove K&R-style function prototypes
48927         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48928         for the Sun C++ compiler.
48929
48930 2009-01-14  Bruno Haible  <bruno@clisp.org>
48931
48932         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48933         while including <wchar.h>.
48934         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48935         the system's <wchar.h> file.
48936         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48937
48938 2009-01-14  Bruno Haible  <bruno@clisp.org>
48939
48940         * m4/csharp.m4: Don't mention gettext on the serial number line.
48941         * m4/csharpexec.m4: Likewise.
48942         * m4/eaccess.m4: Likewise.
48943         * m4/javaexec.m4: Likewise.
48944         * m4/sig_atomic_t.m4: Likewise.
48945         * m4/tmpdir.m4: Likewise.
48946         * m4/intldir.m4: Bump gettext version.
48947         * m4/lib-ld.m4: Likewise.
48948
48949 2009-01-14  Bruno Haible  <bruno@clisp.org>
48950
48951         * lib/progname.c (set_program_name): Add more comments.
48952         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48953
48954 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48955
48956         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48957         were sys/stat.h does not define it.
48958
48959 2009-01-14  Jim Meyering  <meyering@redhat.com>
48960
48961         many *.m4 files: improve m4 quoting
48962         99% of this change was performed by running the following commands:
48963         git ls-files | grep '\.m4$' | xargs perl -pi \
48964           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48965           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48966           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48967           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48968         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48969         The remainder were to add Copyright dates, increment serial numbers,
48970         undo some changes in comments, exclude m4/intl.m4, and add quotes
48971         around the "1" in ",1" where the unusual spacing prohibited the
48972         above regexps from doing the job.  For more details, see
48973         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48974         * m4/acl.m4: Modified.
48975         * m4/afs.m4: Likewise.
48976         * m4/alloca.m4: Likewise.
48977         * m4/argp.m4: Likewise.
48978         * m4/argz.m4: Likewise.
48979         * m4/atexit.m4: Likewise.
48980         * m4/bison-i18n.m4: Likewise.
48981         * m4/bison.m4: Likewise.
48982         * m4/byteswap.m4: Likewise.
48983         * m4/c-stack.m4: Likewise.
48984         * m4/c-strtod.m4: Likewise.
48985         * m4/calloc.m4: Likewise.
48986         * m4/canonicalize-lgpl.m4: Likewise.
48987         * m4/chown.m4: Likewise.
48988         * m4/clock_time.m4: Likewise.
48989         * m4/codeset.m4: Likewise.
48990         * m4/copy-file.m4: Likewise.
48991         * m4/csharp.m4: Likewise.
48992         * m4/csharpcomp.m4: Likewise.
48993         * m4/csharpexec.m4: Likewise.
48994         * m4/d-ino.m4: Likewise.
48995         * m4/d-type.m4: Likewise.
48996         * m4/dirfd.m4: Likewise.
48997         * m4/double-slash-root.m4: Likewise.
48998         * m4/eaccess.m4: Likewise.
48999         * m4/eealloc.m4: Likewise.
49000         * m4/environ.m4: Likewise.
49001         * m4/errno_h.m4: Likewise.
49002         * m4/euidaccess.m4: Likewise.
49003         * m4/execute.m4: Likewise.
49004         * m4/fatal-signal.m4: Likewise.
49005         * m4/fchdir.m4: Likewise.
49006         * m4/fcntl_h.m4: Likewise.
49007         * m4/fileblocks.m4: Likewise.
49008         * m4/filenamecat.m4: Likewise.
49009         * m4/findprog.m4: Likewise.
49010         * m4/flexmember.m4: Likewise.
49011         * m4/fnmatch.m4: Likewise.
49012         * m4/fopen.m4: Likewise.
49013         * m4/fpending.m4: Likewise.
49014         * m4/fprintf-posix.m4: Likewise.
49015         * m4/free.m4: Likewise.
49016         * m4/frexp.m4: Likewise.
49017         * m4/frexpl.m4: Likewise.
49018         * m4/fsusage.m4: Likewise.
49019         * m4/ftruncate.m4: Likewise.
49020         * m4/gc-camellia.m4: Likewise.
49021         * m4/gc-random.m4: Likewise.
49022         * m4/gc.m4: Likewise.
49023         * m4/getaddrinfo.m4: Likewise.
49024         * m4/getcwd-abort-bug.m4: Likewise.
49025         * m4/getcwd-path-max.m4: Likewise.
49026         * m4/getdate.m4: Likewise.
49027         * m4/getdomainname.m4: Likewise.
49028         * m4/getgroups.m4: Likewise.
49029         * m4/gethostname.m4: Likewise.
49030         * m4/gethrxtime.m4: Likewise.
49031         * m4/getline.m4: Likewise.
49032         * m4/getloadavg.m4: Likewise.
49033         * m4/getndelim2.m4: Likewise.
49034         * m4/getpass.m4: Likewise.
49035         * m4/gettext.m4: Likewise.
49036         * m4/gettime.m4: Likewise.
49037         * m4/gettimeofday.m4: Likewise.
49038         * m4/gnulib-common.m4: Likewise.
49039         * m4/group-member.m4: Likewise.
49040         * m4/host-os.m4: Likewise.
49041         * m4/iconv.m4: Likewise.
49042         * m4/iconv_open.m4: Likewise.
49043         * m4/inet_ntop.m4: Likewise.
49044         * m4/inet_pton.m4: Likewise.
49045         * m4/inline.m4: Likewise.
49046         * m4/intldir.m4: Likewise.
49047         * m4/intlmacosx.m4: Likewise.
49048         * m4/intmax.m4: Likewise.
49049         * m4/intmax_t.m4: Likewise.
49050         * m4/inttypes.m4: Likewise.
49051         * m4/inttypes_h.m4: Likewise.
49052         * m4/inttypes-pri.m4: Likewise.
49053         * m4/isapipe.m4: Likewise.
49054         * m4/isnand.m4: Likewise.
49055         * m4/isnanf.m4: Likewise.
49056         * m4/isnanl.m4: Likewise.
49057         * m4/javacomp.m4: Likewise.
49058         * m4/javaexec.m4: Likewise.
49059         * m4/jm-winsz1.m4: Likewise.
49060         * m4/jm-winsz2.m4: Likewise.
49061         * m4/lchown.m4: Likewise.
49062         * m4/lcmessage.m4: Likewise.
49063         * m4/ldexpl.m4: Likewise.
49064         * m4/lib-ld.m4: Likewise.
49065         * m4/lib-link.m4: Likewise.
49066         * m4/libsigsegv.m4: Likewise.
49067         * m4/link-follow.m4: Likewise.
49068         * m4/localcharset.m4: Likewise.
49069         * m4/locale-fr.m4: Likewise.
49070         * m4/locale-ja.m4: Likewise.
49071         * m4/locale-tr.m4: Likewise.
49072         * m4/locale-zh.m4: Likewise.
49073         * m4/lock.m4: Likewise.
49074         * m4/longlong.m4: Likewise.
49075         * m4/ls-mntd-fs.m4: Likewise.
49076         * m4/lstat.m4: Likewise.
49077         * m4/malloc.m4: Likewise.
49078         * m4/mathl.m4: Likewise.
49079         * m4/mbrtowc.m4: Likewise.
49080         * m4/mbstate_t.m4: Likewise.
49081         * m4/mbswidth.m4: Likewise.
49082         * m4/memchr.m4: Likewise.
49083         * m4/memcmp.m4: Likewise.
49084         * m4/memcpy.m4: Likewise.
49085         * m4/memmem.m4: Likewise.
49086         * m4/memmove.m4: Likewise.
49087         * m4/mempcpy.m4: Likewise.
49088         * m4/memrchr.m4: Likewise.
49089         * m4/memset.m4: Likewise.
49090         * m4/minmax.m4: Likewise.
49091         * m4/mkdir-slash.m4: Likewise.
49092         * m4/mkdtemp.m4: Likewise.
49093         * m4/mktime.m4: Likewise.
49094         * m4/mmap-anon.m4: Likewise.
49095         * m4/mountlist.m4: Likewise.
49096         * m4/nanosleep.m4: Likewise.
49097         * m4/nls.m4: Likewise.
49098         * m4/nocrash.m4: Likewise.
49099         * m4/open.m4: Likewise.
49100         * m4/openat.m4: Likewise.
49101         * m4/openmp.m4: Likewise.
49102         * m4/pathmax.m4: Likewise.
49103         * m4/perl.m4: Likewise.
49104         * m4/physmem.m4: Likewise.
49105         * m4/pipe.m4: Likewise.
49106         * m4/po.m4: Likewise.
49107         * m4/poll.m4: Likewise.
49108         * m4/posixtm.m4: Likewise.
49109         * m4/posixver.m4: Likewise.
49110         * m4/printf-frexp.m4: Likewise.
49111         * m4/printf-frexpl.m4: Likewise.
49112         * m4/printf-posix.m4: Likewise.
49113         * m4/printf-posix-rpl.m4: Likewise.
49114         * m4/printf.m4: Likewise.
49115         * m4/progtest.m4: Likewise.
49116         * m4/putenv.m4: Likewise.
49117         * m4/readline.m4: Likewise.
49118         * m4/readlink.m4: Likewise.
49119         * m4/readutmp.m4: Likewise.
49120         * m4/realloc.m4: Likewise.
49121         * m4/regex.m4: Likewise.
49122         * m4/relocatable.m4: Likewise.
49123         * m4/relocatable-lib.m4: Likewise.
49124         * m4/rename-dest-slash.m4: Likewise.
49125         * m4/rename.m4: Likewise.
49126         * m4/rmdir-errno.m4: Likewise.
49127         * m4/rmdir.m4: Likewise.
49128         * m4/roundf.m4: Likewise.
49129         * m4/roundl.m4: Likewise.
49130         * m4/rpmatch.m4: Likewise.
49131         * m4/save-cwd.m4: Likewise.
49132         * m4/selinux-selinux-h.m4: Likewise.
49133         * m4/setenv.m4: Likewise.
49134         * m4/settime.m4: Likewise.
49135         * m4/sig2str.m4: Likewise.
49136         * m4/sig_atomic_t.m4: Likewise.
49137         * m4/signalblocking.m4: Likewise.
49138         * m4/signbit.m4: Likewise.
49139         * m4/sigpipe.m4: Likewise.
49140         * m4/sockets.m4: Likewise.
49141         * m4/sockpfaf.m4: Likewise.
49142         * m4/st_dm_mode.m4: Likewise.
49143         * m4/stat-time.m4: Likewise.
49144         * m4/stdbool.m4: Likewise.
49145         * m4/stdint.m4: Likewise.
49146         * m4/stdint_h.m4: Likewise.
49147         * m4/stpcpy.m4: Likewise.
49148         * m4/stpncpy.m4: Likewise.
49149         * m4/strcase.m4: Likewise.
49150         * m4/strchrnul.m4: Likewise.
49151         * m4/strcspn.m4: Likewise.
49152         * m4/strdup.m4: Likewise.
49153         * m4/strftime.m4: Likewise.
49154         * m4/strndup.m4: Likewise.
49155         * m4/strnlen.m4: Likewise.
49156         * m4/strpbrk.m4: Likewise.
49157         * m4/strptime.m4: Likewise.
49158         * m4/strsep.m4: Likewise.
49159         * m4/strtod.m4: Likewise.
49160         * m4/strtoimax.m4: Likewise.
49161         * m4/strtok_r.m4: Likewise.
49162         * m4/strtol.m4: Likewise.
49163         * m4/strtoll.m4: Likewise.
49164         * m4/strtoul.m4: Likewise.
49165         * m4/strtoull.m4: Likewise.
49166         * m4/strtoumax.m4: Likewise.
49167         * m4/strverscmp.m4: Likewise.
49168         * m4/threadlib.m4: Likewise.
49169         * m4/timegm.m4: Likewise.
49170         * m4/tm_gmtoff.m4: Likewise.
49171         * m4/tmpdir.m4: Likewise.
49172         * m4/tmpfile.m4: Likewise.
49173         * m4/tzset.m4: Likewise.
49174         * m4/uintmax_t.m4: Likewise.
49175         * m4/unlinkdir.m4: Likewise.
49176         * m4/unlocked-io.m4: Likewise.
49177         * m4/uptime.m4: Likewise.
49178         * m4/userspec.m4: Likewise.
49179         * m4/utimbuf.m4: Likewise.
49180         * m4/utime.m4: Likewise.
49181         * m4/utimes-null.m4: Likewise.
49182         * m4/utimes.m4: Likewise.
49183         * m4/vararrays.m4: Likewise.
49184         * m4/vasnprintf.m4: Likewise.
49185         * m4/vfprintf-posix.m4: Likewise.
49186         * m4/vprintf-posix.m4: Likewise.
49187         * m4/wait-process.m4: Likewise.
49188         * m4/wchar_t.m4: Likewise.
49189         * m4/wint_t.m4: Likewise.
49190         * m4/write-any-file.m4: Likewise.
49191         * m4/yield.m4: Likewise.
49192
49193 2009-01-13  Bruno Haible  <bruno@clisp.org>
49194
49195         Avoid test-copy-file.sh failures when ACL support insufficient.
49196         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49197         TESTS_ENVIRONMENT.
49198         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49199         Reported by Jim Meyering.
49200
49201 2009-01-13  Bruno Haible  <bruno@clisp.org>
49202
49203         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49204         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49205         * modules/unistdio/u8-printf-parse (Files): Likewise.
49206         * modules/unistdio/u32-printf-parse (Files): Likewise.
49207         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49208
49209 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49210
49211         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49212         and m4/inttypes_h.m4 too.
49213
49214 2009-01-12  Eric Blake  <ebb9@byu.net>
49215
49216         tests: IRIX 6.2 cc can't compile -0.0 into .data
49217         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49218         rather than at compile-time.
49219         * tests/test-floorl.c (minus_zero): Likewise.
49220         * tests/test-frexpl.c (minus_zero): Likewise.
49221         * tests/test-isnan.c (minus_zerol): Likewise.
49222         * tests/test-isnanl.h (minus_zero): Likewise.
49223         * tests/test-ldexpl.c (minus_zero): Likewise.
49224         * tests/test-roundl.c (minus_zero): Likewise.
49225         * tests/test-signbit.c (minus_zerol): Likewise.
49226         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49227         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49228         * tests/test-truncl.c (minus_zero): Likewise.
49229         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49230         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49231         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49232
49233 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49234
49235         regex: fix glibc bug 9697
49236         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
49237         handling.
49238
49239 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49240
49241         regex: fix glibc bug 697
49242         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
49243         being NULL also if there are no backreferences.
49244
49245 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49246
49247         regex: merge glibc changes
49248         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
49249         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
49250         re_string_skip_chars, re_string_reconstruct): Likewise.
49251         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
49252
49253 2009-01-07  Jim Meyering  <meyering@redhat.com>
49254
49255         poll: filter through cppi
49256         * lib/poll.c: Indent cpp directives to reflect nesting.
49257
49258 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49259
49260         poll: don't return uninitialized
49261         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49262
49263 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49264
49265         avoid compile failure on AIX 6.1
49266         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49267         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49268
49269 2009-01-04  Jim Meyering  <meyering@redhat.com>
49270
49271         remove duplicate inclusion of <stdio.h>
49272         * tests/test-fprintf-posix.c: Likewise.
49273         * tests/test-printf-posix.c: Likewise.
49274         * tests/test-snprintf-posix.c: Likewise.
49275         * tests/test-sprintf-posix.c: Likewise.
49276         * tests/test-vasprintf-posix.c: Likewise.
49277         * tests/test-vfprintf-posix.c: Likewise.
49278         * tests/test-vprintf-posix.c: Likewise.
49279         * tests/test-vsnprintf-posix.c: Likewise.
49280         * tests/test-vsprintf-posix.c: Likewise.
49281
49282 2009-01-03  Jim Meyering  <meyering@redhat.com>
49283
49284         gnulib-tool: fix sed-based filtering
49285         * gnulib-tool (func_filter_filelist): Remove extra backslash
49286         in sed_fff_filter definition.
49287
49288 2009-01-02  Jim Meyering  <meyering@redhat.com>
49289
49290         strftime: avoid compilation failure on Solaris 2.6
49291         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49292         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49293         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49294         be available.  Reported by Tom G. Christensen.  Details in
49295         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49296
49297 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49298             Bruno Haible  <bruno@clisp.org>
49299
49300         Speed up gnulib-tool by doing more string processing through shell
49301         built-ins.
49302         * gnulib-tool (fast_func_append): New variable.
49303         (func_remove_prefix, func_remove_suffix): New functions.
49304         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49305         (func_filter_filelist): New function.
49306         (func_get_dependencies): Use func_remove_suffix instead of sed.
49307         (func_get_automake_snippet): Use func_filter_filelist instead of a
49308         subshell and sed invocation.
49309
49310 2009-01-01  Bruno Haible  <bruno@clisp.org>
49311
49312         Fix a security bug.
49313         * gnulib-tool (func_import, import, update): Don't allow the characters
49314         '"', '$', '`', '\' in macro arguments that become part of commands that
49315         are evaluated.
49316
49317 2009-01-01  Bruno Haible  <bruno@clisp.org>
49318
49319         * gnulib-tool (func_reset_sigpipe): Add more comments.
49320
49321 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49322
49323         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49324         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49325         already know the answer.
49326
49327 2009-01-01  Jim Meyering  <meyering@redhat.com>
49328
49329         * lib/version-etc.c (version_etc_va): Update copyright year.
49330
49331 2008-12-30  Bruno Haible  <bruno@clisp.org>
49332
49333         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49334         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49335         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49336
49337 2008-12-29  Eric Blake  <ebb9@byu.net>
49338
49339         multiarch: avoid autoconf AC_REQUIRE bug
49340         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49341         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49342         2.63 and older.
49343         Reported by Bruno Haible, and analyzed in
49344         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49345
49346 2008-12-29  Bruno Haible  <bruno@clisp.org>
49347
49348         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49349         files in subdirectories correctly.
49350         Reported by Ralf Wildenhues.
49351
49352 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49353
49354         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49355         rather than 'join FILE -', for Solaris join.
49356
49357 2008-12-29  Bruno Haible  <bruno@clisp.org>
49358
49359         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49360         quoting.
49361         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49362         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49363         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49364         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49365         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49366         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49367         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49368         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49369         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49370         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49371         * m4/nls.m4 (AM_NLS): Likewise.
49372         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49373         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49374         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49375         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49376         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49377         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49378         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49379         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49380         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49381         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49382         * m4/xsize.m4 (gl_XSIZE): Likewise.
49383         Suggested by Jim Meyering.
49384
49385 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49386
49387         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49388         * lib/parse-duration.c: use a switch instead of cascading if's.
49389
49390 2008-12-29  Eric Blake  <ebb9@byu.net>
49391
49392         wchar.h: supply WEOF on Irix 5.3
49393         * lib/wchar.in.h (wint_t): Also supply WEOF.
49394         * lib/wctype.in.h (wint_t): Likewise.
49395         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49396         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49397         Reported by Tom G. Christensen.
49398
49399 2008-12-26  Bruno Haible  <bruno@clisp.org>
49400
49401         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49402         i486, i586, i686.
49403
49404 2008-12-26  Bruno Haible  <bruno@clisp.org>
49405
49406         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49407
49408 2008-12-26  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49411         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49412         not __STDC_CONSTANT_MACROS.
49413         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49414
49415 2008-12-25  Bruno Haible  <bruno@clisp.org>
49416
49417         Add support for universal builds to vasnprintf.
49418         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49419         universal builds, guess no.
49420         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49421         * modules/vasprintf-posix (Depends-on): Likewise.
49422         * modules/fprintf-posix (Depends-on): Likewise.
49423         * modules/vfprintf-posix (Depends-on): Likewise.
49424         * modules/snprintf-posix (Depends-on): Likewise.
49425         * modules/vsnprintf-posix (Depends-on): Likewise.
49426         * modules/sprintf-posix (Depends-on): Likewise.
49427         * modules/vsprintf-posix (Depends-on): Likewise.
49428         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49429         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49430         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49431         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49432         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49433         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49434         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49435
49436         Add support for universal builds to <inttypes.h>.
49437         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49438         _SCNu64_PREFIX): In Apple
49439         universal builds, define directly, using _LP64.
49440         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49441         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49442         * modules/inttypes (Depends-on): Add multiarch.
49443         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49444
49445         Add support for universal builds to <stdint.h>.
49446         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49447         universal builds, define directly, using _LP64.
49448         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49449         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49450         and size_t.
49451         * modules/stdint (Depends-on): Add multiarch.
49452         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49453
49454         New module 'multiarch'.
49455         * modules/multiarch: New file.
49456         * m4/multiarch.m4: New file.
49457
49458 2008-12-25  Bruno Haible  <bruno@clisp.org>
49459
49460         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49461
49462 2008-12-25  Bruno Haible  <bruno@clisp.org>
49463
49464         * modules/btowc (License): Relicense under LGPLv2+.
49465         * modules/mbsinit (License): Likewise.
49466         * modules/mbrtowc (License): Likewise.
49467         * modules/wcrtomb (License): Likewise.
49468         * modules/streq (License): Likewise.
49469         Reported by David Lutterkort <lutter@redhat.com>.
49470
49471 2008-12-23  Bruno Haible  <bruno@clisp.org>
49472
49473         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49474
49475 2008-12-23  Bruno Haible  <bruno@clisp.org>
49476
49477         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49478         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49479         GETADDRINFO_LIB, not in LIBS.
49480         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49481         * modules/canon-host (Link): Likewise.
49482         * NEWS: Mention the change.
49483         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49484         GETADDRINFO_LIB.
49485
49486 2008-12-22  Bruno Haible  <bruno@clisp.org>
49487
49488         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49489         * doc/posix-functions/iswalpha_l.texi: Likewise.
49490         * doc/posix-functions/iswblank_l.texi: Likewise.
49491         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49492         * doc/posix-functions/iswctype_l.texi: Likewise.
49493         * doc/posix-functions/iswdigit_l.texi: Likewise.
49494         * doc/posix-functions/iswgraph_l.texi: Likewise.
49495         * doc/posix-functions/iswlower_l.texi: Likewise.
49496         * doc/posix-functions/iswprint_l.texi: Likewise.
49497         * doc/posix-functions/iswpunct_l.texi: Likewise.
49498         * doc/posix-functions/iswspace_l.texi: Likewise.
49499         * doc/posix-functions/iswupper_l.texi: Likewise.
49500         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49501         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49502         * doc/posix-functions/open_wmemstream.texi: Likewise.
49503         * doc/posix-functions/swscanf.texi: Likewise.
49504         * doc/posix-functions/towctrans_l.texi: Likewise.
49505         * doc/posix-functions/towlower.texi: Likewise.
49506         * doc/posix-functions/towlower_l.texi: Likewise.
49507         * doc/posix-functions/towupper.texi: Likewise.
49508         * doc/posix-functions/towupper_l.texi: Likewise.
49509         * doc/posix-functions/vfwprintf.texi: Likewise.
49510         * doc/posix-functions/vfwscanf.texi: Likewise.
49511         * doc/posix-functions/vswscanf.texi: Likewise.
49512         * doc/posix-functions/vwprintf.texi: Likewise.
49513         * doc/posix-functions/vwscanf.texi: Likewise.
49514         * doc/posix-functions/wcpcpy.texi: Likewise.
49515         * doc/posix-functions/wcpncpy.texi: Likewise.
49516         * doc/posix-functions/wcscasecmp.texi: Likewise.
49517         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49518         * doc/posix-functions/wcscoll_l.texi: Likewise.
49519         * doc/posix-functions/wcsdup.texi: Likewise.
49520         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49521         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49522         * doc/posix-functions/wcsnlen.texi: Likewise.
49523         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49524         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49525         * doc/posix-functions/wctrans_l.texi: Likewise.
49526         * doc/posix-functions/wctype_l.texi: Likewise.
49527         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49528         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49529         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49530         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49531         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49532         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49533         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49534         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49535         * doc/glibc-functions/wcschrnul.texi: Likewise.
49536         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49537         * doc/glibc-functions/wcstod_l.texi: Likewise.
49538         * doc/glibc-functions/wcstof_l.texi: Likewise.
49539         * doc/glibc-functions/wcstol_l.texi: Likewise.
49540         * doc/glibc-functions/wcstold_l.texi: Likewise.
49541         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49542         * doc/glibc-functions/wcstoq.texi: Likewise.
49543         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49544         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49545         * doc/glibc-functions/wcstouq.texi: Likewise.
49546         * doc/glibc-functions/wmempcpy.texi: Likewise.
49547
49548 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49549             Eric Blake  <ebb9@byu.net>
49550             Paolo Bonzini  <bonzini@gnu.org>
49551             Bruno Haible  <bruno@clisp.org>
49552
49553         Make c-stack work on Haiku.
49554         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49555         (c_stack_action): Use SA_ONSTACK flag.
49556
49557 2008-12-22  Bruno Haible  <bruno@clisp.org>
49558
49559         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49560
49561 2008-12-22  Bruno Haible  <bruno@clisp.org>
49562
49563         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
49564         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
49565         being overridden.
49566         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
49567         New macros.
49568         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
49569         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
49570         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
49571         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
49572
49573 2008-12-22  Bruno Haible  <bruno@clisp.org>
49574
49575         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
49576         from test code.
49577
49578 2008-12-22  Eric Blake  <ebb9@byu.net>
49579
49580         Avoid gcc warnings on cygwin.
49581         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
49582         Avoid unused variable.
49583         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
49584         Likewise.
49585
49586 2008-12-22  Bruno Haible  <bruno@clisp.org>
49587
49588         Remove HAVE_MBRTOWC conditionals.
49589         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
49590         (mbscasecmp): Assume mbrtowc function.
49591         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
49592         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
49593         * lib/mbschr.c: Include mbuiter.h unconditionally.
49594         (mbschr): Assume mbrtowc function.
49595         * lib/mbscspn.c: Include mbuiter.h unconditionally.
49596         (mbscspn): Assume mbrtowc function.
49597         * lib/mbslen.c: Include mbuiter.h unconditionally.
49598         (mbslen): Assume mbrtowc function.
49599         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
49600         (mbsncasecmp): Assume mbrtowc function.
49601         * lib/mbsnlen.c: Include mbiter.h unconditionally.
49602         (mbsnlen): Assume mbrtowc function.
49603         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
49604         (mbspbrk): Assume mbrtowc function.
49605         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
49606         (mbspcasecmp): Assume mbrtowc function.
49607         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
49608         (mbsrchr): Assume mbrtowc function.
49609         * lib/mbssep.c: Include mbuiter.h unconditionally.
49610         (mbssep): Assume mbrtowc function.
49611         * lib/mbsspn.c: Include mbuiter.h unconditionally.
49612         (mbsspn): Assume mbrtowc function.
49613         * lib/mbsstr.c: Include mbuiter.h unconditionally.
49614         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
49615         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
49616         (mbstok_r): Assume mbrtowc function.
49617         * lib/propername.c: Include mbuiter.h unconditionally.
49618         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
49619         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
49620         (trim2): Assume mbrtowc function.
49621         * lib/mbswidth.c (mbsinit): Remove fallback definition.
49622         (mbsnwidth): Assume mbrtowc function.
49623         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
49624         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
49625         fallback definitions.
49626         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
49627
49628 2008-12-22  Bruno Haible  <bruno@clisp.org>
49629
49630         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
49631
49632 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
49633
49634         * modules/regex: Request emulations for the mb*/wc* functions we need.
49635         * m4/regex.m4: Don't look for those functions here.
49636         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
49637
49638 2008-12-22  Bruno Haible  <bruno@clisp.org>
49639
49640         * modules/fnmatch (Depends-on): Remove duplicated dependency.
49641
49642 2008-12-21  Bruno Haible  <bruno@clisp.org>
49643
49644         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
49645         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
49646         (Include): Remove conditionalization.
49647         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
49648         (Include): Remove conditionalization.
49649         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
49650         (Include): Remove conditionalization.
49651         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
49652         * m4/mbfile.m4 (gl_MBFILE): Likewise.
49653         * NEWS: Mention the change.
49654         Reported by Alan Hourihane <alanh@fairlite.co.uk>
49655         via Sergey Poznyakoff <gray@gnu.org.ua>.
49656
49657 2008-12-21  Bruno Haible  <bruno@clisp.org>
49658
49659         * MODULES.html.sh (Extended multibyte and wide character utilities
49660         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
49661         wcrtomb, wcsrtombs.
49662         (Support for systems lacking POSIX:2008): Add accept, bind, close,
49663         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
49664         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
49665         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
49666
49667 2008-12-21  Bruno Haible  <bruno@clisp.org>
49668
49669         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
49670
49671 2008-12-21  Bruno Haible  <bruno@clisp.org>
49672
49673         * modules/wcsnrtombs-tests: New file.
49674         * tests/test-wcsnrtombs1.sh: New file.
49675         * tests/test-wcsnrtombs2.sh: New file.
49676         * tests/test-wcsnrtombs3.sh: New file.
49677         * tests/test-wcsnrtombs4.sh: New file.
49678         * tests/test-wcsnrtombs.c: New file.
49679
49680         New module 'wcsnrtombs'.
49681         * lib/wchar.in.h (wcsnrtombs): New declaration.
49682         * lib/wcsnrtombs.c: New file.
49683         * lib/wcsrtombs-state.c: New file.
49684         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
49685         (internal_state): Remove variable.
49686         * m4/wcsnrtombs.m4: New file.
49687         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
49688         compilation units.
49689         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
49690         HAVE_WCSNRTOMBS.
49691         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
49692         HAVE_WCSNRTOMBS.
49693         * modules/wcsnrtombs: New file.
49694         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
49695         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
49696
49697 2008-12-21  Bruno Haible  <bruno@clisp.org>
49698
49699         * modules/wcsrtombs-tests: New file.
49700         * tests/test-wcsrtombs1.sh: New file.
49701         * tests/test-wcsrtombs2.sh: New file.
49702         * tests/test-wcsrtombs3.sh: New file.
49703         * tests/test-wcsrtombs4.sh: New file.
49704         * tests/test-wcsrtombs.c: New file.
49705
49706         New module 'wcsrtombs'.
49707         * lib/wchar.in.h (wcsrtombs): New declaration.
49708         * lib/wcsrtombs.c: New file.
49709         * m4/wcsrtombs.m4: New file.
49710         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
49711         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49712         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
49713         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49714         * modules/wcsrtombs: New file.
49715         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
49716         bugs.
49717
49718 2008-12-21  Bruno Haible  <bruno@clisp.org>
49719
49720         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
49721         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
49722         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
49723         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
49724         if not correct.
49725         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
49726         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
49727         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49728         m4/locale-zh.m4, m4/codeset.m4.
49729         * doc/posix-functions/wcrtomb.texi: Document the bug.
49730
49731 2008-12-21  Bruno Haible  <bruno@clisp.org>
49732
49733         Work around a btowc() bug on IRIX 6.5.
49734         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
49735         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
49736         REPLACE_WTOBC if not.
49737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
49738         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
49739         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
49740
49741 2008-12-21  Bruno Haible  <bruno@clisp.org>
49742
49743         * modules/wcrtomb-tests: New file.
49744         * tests/test-wcrtomb.sh: New file.
49745         * tests/test-wcrtomb.c: New file.
49746
49747         New module 'wcrtomb'.
49748         * lib/wchar.in.h (wcrtomb): New declaration.
49749         * lib/wcrtomb.c: New file.
49750         * m4/wcrtomb.m4: New file.
49751         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
49752         HAVE_WCRTOMB.
49753         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
49754         HAVE_WCRTOMB.
49755         * modules/wcrtomb: New file.
49756         * doc/posix-functions/wcrtomb.texi: Mention the new module.
49757
49758 2008-12-21  Bruno Haible  <bruno@clisp.org>
49759
49760         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
49761         * modules/mbsrtowcs (Files): Likewise.
49762         * modules/wctob (Files): Likewise.
49763         * modules/c-strcase-tests (Files): Likewise.
49764         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
49765         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49766         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49767         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49768         * modules/vasnprintf-posix-tests (Files): Likewise.
49769
49770 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49771
49772         gitlog-to-changelog: pass all command-line arguments to git-log
49773         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49774         it is sometimes convenient to filter the commits in various ways.
49775         gitlog-to-changelog only allows --since to specify a start date,
49776         but git-log itself supports many other filtering mechanisms.
49777         At the moment, I want to filter by branch name.  Rather than
49778         adding a --branch option to gitlog-to-changelog, it seems more
49779         flexible to simply pass all options directly to git-log and let
49780         git do the work.  Notice that this effectively makes --since a
49781         redundant option for gitlog-to-changelog, but removing it would
49782         require current usage to change since calls would then require
49783         an additional '--'.
49784
49785 2008-12-21  Bruno Haible  <bruno@clisp.org>
49786
49787         * modules/mbsnrtowcs-tests: New file.
49788         * tests/test-mbsnrtowcs1.sh: New file.
49789         * tests/test-mbsnrtowcs2.sh: New file.
49790         * tests/test-mbsnrtowcs3.sh: New file.
49791         * tests/test-mbsnrtowcs4.sh: New file.
49792         * tests/test-mbsnrtowcs.c: New file.
49793
49794         New module 'mbsnrtowcs'.
49795         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49796         * lib/mbsnrtowcs.c: New file.
49797         * lib/mbsrtowcs-state.c: New file.
49798         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49799         (internal_state): Remove variable.
49800         * m4/mbsnrtowcs.m4: New file.
49801         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49802         compilation units.
49803         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49804         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49805         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49806         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49807         * modules/mbsnrtowcs: New file.
49808         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49809         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49810         portability problem.
49811
49812 2008-12-21  Bruno Haible  <bruno@clisp.org>
49813
49814         Work around mbsrtowcs bug.
49815         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49816         (gl_FUNC_MBSRTOWCS): Invoke it.
49817         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49818         m4/locale-zh.m4.
49819         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49820
49821 2008-12-21  Bruno Haible  <bruno@clisp.org>
49822
49823         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49824
49825 2008-12-21  Bruno Haible  <bruno@clisp.org>
49826
49827         Update doc for AIX.
49828         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49829         16-bit wchar_t type.
49830         * doc/posix-functions/btowc.texi: Likewise.
49831         * doc/posix-functions/fgetwc.texi: Likewise.
49832         * doc/posix-functions/fgetws.texi: Likewise.
49833         * doc/posix-functions/fputwc.texi: Likewise.
49834         * doc/posix-functions/fputws.texi: Likewise.
49835         * doc/posix-functions/fwide.texi: Likewise.
49836         * doc/posix-functions/fwprintf.texi: Likewise.
49837         * doc/posix-functions/fwscanf.texi: Likewise.
49838         * doc/posix-functions/getwchar.texi: Likewise.
49839         * doc/posix-functions/getwc.texi: Likewise.
49840         * doc/posix-functions/iswalnum.texi: Likewise.
49841         * doc/posix-functions/iswalpha.texi: Likewise.
49842         * doc/posix-functions/iswblank.texi: Likewise.
49843         * doc/posix-functions/iswcntrl.texi: Likewise.
49844         * doc/posix-functions/iswctype.texi: Likewise.
49845         * doc/posix-functions/iswdigit.texi: Likewise.
49846         * doc/posix-functions/iswgraph.texi: Likewise.
49847         * doc/posix-functions/iswlower.texi: Likewise.
49848         * doc/posix-functions/iswprint.texi: Likewise.
49849         * doc/posix-functions/iswpunct.texi: Likewise.
49850         * doc/posix-functions/iswspace.texi: Likewise.
49851         * doc/posix-functions/iswupper.texi: Likewise.
49852         * doc/posix-functions/iswxdigit.texi: Likewise.
49853         * doc/posix-functions/mbrtowc.texi: Likewise.
49854         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49855         * doc/posix-functions/mbstowcs.texi: Likewise.
49856         * doc/posix-functions/mbtowc.texi: Likewise.
49857         * doc/posix-functions/putwchar.texi: Likewise.
49858         * doc/posix-functions/putwc.texi: Likewise.
49859         * doc/posix-functions/swprintf.texi: Likewise.
49860         * doc/posix-functions/tolower.texi: Likewise.
49861         * doc/posix-functions/toupper.texi: Likewise.
49862         * doc/posix-functions/towctrans.texi: Likewise.
49863         * doc/posix-functions/ungetwc.texi: Likewise.
49864         * doc/posix-functions/vswprintf.texi: Likewise.
49865         * doc/posix-functions/wcrtomb.texi: Likewise.
49866         * doc/posix-functions/wcscat.texi: Likewise.
49867         * doc/posix-functions/wcschr.texi: Likewise.
49868         * doc/posix-functions/wcscmp.texi: Likewise.
49869         * doc/posix-functions/wcscoll.texi: Likewise.
49870         * doc/posix-functions/wcscpy.texi: Likewise.
49871         * doc/posix-functions/wcscspn.texi: Likewise.
49872         * doc/posix-functions/wcsftime.texi: Likewise.
49873         * doc/posix-functions/wcslen.texi: Likewise.
49874         * doc/posix-functions/wcsncat.texi: Likewise.
49875         * doc/posix-functions/wcsncmp.texi: Likewise.
49876         * doc/posix-functions/wcsncpy.texi: Likewise.
49877         * doc/posix-functions/wcspbrk.texi: Likewise.
49878         * doc/posix-functions/wcsrchr.texi: Likewise.
49879         * doc/posix-functions/wcsrtombs.texi: Likewise.
49880         * doc/posix-functions/wcsspn.texi: Likewise.
49881         * doc/posix-functions/wcsstr.texi: Likewise.
49882         * doc/posix-functions/wcstod.texi: Likewise.
49883         * doc/posix-functions/wcstof.texi: Likewise.
49884         * doc/posix-functions/wcstoimax.texi: Likewise.
49885         * doc/posix-functions/wcstok.texi: Likewise.
49886         * doc/posix-functions/wcstold.texi: Likewise.
49887         * doc/posix-functions/wcstoll.texi: Likewise.
49888         * doc/posix-functions/wcstol.texi: Likewise.
49889         * doc/posix-functions/wcstombs.texi: Likewise.
49890         * doc/posix-functions/wcstoull.texi: Likewise.
49891         * doc/posix-functions/wcstoul.texi: Likewise.
49892         * doc/posix-functions/wcstoumax.texi: Likewise.
49893         * doc/posix-functions/wcswidth.texi: Likewise.
49894         * doc/posix-functions/wcsxfrm.texi: Likewise.
49895         * doc/posix-functions/wctob.texi: Likewise.
49896         * doc/posix-functions/wctomb.texi: Likewise.
49897         * doc/posix-functions/wctrans.texi: Likewise.
49898         * doc/posix-functions/wctype.texi: Likewise.
49899         * doc/posix-functions/wcwidth.texi: Likewise.
49900         * doc/posix-functions/wmemchr.texi: Likewise.
49901         * doc/posix-functions/wmemcmp.texi: Likewise.
49902         * doc/posix-functions/wmemcpy.texi: Likewise.
49903         * doc/posix-functions/wmemmove.texi: Likewise.
49904         * doc/posix-functions/wmemset.texi: Likewise.
49905         * doc/posix-functions/wprintf.texi: Likewise.
49906         * doc/posix-functions/wscanf.texi: Likewise.
49907
49908 2008-12-21  Bruno Haible  <bruno@clisp.org>
49909
49910         Update doc for HP-UX 11.11.
49911         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49912         in HP-UX version 11.00, not in all versions of HP-UX 11.
49913         * doc/posix-functions/fwide.texi: Likewise.
49914         * doc/posix-functions/fwprintf.texi: Likewise.
49915         * doc/posix-functions/fwscanf.texi: Likewise.
49916         * doc/posix-functions/inet_ntop.texi: Likewise.
49917         * doc/posix-functions/inet_pton.texi: Likewise.
49918         * doc/posix-functions/mbrlen.texi: Likewise.
49919         * doc/posix-functions/mbrtowc.texi: Likewise.
49920         * doc/posix-functions/mbsinit.texi: Likewise.
49921         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49922         * doc/posix-functions/swprintf.texi: Likewise.
49923         * doc/posix-functions/swscanf.texi: Likewise.
49924         * doc/posix-functions/towctrans.texi: Likewise.
49925         * doc/posix-functions/vfwprintf.texi: Likewise.
49926         * doc/posix-functions/vswprintf.texi: Likewise.
49927         * doc/posix-functions/vwprintf.texi: Likewise.
49928         * doc/posix-functions/wcrtomb.texi: Likewise.
49929         * doc/posix-functions/wcsrtombs.texi: Likewise.
49930         * doc/posix-functions/wcsstr.texi: Likewise.
49931         * doc/posix-functions/wctob.texi: Likewise.
49932         * doc/posix-functions/wctrans.texi: Likewise.
49933         * doc/posix-functions/wmemchr.texi: Likewise.
49934         * doc/posix-functions/wmemcmp.texi: Likewise.
49935         * doc/posix-functions/wmemcpy.texi: Likewise.
49936         * doc/posix-functions/wmemmove.texi: Likewise.
49937         * doc/posix-functions/wmemset.texi: Likewise.
49938         * doc/posix-functions/wprintf.texi: Likewise.
49939         * doc/posix-functions/wscanf.texi: Likewise.
49940
49941 2008-12-21  Bruno Haible  <bruno@clisp.org>
49942
49943         Work around a portability problem.
49944         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49945         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49946
49947 2008-12-20  Bruno Haible  <bruno@clisp.org>
49948
49949         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49950         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49951         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49952         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49953         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49954
49955         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49956         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49957         set.
49958         (GNULIB_defined_mbstate_t): New macro.
49959         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49960         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49961         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49962         reuses the system's mbrtowc function but works around the bugs.
49963         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49964         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49965         macros.
49966         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49967         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49968         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49969         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49970         REPLACE_MBSINIT if mbsinit needs to be overridden.
49971         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49972         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49973         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49974         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49975         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49976         m4/locale-zh.m4.
49977         (Depends): Add mbsinit.
49978         * modules/mbsinit (Depends): Add mbrtowc.
49979         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49980
49981 2008-12-20  Bruno Haible  <bruno@clisp.org>
49982
49983         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49984         so that there are no conversion errors on AIX.
49985         * tests/test-mbsrtowcs.c (main): LIkewise.
49986
49987 2008-12-20  Bruno Haible  <bruno@clisp.org>
49988
49989         Work around wctob bug on Solaris <= 9.
49990         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49991         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49992         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49993         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49994         * modules/wctob (Files): Add m4/locale-fr.m4.
49995         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49996
49997 2008-12-20  Bruno Haible  <bruno@clisp.org>
49998
49999         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50000         /dev/null.
50001         * tests/test-select-in.sh: Likewise.
50002         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50003
50004 2008-12-20  Bruno Haible  <bruno@clisp.org>
50005
50006         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50007         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50008         Cygwin 1.5.x.
50009
50010 2008-12-20  Bruno Haible  <bruno@clisp.org>
50011
50012         Ensure mbstate_t is defined on HP-UX 11.11.
50013         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50014         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50015         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50016         AC_USE_SYSTEM_EXTENSIONS.
50017         * modules/fnmatch (Depends-on): Add extensions.
50018         * modules/mbrlen (Depends-on): Likewise.
50019         * modules/mbrtowc (Depends-on): Likewise.
50020         * modules/mbsinit (Depends-on): Likewise.
50021         * modules/mbsrtowcs (Depends-on): Likewise.
50022         * modules/mbswidth (Depends-on): Likewise.
50023         * modules/quotearg (Depends-on): Likewise.
50024         * modules/strftime (Depends-on): Likewise.
50025
50026 2008-12-20  Bruno Haible  <bruno@clisp.org>
50027
50028         Ensure wctob is declared on IRIX 6.5.
50029         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50030         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50031         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50032         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50033         of HAVE_WCTOB.
50034         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50035         HAVE_WCTOB.
50036         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50037
50038 2008-12-19  Bruno Haible  <bruno@clisp.org>
50039
50040         * modules/mbsrtowcs-tests: New file.
50041         * tests/test-mbsrtowcs1.sh: New file.
50042         * tests/test-mbsrtowcs2.sh: New file.
50043         * tests/test-mbsrtowcs3.sh: New file.
50044         * tests/test-mbsrtowcs4.sh: New file.
50045         * tests/test-mbsrtowcs.c: New file.
50046
50047         New module 'mbsrtowcs'.
50048         * lib/wchar.in.h (mbsrtowcs): New declaration.
50049         * lib/mbsrtowcs.c: New file.
50050         * m4/mbsrtowcs.m4: New file.
50051         * modules/mbsrtowcs: New file.
50052         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50053         HAVE_MBSRTOWCS.
50054         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50055         HAVE_MBSRTOWCS.
50056         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50057
50058 2008-12-19  Bruno Haible  <bruno@clisp.org>
50059
50060         New module 'mbrlen'.
50061         * lib/wchar.in.h (mbrlen): New declaration.
50062         * lib/mbrlen.c: New file.
50063         * m4/mbrlen.m4: New file.
50064         * modules/mbrlen: New file.
50065         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50066         HAVE_MBRLEN.
50067         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50068         HAVE_MBRLEN.
50069         * doc/posix-functions/mbrlen.texi: Document the new module.
50070
50071 2008-12-19  Bruno Haible  <bruno@clisp.org>
50072
50073         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50074         * modules/mbrtowc (Depends-on): Add verify.
50075         Suggested by Paul Eggert.
50076
50077 2008-12-18  Bruno Haible  <bruno@clisp.org>
50078
50079         * modules/mbsinit-tests: New file.
50080         * tests/test-mbsinit.sh: New file.
50081         * tests/test-mbsinit.c: New file.
50082
50083 2008-12-18  Bruno Haible  <bruno@clisp.org>
50084
50085         * modules/mbrtowc-tests: New file.
50086         * tests/test-mbrtowc1.sh: New file.
50087         * tests/test-mbrtowc2.sh: New file.
50088         * tests/test-mbrtowc3.sh: New file.
50089         * tests/test-mbrtowc4.sh: New file.
50090         * tests/test-mbrtowc.c: New file.
50091
50092         New module 'mbrtowc'.
50093         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50094         mbsinit and mbrtowc.
50095         (mbrtowc): New declaration.
50096         * lib/mbrtowc.c: New file.
50097         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50098         * modules/mbrtowc: New file.
50099         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50100         HAVE_MBRTOWC.
50101         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50102         HAVE_MBRTOWC.
50103         * doc/posix-functions/mbrtowc.texi: Document the new module.
50104
50105 2008-12-18  Bruno Haible  <bruno@clisp.org>
50106
50107         New module 'wctob'.
50108         * lib/wchar.in.h (wctob): New declaration.
50109         * lib/wctob.c: New file.
50110         * m4/wctob.m4: New file.
50111         * modules/wctob: New file.
50112         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50113         HAVE_WCTOB.
50114         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50115         * doc/posix-functions/wctob.texi: Document the new module.
50116
50117 2008-12-18  Bruno Haible  <bruno@clisp.org>
50118
50119         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50120         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50121
50122 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50123
50124         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50125         G. Christensen" <tgc@jupiterrise.com>.
50126
50127         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50128         G. Christensen" <tgc@jupiterrise.com>.
50129
50130         * lib/flock.c: Need to include string.h.  Reported by "Tom
50131         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50132         <ebb9@byu.net>.
50133
50134 2008-12-18  Bruno Haible  <bruno@clisp.org>
50135
50136         * m4/locale-ja.m4: New file, from GNU gettext.
50137
50138 2008-12-17  Bruno Haible  <bruno@clisp.org>
50139
50140         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50141         Suggested by Eric Blake.
50142
50143 2008-12-17  Bruno Haible  <bruno@clisp.org>
50144
50145         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50146
50147 2008-12-17  Bruno Haible  <bruno@clisp.org>
50148
50149         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50150         * modules/mbsinit (Depends-on): Add verify.
50151         Suggested by Paul Eggert.
50152
50153 2008-12-17  Bruno Haible  <bruno@clisp.org>
50154
50155         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50156         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50157         gl_FUNC_MBRTOWC.
50158         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50159         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50160         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50161         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50162         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50163         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50164         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50165         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50166         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50167         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50168         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50169         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50170         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50171         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50172         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50173         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50174         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50175         * modules/trim (configure.ac): Likewise.
50176
50177 2008-12-17  Bruno Haible  <bruno@clisp.org>
50178
50179         * modules/btowc-tests: New file.
50180         * tests/test-btowc1.sh: New file.
50181         * tests/test-btowc2.sh: New file.
50182         * tests/test-btowc.c: New file.
50183
50184         New module 'btowc'.
50185         * lib/wchar.in.h (btowc): New declaration.
50186         * lib/btowc.c: New file.
50187         * m4/btowc.m4: New file.
50188         * modules/btowc: New file.
50189         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50190         HAVE_BTOWC.
50191         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50192         * doc/posix-functions/btowc.texi: Document the new module.
50193
50194 2008-12-17  Bruno Haible  <bruno@clisp.org>
50195
50196         New module 'mbsinit'.
50197         * lib/wchar.in.h (mbsinit): New declaration.
50198         * lib/mbsinit.c: New file.
50199         * m4/mbsinit.m4: New file.
50200         * modules/mbsinit: New file.
50201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50202         HAVE_MBSINIT.
50203         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50204         HAVE_MBSINIT.
50205         * doc/posix-functions/mbsinit.texi: Document the new module.
50206
50207 2008-12-16  Bruno Haible  <bruno@clisp.org>
50208
50209         * lib/unistd.in.h: Add comment.
50210         * tests/test-environ.c: Don't include <stdlib.h>.
50211
50212 2008-12-16  Bruno Haible  <bruno@clisp.org>
50213
50214         * lib/parse-duration.h (parse_duration): Document return value
50215         convention.
50216         * lib/parse-duration.c: Include specification header first. Add
50217         comments.
50218         (_): Remove macro.
50219         (parse_year_month_day, parse_hour_minute_second): Move side effects
50220         outside of strchr call.
50221         (parse_non_iso8601): Move side effects outside of isspace call.
50222         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50223         call.
50224
50225 2008-12-16  Bruno Haible  <bruno@clisp.org>
50226
50227         * tests/test-parse-duration.sh: Produce no output when the test
50228         succeeds.
50229
50230 2008-12-16  Bruno Haible  <bruno@clisp.org>
50231
50232         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
50233         expressions.
50234
50235 2008-12-15  Bruno Haible  <bruno@clisp.org>
50236
50237         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
50238         * doc/glibc-functions/flistxattr.texi: Likewise.
50239         * doc/glibc-functions/fopencookie.texi: Likewise.
50240         * doc/glibc-functions/fremovexattr.texi: Likewise.
50241         * doc/glibc-functions/fsetxattr.texi: Likewise.
50242         * doc/glibc-functions/getxattr.texi: Likewise.
50243         * doc/glibc-functions/lgetxattr.texi: Likewise.
50244         * doc/glibc-functions/listxattr.texi: Likewise.
50245         * doc/glibc-functions/llistxattr.texi: Likewise.
50246         * doc/glibc-functions/lremovexattr.texi: Likewise.
50247         * doc/glibc-functions/lsetxattr.texi: Likewise.
50248         * doc/glibc-functions/removexattr.texi: Likewise.
50249         * doc/glibc-functions/setxattr.texi: Likewise.
50250         * doc/posix-functions/open_memstream.texi: Likewise.
50251
50252 2008-12-15  Eric Blake  <ebb9@byu.net>
50253
50254         Update doc for cygwin 1.7.
50255         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50256         functions.
50257         * doc/posix-functions/fchmodat.texi: Likewise.
50258         * doc/posix-functions/fchownat.texi: Likewise.
50259         * doc/posix-functions/fdopendir.texi: Likewise.
50260         * doc/posix-functions/fmemopen.texi: Likewise.
50261         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50262         * doc/posix-functions/fstatat.texi: Likewise.
50263         * doc/posix-functions/futimens.texi: Likewise.
50264         * doc/posix-functions/gai_strerror.texi: Likewise.
50265         * doc/posix-functions/getaddrinfo.texi: Likewise.
50266         * doc/posix-functions/getnameinfo.texi: Likewise.
50267         * doc/posix-functions/if_freenameindex.texi: Likewise.
50268         * doc/posix-functions/if_indextoname.texi: Likewise.
50269         * doc/posix-functions/if_nameindex.texi: Likewise.
50270         * doc/posix-functions/if_nametoindex.texi: Likewise.
50271         * doc/posix-functions/insque.texi: Likewise.
50272         * doc/posix-functions/linkat.texi: Likewise.
50273         * doc/posix-functions/llrint.texi: Likewise.
50274         * doc/posix-functions/llrintf.texi: Likewise.
50275         * doc/posix-functions/llrintl.texi: Likewise.
50276         * doc/posix-functions/lockf.texi: Likewise.
50277         * doc/posix-functions/lrintl.texi: Likewise.
50278         * doc/posix-functions/mkdirat.texi: Likewise.
50279         * doc/posix-functions/mkfifoat.texi: Likewise.
50280         * doc/posix-functions/mknodat.texi: Likewise.
50281         * doc/posix-functions/mq_close.texi: Likewise.
50282         * doc/posix-functions/mq_getattr.texi: Likewise.
50283         * doc/posix-functions/mq_notify.texi: Likewise.
50284         * doc/posix-functions/mq_open.texi: Likewise.
50285         * doc/posix-functions/mq_receive.texi: Likewise.
50286         * doc/posix-functions/mq_send.texi: Likewise.
50287         * doc/posix-functions/mq_setattr.texi: Likewise.
50288         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50289         * doc/posix-functions/mq_timedsend.texi: Likewise.
50290         * doc/posix-functions/mq_unlink.texi: Likewise.
50291         * doc/posix-functions/open_memstream.texi: Likewise.
50292         * doc/posix-functions/openat.texi: Likewise.
50293         * doc/posix-functions/posix_fadvise.texi: Likewise.
50294         * doc/posix-functions/posix_fallocate.texi: Likewise.
50295         * doc/posix-functions/posix_madvise.texi: Likewise.
50296         * doc/posix-functions/posix_memalign.texi: Likewise.
50297         * doc/posix-functions/posix_openpt.texi: Likewise.
50298         * doc/posix-functions/readlinkat.texi: Likewise.
50299         * doc/posix-functions/remque.texi: Likewise.
50300         * doc/posix-functions/renameat.texi: Likewise.
50301         * doc/posix-functions/rintl.texi: Likewise.
50302         * doc/posix-functions/sem_unlink.texi: Likewise.
50303         * doc/posix-functions/shm_open.texi: Likewise.
50304         * doc/posix-functions/shm_unlink.texi: Likewise.
50305         * doc/posix-functions/signgam.texi: Likewise.
50306         * doc/posix-functions/sigset.texi: Likewise.
50307         * doc/posix-functions/stpcpy.texi: Likewise.
50308         * doc/posix-functions/stpncpy.texi: Likewise.
50309         * doc/posix-functions/strerror.texi: Likewise.
50310         * doc/posix-functions/strtod.texi: Likewise.
50311         * doc/posix-functions/symlinkat.texi: Likewise.
50312         * doc/posix-functions/unlinkat.texi: Likewise.
50313         * doc/posix-functions/utimensat.texi: Likewise.
50314         * doc/glibc-functions/bindresvport.texi: Likewise.
50315         * doc/glibc-functions/dn_expand.texi: Likewise.
50316         * doc/glibc-functions/exp10.texi: Likewise.
50317         * doc/glibc-functions/exp10f.texi: Likewise.
50318         * doc/glibc-functions/fgetxattr.texi: Likewise.
50319         * doc/glibc-functions/flistxattr.texi: Likewise.
50320         * doc/glibc-functions/fopencookie.texi: Likewise.
50321         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50322         * doc/glibc-functions/fremovexattr.texi: Likewise.
50323         * doc/glibc-functions/fsetxattr.texi: Likewise.
50324         * doc/glibc-functions/getifaddrs.texi: Likewise.
50325         * doc/glibc-functions/getxattr.texi: Likewise.
50326         * doc/glibc-functions/lgetxattr.texi: Likewise.
50327         * doc/glibc-functions/listxattr.texi: Likewise.
50328         * doc/glibc-functions/llistxattr.texi: Likewise.
50329         * doc/glibc-functions/lremovexattr.texi: Likewise.
50330         * doc/glibc-functions/lsetxattr.texi: Likewise.
50331         * doc/glibc-functions/pow10.texi: Likewise.
50332         * doc/glibc-functions/pow10f.texi: Likewise.
50333         * doc/glibc-functions/rcmd_af.texi: Likewise.
50334         * doc/glibc-functions/removexattr.texi: Likewise.
50335         * doc/glibc-functions/res_init.texi: Likewise.
50336         * doc/glibc-functions/res_mkquery.texi: Likewise.
50337         * doc/glibc-functions/res_query.texi: Likewise.
50338         * doc/glibc-functions/res_querydomain.texi: Likewise.
50339         * doc/glibc-functions/res_send.texi: Likewise.
50340         * doc/glibc-functions/rresvport_af.texi: Likewise.
50341         * doc/glibc-functions/setxattr.texi: Likewise.
50342         * doc/glibc-functions/strcasestr.texi: Likewise.
50343
50344 2008-12-15  Bruno Haible  <bruno@clisp.org>
50345
50346         Fix compilation error on OSF/1 4.0.
50347         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50348         <sys/time.h>, simply delegate to the system header.
50349         Reported by Daniel Richard G. <oss@teragram.com>.
50350
50351 2008-12-15  Bruno Haible  <bruno@clisp.org>
50352
50353         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50354         * doc/posix-functions/fchmodat.texi: Likewise.
50355         * doc/posix-functions/fchownat.texi: Likewise.
50356         * doc/posix-functions/fdopendir.texi: Likewise.
50357         * doc/posix-functions/fstatat.texi: Likewise.
50358         * doc/posix-functions/mkdirat.texi: Likewise.
50359         * doc/posix-functions/unlinkat.texi: Likewise.
50360
50361 2008-12-14  Bruno Haible  <bruno@clisp.org>
50362
50363         Update doc for POSIX:2008.
50364         * doc/posix-functions/faccessat.texi: New file.
50365         * doc/posix-functions/fchmodat.texi: New file.
50366         * doc/posix-functions/fchownat.texi: New file.
50367         * doc/posix-functions/fdopendir.texi: New file.
50368         * doc/posix-functions/fstatat.texi: New file.
50369         * doc/posix-functions/futimens.texi: New file.
50370         * doc/posix-functions/linkat.texi: New file.
50371         * doc/posix-functions/mkdirat.texi: New file.
50372         * doc/posix-functions/mkfifoat.texi: New file.
50373         * doc/posix-functions/mknodat.texi: New file.
50374         * doc/posix-functions/open_wmemstream.texi: New file.
50375         * doc/posix-functions/openat.texi: New file.
50376         * doc/posix-functions/psiginfo.texi: New file.
50377         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50378         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50379         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50380         * doc/posix-functions/readlinkat.texi: New file.
50381         * doc/posix-functions/renameat.texi: New file.
50382         * doc/posix-functions/strerror_l.texi: New file.
50383         * doc/posix-functions/symlinkat.texi: New file.
50384         * doc/posix-functions/unlinkat.texi: New file.
50385         * doc/posix-functions/utimensat.texi: New file.
50386         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50387
50388 2008-12-14  Bruno Haible  <bruno@clisp.org>
50389
50390         Update doc for POSIX:2008.
50391         * doc/posix-functions/alphasort.texi: Renamed from
50392         doc/glibc-functions/alphasort.texi.
50393         * doc/posix-functions/dirfd.texi: Renamed from
50394         doc/glibc-functions/dirfd.texi.
50395         * doc/posix-functions/dprintf.texi: Renamed from
50396         doc/glibc-functions/dprintf.texi.
50397         * doc/posix-functions/duplocale.texi: Renamed from
50398         doc/glibc-functions/duplocale.texi.
50399         * doc/posix-functions/fexecve.texi: Renamed from
50400         doc/glibc-functions/fexecve.texi.
50401         * doc/posix-functions/fmemopen.texi: Renamed from
50402         doc/glibc-functions/fmemopen.texi.
50403         * doc/posix-functions/freelocale.texi: Renamed from
50404         doc/glibc-functions/freelocale.texi.
50405         * doc/posix-functions/getdate_err.texi: Renamed from
50406         doc/glibc-functions/getdate_err.texi.
50407         * doc/posix-functions/isalnum_l.texi: Renamed from
50408         doc/glibc-functions/isalnum_l.texi.
50409         * doc/posix-functions/isalpha_l.texi: Renamed from
50410         doc/glibc-functions/isalpha_l.texi.
50411         * doc/posix-functions/isblank_l.texi: Renamed from
50412         doc/glibc-functions/isblank_l.texi.
50413         * doc/posix-functions/iscntrl_l.texi: Renamed from
50414         doc/glibc-functions/iscntrl_l.texi.
50415         * doc/posix-functions/isdigit_l.texi: Renamed from
50416         doc/glibc-functions/isdigit_l.texi.
50417         * doc/posix-functions/isgraph_l.texi: Renamed from
50418         doc/glibc-functions/isgraph_l.texi.
50419         * doc/posix-functions/islower_l.texi: Renamed from
50420         doc/glibc-functions/islower_l.texi.
50421         * doc/posix-functions/isprint_l.texi: Renamed from
50422         doc/glibc-functions/isprint_l.texi.
50423         * doc/posix-functions/ispunct_l.texi: Renamed from
50424         doc/glibc-functions/ispunct_l.texi.
50425         * doc/posix-functions/isspace_l.texi: Renamed from
50426         doc/glibc-functions/isspace_l.texi.
50427         * doc/posix-functions/isupper_l.texi: Renamed from
50428         doc/glibc-functions/isupper_l.texi.
50429         * doc/posix-functions/iswalnum_l.texi: Renamed from
50430         doc/glibc-functions/iswalnum_l.texi.
50431         * doc/posix-functions/iswalpha_l.texi: Renamed from
50432         doc/glibc-functions/iswalpha_l.texi.
50433         * doc/posix-functions/iswblank_l.texi: Renamed from
50434         doc/glibc-functions/iswblank_l.texi.
50435         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50436         doc/glibc-functions/iswcntrl_l.texi.
50437         * doc/posix-functions/iswctype_l.texi: Renamed from
50438         doc/glibc-functions/iswctype_l.texi.
50439         * doc/posix-functions/iswdigit_l.texi: Renamed from
50440         doc/glibc-functions/iswdigit_l.texi.
50441         * doc/posix-functions/iswgraph_l.texi: Renamed from
50442         doc/glibc-functions/iswgraph_l.texi.
50443         * doc/posix-functions/iswlower_l.texi: Renamed from
50444         doc/glibc-functions/iswlower_l.texi.
50445         * doc/posix-functions/iswprint_l.texi: Renamed from
50446         doc/glibc-functions/iswprint_l.texi.
50447         * doc/posix-functions/iswpunct_l.texi: Renamed from
50448         doc/glibc-functions/iswpunct_l.texi.
50449         * doc/posix-functions/iswspace_l.texi: Renamed from
50450         doc/glibc-functions/iswspace_l.texi.
50451         * doc/posix-functions/iswupper_l.texi: Renamed from
50452         doc/glibc-functions/iswupper_l.texi.
50453         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50454         doc/glibc-functions/iswxdigit_l.texi.
50455         * doc/posix-functions/isxdigit_l.texi: Renamed from
50456         doc/glibc-functions/isxdigit_l.texi.
50457         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50458         doc/glibc-functions/mbsnrtowcs.texi.
50459         * doc/posix-functions/mkdtemp.texi: Renamed from
50460         doc/glibc-functions/mkdtemp.texi.
50461         * doc/posix-functions/newlocale.texi: Renamed from
50462         doc/glibc-functions/newlocale.texi.
50463         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50464         doc/glibc-functions/nl_langinfo_l.texi.
50465         * doc/posix-functions/open_memstream.texi: Renamed from
50466         doc/glibc-functions/open_memstream.texi.
50467         * doc/posix-functions/opterr.texi: Renamed from
50468         doc/glibc-functions/opterr.texi.
50469         * doc/posix-functions/optind.texi: Renamed from
50470         doc/glibc-functions/optind.texi.
50471         * doc/posix-functions/optopt.texi: Renamed from
50472         doc/glibc-functions/optopt.texi.
50473         * doc/posix-functions/psignal.texi: Renamed from
50474         doc/glibc-functions/psignal.texi.
50475         * doc/posix-functions/scandir.texi: Renamed from
50476         doc/glibc-functions/scandir.texi.
50477         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50478         doc/glibc-functions/sched_get_priority_min.texi.
50479         * doc/posix-functions/signgam.texi: Renamed from
50480         doc/glibc-functions/signgam.texi.
50481         * doc/posix-functions/stpcpy.texi: Renamed from
50482         doc/glibc-functions/stpcpy.texi.
50483         * doc/posix-functions/stpncpy.texi: Renamed from
50484         doc/glibc-functions/stpncpy.texi.
50485         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50486         doc/glibc-functions/strcasecmp_l.texi.
50487         * doc/posix-functions/strcoll_l.texi: Renamed from
50488         doc/glibc-functions/strcoll_l.texi.
50489         * doc/posix-functions/strfmon_l.texi: Renamed from
50490         doc/glibc-functions/strfmon_l.texi.
50491         * doc/posix-functions/strftime_l.texi: Renamed from
50492         doc/glibc-functions/strftime_l.texi.
50493         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50494         doc/glibc-functions/strncasecmp_l.texi.
50495         * doc/posix-functions/strndup.texi: Renamed from
50496         doc/glibc-functions/strndup.texi.
50497         * doc/posix-functions/strnlen.texi: Renamed from
50498         doc/glibc-functions/strnlen.texi.
50499         * doc/posix-functions/strsignal.texi: Renamed from
50500         doc/glibc-functions/strsignal.texi.
50501         * doc/posix-functions/strxfrm_l.texi: Renamed from
50502         doc/glibc-functions/strxfrm_l.texi.
50503         * doc/posix-functions/timer_gettime.texi: Renamed from
50504         doc/glibc-functions/timer_gettime.texi.
50505         * doc/posix-functions/tolower_l.texi: Renamed from
50506         doc/glibc-functions/tolower_l.texi.
50507         * doc/posix-functions/toupper_l.texi: Renamed from
50508         doc/glibc-functions/toupper_l.texi.
50509         * doc/posix-functions/towctrans_l.texi: Renamed from
50510         doc/glibc-functions/towctrans_l.texi.
50511         * doc/posix-functions/towlower_l.texi: Renamed from
50512         doc/glibc-functions/towlower_l.texi.
50513         * doc/posix-functions/towupper_l.texi: Renamed from
50514         doc/glibc-functions/towupper_l.texi.
50515         * doc/posix-functions/uselocale.texi: Renamed from
50516         doc/glibc-functions/uselocale.texi.
50517         * doc/posix-functions/vdprintf.texi: Renamed from
50518         doc/glibc-functions/vdprintf.texi.
50519         * doc/posix-functions/wcpcpy.texi:
50520         Renamed from doc/glibc-functions/wcpcpy.texi.
50521         * doc/posix-functions/wcpncpy.texi: Renamed from
50522         doc/glibc-functions/wcpncpy.texi.
50523         * doc/posix-functions/wcscasecmp.texi: Renamed from
50524         doc/glibc-functions/wcscasecmp.texi.
50525         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50526         doc/glibc-functions/wcscasecmp_l.texi.
50527         * doc/posix-functions/wcscoll_l.texi: Renamed from
50528         doc/glibc-functions/wcscoll_l.texi.
50529         * doc/posix-functions/wcsdup.texi: Renamed from
50530         doc/glibc-functions/wcsdup.texi.
50531         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50532         doc/glibc-functions/wcsncasecmp.texi.
50533         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50534         doc/glibc-functions/wcsncasecmp_l.texi.
50535         * doc/posix-functions/wcsnlen.texi: Renamed from
50536         doc/glibc-functions/wcsnlen.texi.
50537         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50538         doc/glibc-functions/wcsnrtombs.texi.
50539         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50540         doc/glibc-functions/wcsxfrm_l.texi.
50541         * doc/posix-functions/wctrans_l.texi: Renamed from
50542         doc/glibc-functions/wctrans_l.texi.
50543         * doc/posix-functions/wctype_l.texi: Renamed from
50544         doc/glibc-functions/wctype_l.texi.
50545         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50546         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50547         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50548         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50549         these subsections.
50550         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50551         Remove sections.
50552
50553 2008-12-14  Bruno Haible  <bruno@clisp.org>
50554
50555         Update doc for POSIX:2008.
50556         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50557
50558 2008-12-14  Bruno Haible  <bruno@clisp.org>
50559
50560         Update doc for POSIX:2008.
50561         * doc/pastposix-functions/bcmp.texi: Renamed from
50562         doc/posix-functions/bcmp.texi.
50563         * doc/pastposix-functions/bcopy.texi: Renamed from
50564         doc/posix-functions/bcopy.texi.
50565         * doc/pastposix-functions/bsd_signal.texi: Renamed from
50566         doc/posix-functions/bsd_signal.texi.
50567         * doc/pastposix-functions/bzero.texi: Renamed from
50568         doc/posix-functions/bzero.texi.
50569         * doc/pastposix-functions/ecvt.texi: Renamed from
50570         doc/posix-functions/ecvt.texi.
50571         * doc/pastposix-functions/fcvt.texi: Renamed from
50572         doc/posix-functions/fcvt.texi.
50573         * doc/pastposix-functions/ftime.texi: Renamed from
50574         doc/posix-functions/ftime.texi.
50575         * doc/pastposix-functions/gcvt.texi: Renamed from
50576         doc/posix-functions/gcvt.texi.
50577         * doc/pastposix-functions/getcontext.texi: Renamed from
50578         doc/posix-functions/getcontext.texi.
50579         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
50580         doc/posix-functions/gethostbyaddr.texi.
50581         * doc/pastposix-functions/gethostbyname.texi: Renamed from
50582         doc/posix-functions/gethostbyname.texi.
50583         * doc/pastposix-functions/getwd.texi: Renamed from
50584         doc/posix-functions/getwd.texi.
50585         * doc/pastposix-functions/h_errno.texi: Renamed from
50586         doc/posix-functions/h_errno.texi.
50587         * doc/pastposix-functions/index.texi: Renamed from
50588         doc/posix-functions/index.texi.
50589         * doc/pastposix-functions/makecontext.texi: Renamed from
50590         doc/posix-functions/makecontext.texi.
50591         * doc/pastposix-functions/mktemp.texi: Renamed from
50592         doc/posix-functions/mktemp.texi.
50593         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
50594         doc/posix-functions/pthread_attr_getstackaddr.texi.
50595         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
50596         doc/posix-functions/pthread_attr_setstackaddr.texi.
50597         * doc/pastposix-functions/rindex.texi: Renamed from
50598         doc/posix-functions/rindex.texi.
50599         * doc/pastposix-functions/scalb.texi: Renamed from
50600         doc/posix-functions/scalb.texi.
50601         * doc/pastposix-functions/setcontext.texi: Renamed from
50602         doc/posix-functions/setcontext.texi.
50603         * doc/pastposix-functions/swapcontext.texi: Renamed from
50604         doc/posix-functions/swapcontext.texi.
50605         * doc/pastposix-functions/ualarm.texi: Renamed from
50606         doc/posix-functions/ualarm.texi.
50607         * doc/pastposix-functions/usleep.texi: Renamed from
50608         doc/posix-functions/usleep.texi.
50609         * doc/pastposix-functions/vfork.texi: Renamed from
50610         doc/posix-functions/vfork.texi.
50611         * doc/pastposix-functions/wcswcs.texi: Renamed from
50612         doc/posix-functions/wcswcs.texi.
50613         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
50614         (Function Substitutes): Update.
50615
50616 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50617
50618         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
50619         m4/strerror.m4.
50620
50621 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50622             Bruno Haible  <bruno@clisp.org>
50623
50624         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
50625
50626 2008-12-13  Bruno Haible  <bruno@clisp.org>
50627
50628         * modules/strtoull (Depends-on): Remove unistd.
50629
50630 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50631
50632         * modules/strtoull (Depends-on): Add stdlib.
50633
50634 2008-12-11  Simon Josefsson  <simon@josefsson.org>
50635
50636         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
50637
50638 2008-12-10  Jim Meyering  <meyering@redhat.com>
50639
50640         gl_ASSERT: don't say assertions are disabled when they're not
50641         * m4/assert.m4 (gl_ASSERT): Do not make configure report
50642         "checking whether to enable assertions... no", when they are in
50643         fact enabled.  This is solely a bug in the output of configure.
50644         In spite of saying "no", NDEBUG was not defined in that case.
50645         Also, as noted by Eric Blake, leave assertions enabled upon
50646         --enable-assert=INVALID.
50647
50648 2008-12-10  Bruno Haible  <bruno@clisp.org>
50649
50650         Change MODULES.html to refer to POSIX:2008 where possible.
50651         * MODULES.html.sh (POSIX2008_URL): New variable.
50652         (posix_headers): Remove sys/timeb, ucontext.
50653         (posix2001_headers): New variable.
50654         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
50655         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
50656         index, makecontext, mktemp, pthread_attr_getstackaddr,
50657         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
50658         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
50659         (posix2001_functions): New variable.
50660         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
50661         otherwise.
50662
50663 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50664
50665         add missing include to parse-duration.c
50666         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
50667         * modules/parse-duration (Depends-on): Add xalloc.
50668
50669         fix sed script reading maint.mk
50670         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
50671         (syntax-check-rules): Use it.
50672
50673 2008-12-09  Bruno Haible  <bruno@clisp.org>
50674
50675         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
50676         MacOS X 10.4/PowerPC.
50677         Reported by Simon Josefsson.
50678
50679 2008-12-08  Jim Meyering  <meyering@redhat.com>
50680
50681         work around mingw's lack of some S_IF definitions
50682         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
50683         Reported by Simon Josefsson.
50684
50685 2008-12-08  Bruno Haible  <bruno@clisp.org>
50686
50687         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
50688         applied to variables. Needed on MacOS X 10.4/PowerPC.
50689         Reported by Simon Josefsson.
50690
50691 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
50692         and Eric Blake  <ebb9@byu.net>
50693
50694         assert: honor --enable-assert
50695         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
50696         order to honor --enable-assert, rather than treating it as a
50697         synonym for --disable-assert.
50698
50699 2008-12-08  Jim Meyering  <meyering@redhat.com>
50700
50701         * lib/posixtm.c: Remove now-useless declaration of mktime.
50702
50703         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
50704
50705 2008-12-07  Bruno Haible  <bruno@clisp.org>
50706
50707         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
50708         test_once): Mark functions as static.
50709         * tests/test-tls.c (test_tls): Likewise.
50710
50711 2008-12-07  Bruno Haible  <bruno@clisp.org>
50712
50713         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
50714         iconv_register_autodetect.
50715
50716 2008-12-07  Jim Meyering  <meyering@redhat.com>
50717
50718         posixtm.c: avoid a warning
50719         * lib/posixtm.c (posixtime): Don't initialize tm0.
50720         It's no longer needed to placate gcc4's -Wuninitialized,
50721         and the attempt to placate would elicit a new warning.
50722
50723         unicodeio.c: mark unused parameters
50724         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50725         (fallback_failure_callback): Likewise.
50726
50727 2008-12-07  Bruno Haible  <bruno@clisp.org>
50728
50729         * gnulib-tool (func_create_testdir): When building the tests
50730         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
50731         Reported by Simon Josefsson.
50732
50733 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50734
50735         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
50736
50737 2008-12-06  Bruno Haible  <bruno@clisp.org>
50738
50739         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
50740         Suggested by Eric Blake.
50741
50742 2008-12-06  Bruno Haible  <bruno@clisp.org>
50743
50744         Fix a c-stack test failure on MacOS X.
50745         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
50746         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
50747         handler for SIGBUS as well.
50748         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
50749         install a signal handler for SIGBUS as well.
50750         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
50751
50752 2008-12-06  Bruno Haible  <bruno@clisp.org>
50753
50754         Advocacy documentation.
50755         * doc/gnulib-intro.texi (Benefits): New section.
50756         * doc/gnulib.texi: Update.
50757
50758 2008-12-06  Bruno Haible  <bruno@clisp.org>
50759
50760         Document the 'manywarnings' module.
50761         * doc/manywarnings.texi: New file.
50762         * doc/gnulib.texi: Include it.
50763
50764 2008-12-05  Eric Blake  <ebb9@byu.net>
50765
50766         tests: silence some gcc warnings
50767         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50768         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50769         type mismatches.
50770
50771 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50772             Bruno Haible  <bruno@clisp.org>
50773
50774         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50775
50776 2008-11-29  Jim Meyering  <meyering@redhat.com>
50777
50778         unicodeio.c: mark unused parameters
50779         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50780         (fallback_failure_callback): Likewise.
50781
50782         fts: fix a thinko
50783         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50784         (set_stat_type): Return S_IF*-valued "type" directly.
50785         Prompted by James Youngman's spotting a related bug.
50786         Confirmed by further testing through find.
50787
50788         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50789         * lib/fts.c (D_TYPE): Define.
50790         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50791         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50792         (s_ifmt_shift_bits): New function.
50793         (set_stat_type): New function.
50794         (fts_build): When not calling fts_stat, call set_stat_type
50795         to propagate dirent.d_type info to fts_read caller.
50796         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50797         fts_statp->st_mode type information may be valid.
50798
50799 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50800
50801         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50802         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50803         <sds@gnu.org>.
50804
50805 2008-11-20  Bruno Haible  <bruno@clisp.org>
50806
50807         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50808         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50809         INCLUDE_NEXT.
50810         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50811         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50812         * modules/math (Makefile.am): Substitute
50813         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50814         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50815
50816 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50817             Bruno Haible  <bruno@clisp.org>
50818
50819         * lib/stdint.in.h: Define all type macros so that their expansion is
50820         a single typedef'ed token. Fixes a compilation failure in Boost which
50821         does "using ::int8_t;".
50822
50823 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50824
50825         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50826         gl_MANYWARN_ALL_GCC.
50827         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50828         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50829         * modules/manywarnings: New file.
50830         * MODULES.html.sh: Mention manywarnings module.
50831
50832 2008-11-18  Bruno Haible  <bruno@clisp.org>
50833
50834         * doc/gnulib-tool.texi (Unit tests): New section.
50835
50836 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50837
50838         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50839         paths like 'lib/po/foo.po'.
50840
50841 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50842
50843         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50844         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50845
50846 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50847
50848         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50849         parameter works.
50850
50851 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50852
50853         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50854
50855 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50856
50857         * modules/parse-duration-tests: New file.
50858         * tests/test-parse-duration.sh: New file.
50859         * tests/test-parse-duration.c: New file.
50860
50861         New module 'parse-duration'.
50862         * lib/parse-duration.h: New file.
50863         * lib/parse-duration.c: New file.
50864         * modules/parse-duration: New file.
50865
50866 2008-11-17  Bruno Haible  <bruno@clisp.org>
50867
50868         * tests/test-select-out.sh: Comment out the first pipe test.
50869         Reported by Simon Josefsson.
50870
50871 2008-11-17  Bruno Haible  <bruno@clisp.org>
50872
50873         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50874         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50875         gl_HOSTENT.
50876
50877 2008-11-17  Bruno Haible  <bruno@clisp.org>
50878
50879         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50880         -lnetwork and -lnet. Needed for Haiku and BeOS.
50881
50882 2008-11-16  Bruno Haible  <bruno@clisp.org>
50883
50884         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50885
50886 2008-11-16  Bruno Haible  <bruno@clisp.org>
50887
50888         Avoid test failure on Haiku.
50889         * tests/test-fsync.c: Include <errno.h>.
50890         (main): Don't require that fsync (0) fails.
50891
50892 2008-11-15  Bruno Haible  <bruno@clisp.org>
50893
50894         New module 'hostent'.
50895         * modules/hostent: New file.
50896         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50897
50898 2008-11-15  Bruno Haible  <bruno@clisp.org>
50899
50900         New module 'servent'.
50901         * modules/servent: New file.
50902         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50903
50904 2008-11-15  Bruno Haible  <bruno@clisp.org>
50905
50906         Avoid generating same test program with two different rules.
50907         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50908         test-frexp to test-frexp-nolibm.
50909         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50910         test-frexpl to test-frexpl-nolibm.
50911
50912 2008-11-15  Bruno Haible  <bruno@clisp.org>
50913
50914         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50915         $(FREXPL_LIBM).
50916
50917 2008-11-15  Bruno Haible  <bruno@clisp.org>
50918
50919         * lib/netdb.in.h: Activate the definitions also when the system's
50920         <netdb.h> has 'struct addrinfo'.
50921         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50922         EAI_OVERFLOW or AI_NUMERICSERV.
50923         * doc/posix-headers/netdb.texi: Document the problem.
50924
50925 2008-11-15  Bruno Haible  <bruno@clisp.org>
50926
50927         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50928
50929         Make the 'sched' module work on platforms where <sched.h> exists but
50930         is incomplete (such as Haiku).
50931         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50932         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50933         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50934         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50935         HAVE_STRUCT_SCHED_PARAM.
50936         * modules/sched (Depends-on): Add include_next.
50937         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50938         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50939         * doc/posix-headers/sched.texi: Document the issue.
50940
50941 2008-11-13  Jim Meyering  <meyering@redhat.com>
50942
50943         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50944         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50945         test would fail due to the difference in the Report bugs to ...
50946         line.  The expected address is empty, "<>", while the actual
50947         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50948
50949 2008-11-12  Bruno Haible  <bruno@clisp.org>
50950
50951         lstat: don't compile lstat.c on systems lacking lstat
50952         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50953         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50954         Reported by Daniel P. Berrange via Jim Meyering.
50955
50956 2008-11-12  Jim Meyering  <meyering@redhat.com>
50957
50958         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50959
50960 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50961
50962         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50963         instead.
50964
50965 2008-11-12  Bruno Haible  <bruno@clisp.org>
50966
50967         * lib/unicodeio.c: Include unistr.h.
50968         (utf8_wctomb): Remove function.
50969         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50970
50971 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50972
50973         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50974         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50975         <bruno@clisp.org>.
50976         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50977
50978 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50979
50980         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50981         * doc/gnulib.texi: Add section for warnings.
50982
50983 2008-11-11  Bruno Haible  <bruno@clisp.org>
50984
50985         * lib/sockets.h: Add a comment.
50986
50987 2008-11-11  Karl Berry  <karl@gnu.org>
50988
50989         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50990
50991 2008-11-11  Eric Blake  <ebb9@byu.net>
50992
50993         fdl.texi: avoid git symlinks
50994         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50995
50996 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50997
50998         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50999
51000 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51001
51002         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51003         (gl_WARN_ADD): Substitute $2 if literal.
51004
51005 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51006
51007         * m4/warning.m4: Remove.
51008
51009 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51010
51011         * m4/warnings.m4: Almost complete rewrite. :-)
51012
51013 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51014
51015         * modules/warnings: New module.
51016         * m4/warnings.m4: New file.
51017         * MODULES.html.sh: Mention warnings module.
51018         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51019         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51020
51021 2008-11-10  Eric Blake  <ebb9@byu.net>
51022
51023         fdl.texi: make a symlink to the latest version
51024         * doc/standards.texi: Revert today's earlier change.
51025         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51026         * doc/fdl.texi: ...and replace this with a symlink to the newer
51027         fdl-1.3.texi.
51028
51029 2008-11-10  Bruno Haible  <bruno@clisp.org>
51030
51031         * tests/test-select-fd.c (main): Accept the result file name as fourth
51032         argument.
51033         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51034         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51035
51036 2008-11-10  Bruno Haible  <bruno@clisp.org>
51037
51038         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51039         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51040         as autoconf-substituted macros.
51041         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51042         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51043         gl_NETDB_H_DEFAULTS. Set these variables.
51044         * modules/netdb (Makefile.am): Substitute these variables.
51045
51046 2008-11-10  Eric Blake  <ebb9@byu.net>
51047
51048         standards.texi: include correct file for FDL 1.3
51049         * doc/standards.texi (GNU Free Documentation License): Change
51050         include file to pull in FDL 1.3, not 1.2.
51051
51052         fdl.texi: revert accidental change to license
51053         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51054
51055 2008-11-10  Bruno Haible  <bruno@clisp.org>
51056
51057         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51058         cross-compiling guesses also when the native compile gives no result.
51059
51060 2008-11-10  Bruno Haible  <bruno@clisp.org>
51061
51062         * lib/spawni.c (__spawni): Force variable into the stack.
51063
51064 2008-11-10  Bruno Haible  <bruno@clisp.org>
51065
51066         Add support for Haiku.
51067         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51068         glibc and BeOS, but also on Haiku.
51069         * lib/fpurge.c (fpurge): Likewise.
51070         * lib/freadable.c (freadable): Likewise.
51071         * lib/freadahead.c (freadahead): Likewise.
51072         * lib/freading.c (freading): Likewise.
51073         * lib/freadptr.c (freadptr): Likewise.
51074         * lib/freadseek.c (freadptrinc): Likewise.
51075         * lib/fseeko.c (rpl_fseeko): Likewise.
51076         * lib/fseterr.c (fseterr): Likewise.
51077         * lib/fwritable.c (fwritable): Likewise.
51078         * lib/fwriting.c (fwriting): Likewise.
51079         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51080
51081 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51082
51083         * lib/config.charset: Treat Haiku like BeOS.
51084
51085 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51086
51087         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51088         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51089
51090 2008-11-08  Bruno Haible  <bruno@clisp.org>
51091
51092         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51093         AC_CACHE_CHECK.
51094
51095 2008-11-08  Bruno Haible  <bruno@clisp.org>
51096
51097         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51098
51099 2008-11-08  Bruno Haible  <bruno@clisp.org>
51100
51101         * tests/test-select-fd.c: New file.
51102         * tests/test-select-in.sh: New file.
51103         * tests/test-select-out.sh: New file.
51104         * tests/test-select-stdin.c: New file.
51105         * modules/select-tests (Files): Add the new files.
51106         (Depends-on): Add gettimeofday.
51107         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51108         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51109         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51110
51111 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51112             Bruno Haible  <bruno@clisp.org>
51113
51114         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51115
51116 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51117
51118         * build-aux/pmccabe2html: Added support for C++ source files.
51119
51120 2008-11-05  Ben Pfaff  <blp@gnu.org>
51121
51122         Fix lib/close.c build on Windows.
51123         * modules/close (Files): Add lib/w32sock.h.
51124
51125 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51126
51127         Accept Bison's NEWS format.
51128         * build-aux/announce-gen (print_news_deltas): Tweak
51129         $re_prefix.
51130
51131 2008-11-04  Bruno Haible  <bruno@clisp.org>
51132
51133         * modules/random_r (Maintainer): Add glibc.
51134
51135 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51136
51137         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51138         by karl@freefriends.org (Karl Berry).
51139         * doc/alloca.texi: Likewise.
51140         * doc/c-ctype.texi: Likewise.
51141         * doc/c-strcase.texi: Likewise.
51142         * doc/c-strcaseeq.texi: Likewise.
51143         * doc/c-strcasestr.texi: Likewise.
51144         * doc/c-strstr.texi: Likewise.
51145         * doc/c-strtod.texi: Likewise.
51146         * doc/c-strtold.texi: Likewise.
51147         * doc/ctime.texi: Likewise.
51148         * doc/error.texi: Likewise.
51149         * doc/fdl.texi: Likewise.
51150         * doc/gcd.texi: Likewise.
51151         * doc/getdate.texi: Likewise.
51152         * doc/gnulib-intro.texi: Likewise.
51153         * doc/gnulib-tool.texi: Likewise.
51154         * doc/gnulib.texi: Likewise.
51155         * doc/inet_ntoa.texi: Likewise.
51156         * doc/maintain.texi: Likewise.
51157         * doc/make-stds.texi: Likewise.
51158         * doc/quote.texi: Likewise.
51159         * doc/regexprops-generic.texi: Likewise.
51160         * doc/standards.texi: Likewise.
51161         * doc/verify.texi: Likewise.
51162         * doc/visibility.texi: Likewise.
51163         * doc/gnulib.texi (GNU Free Documentation License): Include
51164         fdl-1.3.texi instead of fdl.texi.
51165
51166 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51167
51168         * doc/fdl-1.3.texi: New file, from
51169         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51170         * modules/fdl-1.3: Add.
51171         * MODULES.html.sh: Add fdl-1.3.
51172
51173 2008-11-03  Bruno Haible  <bruno@clisp.org>
51174
51175         Make determination of absolute name of header file work with AIX xlc.
51176         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51177         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51178         preprocessing.
51179         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51180         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51181
51182 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51183
51184         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51185         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51186         <ludo@gnu.org>.
51187
51188 2008-11-02  Bruno Haible  <bruno@clisp.org>
51189
51190         Mark 'strpbrk' obsolete.
51191         * modules/strpbrk (Status, Notice): New sections.
51192         * modules/strtok_r (Depends-on): Add strpbrk.
51193
51194 2008-11-02  Bruno Haible  <bruno@clisp.org>
51195
51196         Mark 'strdup' obsolete.
51197         * modules/strdup (Status, Notice): New sections.
51198         * modules/findprog (Depends-on): Add strdup.
51199         * modules/getaddrinfo (Depends-on): Likewise.
51200         * modules/localename (Depends-on): Likewise.
51201         * modules/relocatable-lib (Depends-on): Likewise.
51202         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51203         * modules/relocatable-prog (Depends-on): Likewise.
51204         * modules/trim (Depends-on): Likewise.
51205         * modules/unictype/gen-ctype (Depends-on): Likewise.
51206         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51207
51208 2008-11-02  Bruno Haible  <bruno@clisp.org>
51209
51210         Mark 'strcspn' obsolete.
51211         * modules/strcspn (Status, Notice): New sections.
51212
51213 2008-11-02  Bruno Haible  <bruno@clisp.org>
51214
51215         Mark 'rmdir' obsolete.
51216         * modules/rmdir (Status, Notice): New sections.
51217         * modules/clean-temp (Depends-on): Add rmdir.
51218         * modules/openat (Depends-on): Likewise.
51219
51220 2008-11-02  Bruno Haible  <bruno@clisp.org>
51221
51222         Mark 'raise' obsolete.
51223         * modules/raise (Status, Notice): New sections.
51224         (Include): Specify <signal.h>.
51225         * modules/stdio (Depends-on): Add raise.
51226         * modules/write (Depends-on): Likewise.
51227
51228 2008-11-02  Bruno Haible  <bruno@clisp.org>
51229
51230         Mark 'memset' obsolete.
51231         * modules/memset (Status, Notice): New sections.
51232
51233 2008-11-02  Bruno Haible  <bruno@clisp.org>
51234
51235         Mark 'memmove' obsolete.
51236         * modules/memmove (Status, Notice): New sections.
51237         * modules/argp (Depends-on): Add memmove.
51238         * modules/argz (Depends-on): Likewise.
51239         * modules/canonicalize (Depends-on): Likewise.
51240         * modules/canonicalize-lgpl (Depends-on): Likewise.
51241         * modules/fts (Depends-on): Likewise.
51242         * modules/getcwd (Depends-on): Likewise.
51243         * modules/human (Depends-on): Likewise.
51244         * modules/regex (Depends-on): Likewise.
51245         * modules/striconveh (Depends-on): Likewise.
51246         * modules/trim (Depends-on): Likewise.
51247         * modules/unistr/u8-move (Depends-on): Likewise.
51248         * modules/unistr/u16-move (Depends-on): Likewise.
51249         * modules/unistr/u32-move (Depends-on): Likewise.
51250
51251 2008-11-02  Bruno Haible  <bruno@clisp.org>
51252
51253         Mark 'memcpy' obsolete.
51254         * modules/memcpy (Status, Notice): New sections.
51255
51256 2008-11-02  Bruno Haible  <bruno@clisp.org>
51257
51258         Mark 'memcmp' obsolete.
51259         * modules/memcmp (Status, Notice): New sections.
51260         * modules/argmatch (Depends-on): Add memchr.
51261         * modules/backupfile (Depends-on): Likewise.
51262         * modules/c-strcasestr (Depends-on): Likewise.
51263         * modules/crypto/des (Depends-on): Likewise.
51264         * modules/csharpcomp (Depends-on): Likewise.
51265         * modules/fnmatch (Depends-on): Likewise.
51266         * modules/git-merge-changelog (Depends-on): Likewise.
51267         * modules/isnand (Depends-on): Likewise.
51268         * modules/isnand-nolibm (Depends-on): Likewise.
51269         * modules/isnanf (Depends-on): Likewise.
51270         * modules/isnanf-nolibm (Depends-on): Likewise.
51271         * modules/isnanl (Depends-on): Likewise.
51272         * modules/isnanl-nolibm (Depends-on): Likewise.
51273         * modules/mbchar (Depends-on): Likewise.
51274         * modules/memcoll (Depends-on): Likewise.
51275         * modules/quotearg (Depends-on): Likewise.
51276         * modules/regex (Depends-on): Likewise.
51277         * modules/relocatable-prog (Depends-on): Likewise.
51278         * modules/same (Depends-on): Likewise.
51279         * modules/signbit (Depends-on): Likewise.
51280         * modules/strcasestr-simple (Depends-on): Likewise.
51281         * modules/unictype/gen-ctype (Depends-on): Likewise.
51282         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51283         * modules/uniname/uniname (Depends-on): Likewise.
51284         * modules/unistr/u8-cmp (Depends-on): Likewise.
51285
51286 2008-11-02  Bruno Haible  <bruno@clisp.org>
51287
51288         Mark 'memchr' obsolete.
51289         * modules/memchr (Status, Notice): New sections.
51290         * modules/argp (Depends-on): Add memchr.
51291         * modules/base64 (Depends-on): Likewise.
51292         * modules/c-strcasestr (Depends-on): Likewise.
51293         * modules/chdir-long (Depends-on): Likewise.
51294         * modules/fnmatch (Depends-on): Likewise.
51295         * modules/getsubopt (Depends-on): Likewise.
51296         * modules/git-merge-changelog (Depends-on): Likewise.
51297         * modules/glob (Depends-on): Likewise.
51298         * modules/strcasestr-simple (Depends-on): Likewise.
51299         * modules/strnlen (Depends-on): Likewise.
51300
51301 2008-11-02  Bruno Haible  <bruno@clisp.org>
51302
51303         Mark 'atexit' obsolete.
51304         * modules/atexit (Status, Notice): New sections.
51305         * modules/chdir-long (Depends-on): Add atexit.
51306         * modules/wait-process (Depends-on): Likewise.
51307
51308 2008-11-02  Bruno Haible  <bruno@clisp.org>
51309
51310         * gnulib-tool: New option --with-obsolete.
51311         (func_usage): Document it.
51312         (func_modules_transitive_closure): Drop obsolete dependencies if
51313         incobsolete is not true.
51314         (func_import): Read and save the incobsolete variable to the cache.
51315
51316 2008-11-02  Bruno Haible  <bruno@clisp.org>
51317
51318         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51319         * gnulib-tool: New option --extract-status.
51320         (func_usage): Document it.
51321         (sed_extract_prog): Recognize it.
51322         (func_get_status): New function.
51323
51324 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51325
51326         * modules/sockets (License): Change from LGPL to LGPLv2+.
51327
51328 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51329
51330         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51331
51332 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51333
51334         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51335         Mention times and sys_times.
51336         * modules/sys_times, modules/sys_times-tests: New modules.
51337         * modules/times, modules/times-tests: Likewise
51338         * m4/sys_times_h.m4: New file.
51339         * lib/sys_times.in.h: Likewise
51340         * lib/times.c: Likewise.
51341         * tests/test-sys_times.c: Likewise.
51342         * tests/test-times.c: Likewise.
51343         * doc/posix-headers/sys_times.texi: Update.
51344         * doc/posix-functions/times.texi: Update.
51345
51346 2008-10-28  Jim Meyering  <meyering@redhat.com>
51347
51348         * modules/tempname (Depends-on): Add lstat.
51349
51350         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51351
51352 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51353
51354         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51355         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51356         using idiom used elsewhere in gnulib.
51357
51358 2008-10-27  Jim Meyering  <meyering@redhat.com>
51359
51360         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51361
51362 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51363
51364         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51365         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51366         programs.
51367         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51368
51369 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51370
51371         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51372
51373 2008-10-27  Bruno Haible  <bruno@clisp.org>
51374
51375         * tests/test-lstat.c: Include <stdio.h>.
51376
51377 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51378
51379         * modules/lstat-tests: New module.
51380         * tests/test-lstat.c: New file.
51381
51382 2008-10-26  Jim Meyering  <meyering@redhat.com>
51383
51384         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51385
51386 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51387             Bruno Haible  <bruno@clisp.org>
51388
51389         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51390         * modules/configmake (Include): Add a note that the include must come
51391         after all system headers.
51392         * lib/javaversion.c: Include configmake.h after all other includes.
51393
51394 2008-10-26  Bruno Haible  <bruno@clisp.org>
51395
51396         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51397         HAVE_STRUCT_RANDOM_DATA to 1.
51398         (gl_STDLIB_H): Simplify.
51399
51400 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51401
51402         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51403         substitute HAVE_STRUCT_RANDOM_DATA.
51404         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51405         random_data.
51406         * modules/stdlib (Makefile.am): Substitute
51407         HAVE_STRUCT_RANDOM_DATA.
51408
51409 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51410
51411         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51412         * doc/gnulib-intro.texi (Copyright): Likewise.
51413
51414 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51415
51416         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51417         findings.
51418
51419 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51420             Bruno Haible  <bruno@clisp.org>
51421
51422         * lib/unistd.in.h: Include <winsock2.h>.
51423         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51424         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51425         Provide dummy declarations.
51426         (gethostname): Override.
51427         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51428         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51429         gl_PREREQ_SYS_H_WINSOCK2.
51430         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51431         * doc/posix-functions/gethostname.texi: More details.
51432
51433 2008-10-25  Bruno Haible  <bruno@clisp.org>
51434
51435         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51436         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51437         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51438
51439         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51440         here ...
51441         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51442         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51443         gl_UNISTD_H_DEFAULTS.
51444
51445 2008-10-25  Eric Blake  <ebb9@byu.net>
51446
51447         signbit: avoid spurious compiler failure
51448         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51449         declarations inside function.
51450
51451 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51452             Bruno Haible  <bruno@clisp.org>
51453
51454         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51455         * modules/random_r (Depends-on): Add stdint.
51456
51457 2008-10-24  Bruno Haible  <bruno@clisp.org>
51458
51459         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51460         Eggert.
51461         * modules/strerror (License): Likewise.
51462
51463 2008-10-24  Jim Meyering  <meyering@redhat.com>
51464
51465         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51466         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51467
51468 2008-10-24  Eric Blake  <ebb9@byu.net>
51469
51470         getgroups: fix compilation when getgroups is available
51471         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51472         but with <config.h> override of getgroups disabled.
51473
51474 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51475
51476         * doc/gnulib.texi (Header files): Add note about C++ problems.
51477         Explained by Bruno Haible <bruno@clisp.org>.
51478
51479 2008-10-23  Bruno Haible  <bruno@clisp.org>
51480
51481         Define a dummy SA_NODEFER macro on Interix.
51482         * lib/signal.in.h (SA_NODEFER): Define fallback.
51483         Reported by Aleksey Cheusov <cheusov@tut.by> via
51484         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51485
51486 2008-10-23  Bruno Haible  <bruno@clisp.org>
51487
51488         * modules/freadahead (License): Change to LGPLv2+.
51489         Suggested by Simon Josefsson.
51490
51491 2008-10-23  Jim Meyering  <meyering@redhat.com>
51492
51493         random_r: new module
51494         * modules/random_r: New file.
51495         * m4/random_r.m4: New file.
51496         * lib/random_r.c: New file, from glibc.
51497         * modules/random_r-tests: New file.
51498         * tests/test-random_r.c: New file.
51499         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51500          Declare.
51501         (RAND_MAX): Define.
51502         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51503         * modules/stdlib: Substitute them, too.
51504         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51505         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51506         * doc/glibc-functions/random_r.texi: Likewise.
51507         * doc/glibc-functions/setstate_r.texi: Likewise.
51508         * doc/glibc-functions/srandom_r.texi: Likewise.
51509         * config/srclist.txt: Mention it.
51510
51511 2008-10-23  David Lutterkort  <lutter@redhat.com>
51512
51513         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51514         link requirement
51515
51516 2008-10-23  Jim Meyering  <meyering@redhat.com>
51517
51518         selinux-h: mark parameters of stub functions as intentionally unused
51519         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51520         * lib/se-context.in.h: Likewise.
51521
51522 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51523
51524         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51525
51526 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51527
51528         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51529
51530 2008-10-22  Eric Blake  <ebb9@byu.net>
51531
51532         glthread/thread: avoid compiler warning
51533         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51534         Add unreachable abort to silence compiler.
51535
51536 2008-10-22  Eric Blake  <ebb9@byu.net>
51537
51538         netdb: also supply struct addrinfo for cygwin 1.5.x
51539         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51540         older cygwin.
51541         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51542         cygwin.
51543         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51544
51545 2008-10-22  Bruno Haible  <bruno@clisp.org>
51546
51547         * users.txt: Update entry about pspp.
51548
51549 2008-10-21  Bruno Haible  <bruno@clisp.org>
51550
51551         Simplification.
51552         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51553         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51554
51555         Simplification.
51556         * lib/ioctl.c (ioctl): Don't undefine.
51557         * lib/socket.c (socket): Don't undefine.
51558
51559         Remove unused module indicator macros.
51560         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51561         GNULIB_$1 as a C macro.
51562
51563         * doc/posix-functions/close.texi: Undo last change.
51564         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
51565         Windows platforms.
51566
51567 2008-10-21  Bruno Haible  <bruno@clisp.org>
51568
51569         Add gethostname() declaration to <unistd.h>.
51570         * lib/unistd.in.h (gethostname): New declaration.
51571         * lib/gethostname.c: Include <unistd.h>.
51572         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
51573         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
51574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
51575         and HAVE_GETHOSTNAME.
51576         * modules/gethostname (Depends-on): Add unistd.
51577         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51578         (Include): Specify <unistd.h>.
51579         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
51580         HAVE_GETHOSTNAME.
51581         * tests/test-gethostname.c: Include <unistd.h> first.
51582
51583 2008-10-21  Bruno Haible  <bruno@clisp.org>
51584
51585         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
51586         * modules/select-tests (Depends-on): Likewise.
51587         Reported by Simon Josefsson.
51588
51589 2008-10-21  Simon Josefsson  <simon@josefsson.org>
51590
51591         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
51592         * lib/accept.c: New file, based on winsock.c.
51593         * lib/bind.c: New file, based on winsock.c.
51594         * lib/connect.c: New file, based on winsock.c.
51595         * lib/getpeername.c: New file, based on winsock.c.
51596         * lib/getsockname.c: New file, based on winsock.c.
51597         * lib/getsockopt.c: New file, based on winsock.c.
51598         * lib/ioctl.c: New file, based on winsock.c.
51599         * lib/listen.c: New file, based on winsock.c.
51600         * lib/recv.c: New file, based on winsock.c.
51601         * lib/recvfrom.c: New file, based on winsock.c.
51602         * lib/send.c: New file, based on winsock.c.
51603         * lib/sendto.c: New file, based on winsock.c.
51604         * lib/setsockopt.c: New file, based on winsock.c.
51605         * lib/shutdown.c: New file, based on winsock.c.
51606         * lib/socket.c: New file, based on winsock.c.
51607         * lib/w32sock.h: New file, based on winsock.c.
51608         * lib/winsock.c: Remove file.
51609         * modules/accept: Likewise.
51610         * modules/bind: Likewise.
51611         * modules/connect: Likewise.
51612         * modules/getpeername: Likewise.
51613         * modules/getsockname: Likewise.
51614         * modules/getsockopt: Likewise.
51615         * modules/ioctl: Likewise.
51616         * modules/listen: Likewise.
51617         * modules/recv: Likewise.
51618         * modules/recvfrom: Likewise.
51619         * modules/send: Likewise.
51620         * modules/sendto: Likewise.
51621         * modules/setsockopt: Likewise.
51622         * modules/shutdown: Likewise.
51623         * modules/socket: Use socket.c instead of winsock.c.
51624         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
51625         * doc/posix-functions/accept.texi: Doc fix.
51626         * doc/posix-functions/bind.texi: Doc fix.
51627         * doc/posix-functions/close.texi: Doc fix.
51628         * doc/posix-functions/connect.texi: Doc fix.
51629         * doc/posix-functions/getpeername.texi: Doc fix.
51630         * doc/posix-functions/getsockname.texi: Doc fix.
51631         * doc/posix-functions/getsockopt.texi: Doc fix.
51632         * doc/posix-functions/ioctl.texi: Doc fix.
51633         * doc/posix-functions/listen.texi: Doc fix.
51634         * doc/posix-functions/recv.texi: Doc fix.
51635         * doc/posix-functions/recvfrom.texi: Doc fix.
51636         * doc/posix-functions/send.texi: Doc fix.
51637         * doc/posix-functions/sendto.texi: Doc fix.
51638         * doc/posix-functions/setsockopt.texi: Doc fix.
51639         * doc/posix-functions/shutdown.texi: Doc fix.
51640         * doc/posix-functions/socket.texi: Doc fix.
51641
51642 2008-10-20  Bruno Haible  <bruno@clisp.org>
51643
51644         Take into account the role of SIGABRT_COMPAT on Windows 2008.
51645         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
51646         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
51647         as an alias for SIGABRT.
51648         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
51649         (sigaction): Map it to SIGABRT.
51650         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
51651
51652 2008-10-20  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/fts.c: Don't include lstat.h.
51655         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
51656
51657         Move the lstat() declaration to <sys/stat.h>.
51658         * lib/lstat.h: Remove file.
51659         * lib/sys_stat.in.h: Add special invocation convention.
51660         (lstat): New declaration.
51661         * lib/lstat.c (orig_lstat): New function.
51662         (rpl_lstat): Use orig_lstat instead of lstat.
51663         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
51664         AC_C_INLINE. Set REPLACE_LSTAT.
51665         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
51666         and REPLACE_LSTAT.
51667         * modules/lstat (Files): Remove lib/lstat.h.
51668         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51669         (Include): Specify <sys/stat.h> instead of lstat.h.
51670         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
51671         REPLACE_LSTAT.
51672         * NEWS: Mention the change.
51673
51674 2008-10-20  Bruno Haible  <bruno@clisp.org>
51675
51676         * modules/posix_spawn-tests: New file.
51677         * tests/test-posix_spawn3.c: New file.
51678
51679 2008-10-20  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
51682         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51683         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
51684         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51685         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
51686
51687 2008-10-20  Bruno Haible  <bruno@clisp.org>
51688
51689         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
51690         of posix_spawn on AIX 5.3.
51691
51692 2008-10-20  Bruno Haible  <bruno@clisp.org>
51693
51694         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
51695
51696 2008-10-20  Bruno Haible  <bruno@clisp.org>
51697
51698         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
51699         of AC_LANG_PROGRAM.
51700
51701 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51702
51703         * lib/netdb.in.h: Don't define GNU specific constants until they
51704         are supported or needed.  Reported by Bruno Haible
51705         <bruno@clisp.org>.
51706
51707 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51708
51709         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
51710
51711 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51712
51713         * lib/getaddrinfo.h: Remove file.
51714         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
51715         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
51716         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
51717         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
51718         * modules/netdb: Substitute GNULIB_GETADDRINFO.
51719         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
51720         * tests/test-getaddrinfo.c: Likewise.
51721         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
51722         * NEWS: Mention change.
51723
51724 2008-10-19  Bruno Haible  <bruno@clisp.org>
51725
51726         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
51727
51728 2008-10-19  Bruno Haible  <bruno@clisp.org>
51729
51730         * lib/wait-process.c: Include simply <sys/wait.h>.
51731         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
51732         WIFSTOPPED): Remove fallback definitions.
51733         * modules/wait-process (Depends-on): Add sys_wait.
51734
51735         New module 'sys_wait'.
51736         * modules/sys_wait: New file.
51737         * lib/sys_wait.in.h: New file, partially copied from
51738         lib/wait-process.c.
51739         * m4/sys_wait_h.m4: New file.
51740         * doc/posix-headers/sys_wait.texi: Mention the new module.
51741
51742 2008-10-19  Bruno Haible  <bruno@clisp.org>
51743
51744         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
51745
51746 2008-10-19  Bruno Haible  <bruno@clisp.org>
51747
51748         Assume that waitpid() fills an 'int' status, not a 'union wait'.
51749         * lib/wait-process.c (WAIT_T): Remove type.
51750         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
51751         (wait_subprocess): Update.
51752
51753 2008-10-19  Bruno Haible  <bruno@clisp.org>
51754
51755         New module 'atoll'.
51756         * modules/atoll: New file.
51757         * lib/stdlib.in.h (atoll): New declaration.
51758         * lib/atoll.c: New file, from glibc with modifications.
51759         * m4/atoll.m4: New file.
51760         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
51761         HAVE_ATOLL.
51762         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
51763         * doc/posix-functions/atoll.texi: Mention the new module.
51764
51765 2008-10-19  Bruno Haible  <bruno@clisp.org>
51766
51767         Add strtoull() declaration to <stdlib.h>.
51768         * lib/stdlib.in.h (strtoull): New declaration.
51769         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51770         Set HAVE_STRTOULL.
51771         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51772         HAVE_STRTOULL.
51773         * modules/strtoull (Depends-on): Add stdlib.
51774         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51775         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51776         HAVE_STRTOULL.
51777
51778 2008-10-19  Bruno Haible  <bruno@clisp.org>
51779
51780         Add strtoll() declaration to <stdlib.h>.
51781         * lib/stdlib.in.h (strtoll): New declaration.
51782         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51783         Set HAVE_STRTOLL.
51784         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51785         HAVE_STRTOLL.
51786         * modules/strtoll (Depends-on): Add stdlib.
51787         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51788         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51789
51790 2008-10-19  Bruno Haible  <bruno@clisp.org>
51791
51792         * modules/bcopy (Depends-on): Add strings.
51793         (Include): Specify <strings.h>.
51794
51795 2008-10-19  Bruno Haible  <bruno@clisp.org>
51796
51797         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51798
51799 2008-10-19  Bruno Haible  <bruno@clisp.org>
51800
51801         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51802         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51803         mingw.
51804
51805 2008-10-19  Bruno Haible  <bruno@clisp.org>
51806
51807         * lib/atanl.c: Don't include isnanl.h.
51808         * lib/cosl.c: Likewise.
51809         * lib/ldexpl.c: Likewise.
51810         * lib/logl.c: Likewise.
51811         * lib/sinl.c: Likewise.
51812         * lib/sqrtl.c: Likewise.
51813         * lib/tanl.c: Likewise.
51814
51815         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51816         * lib/isnanf.h: Remove file.
51817         * lib/isnand.h: Remove file.
51818         * lib/isnanl.h: Remove file.
51819         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51820         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51821         macros.
51822         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51823         HAVE_ISNANF, don't define it as a C macro.
51824         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51825         HAVE_ISNAND, don't define it as a C macro.
51826         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51827         HAVE_ISNANL, don't define it as a C macro.
51828         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51829         HAVE_ISNAN[FDL].
51830         * modules/isnanf (Files): Remove lib/isnanf.h.
51831         (Depends-on): Add math.
51832         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51833         (Include): Specify <math.h> instead of isnanf.h.
51834         * modules/isnand (Files): Remove lib/isnand.h.
51835         (Depends-on): Add math.
51836         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51837         (Include): Specify <math.h> instead of isnand.h.
51838         * modules/isnanl (Files): Remove lib/isnanl.h.
51839         (Depends-on): Add math.
51840         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51841         (Include): Specify <math.h> instead of isnanl.h.
51842         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51843         HAVE_ISNAN[FDL].
51844         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51845         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51846         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51847         * NEWS: Mention the change.
51848
51849 2008-10-18  Bruno Haible  <bruno@clisp.org>
51850
51851         Add getusershell(), setusershell(), endusershell() declarations to
51852         <unistd.h>.
51853         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51854         declarations.
51855         * lib/getusershell.c: Include unistd.h.
51856         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51857         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51858         HAVE_GETUSERSHELL.
51859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51860         and HAVE_GETUSERSHELL.
51861         * modules/getusershell (Depends-on): Add unistd, extensions.
51862         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51863         (Include): Specify <unistd.h>.
51864         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51865         HAVE_GETUSERSHELL.
51866
51867 2008-10-18  Bruno Haible  <bruno@clisp.org>
51868
51869         Add a getloadavg() declaration to <stdlib.h>.
51870         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51871         getloadavg declaration.
51872         (getloadavg): New declaration.
51873         * lib/getloadavg.c: Include <stdlib.h> first.
51874         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51875         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51876         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51877         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51878         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51879         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51880         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51881         (Include): Specify <stdlib.h>.
51882         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51883         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51884
51885 2008-10-18  Bruno Haible  <bruno@clisp.org>
51886
51887         * lib/dirchownmod.c: Don't include lchmod.h.
51888
51889         Move the lchmod() declaration to <sys/stat.h>.
51890         * lib/lchmod.h: Remove file.
51891         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51892         (lchmod): New declaration, moved here from lib/lchown.h.
51893         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51894         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51895         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51896         and HAVE_LCHMOD.
51897         * modules/lchmod (Files): Remove lib/lchmod.h.
51898         (Depends-on): Add sys_stat, extensions.
51899         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51900         (Include): Specify <sys/stat.h> instead of lchmod.h.
51901         * modules/sys_stat (Depends-on): Add link-warning.
51902         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51903         definition of GL_LINK_WARNING.
51904         * NEWS: Mention the change.
51905
51906 2008-10-18  Bruno Haible  <bruno@clisp.org>
51907
51908         * lib/fchdir.c: Don't include dirfd.h.
51909         * lib/fts.c: Likewise.
51910         * lib/getcwd.c: Likewise.
51911         * lib/glob.c: Likewise.
51912
51913         Move the dirfd() declaration to <dirent.h>.
51914         * lib/dirfd.h: Remove file.
51915         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51916         (dirfd): New declaration.
51917         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51918         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51919         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51920         HAVE_DECL_DIRFD.
51921         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51922         HAVE_DECL_DIRFD.
51923         * modules/dirfd (Files): Remove lib/dirfd.h.
51924         (Depends-on): Add dirent, extensions.
51925         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51926         (Include): Specify <dirent.h> instead of dirfd.h.
51927         * modules/dirent (Depends-on): Add link-warning.
51928         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51929         definition of GL_LINK_WARNING.
51930         * NEWS: Mention the change.
51931
51932 2008-10-18  Bruno Haible  <bruno@clisp.org>
51933
51934         Move the euidaccess() declaration to <unistd.h>.
51935         * lib/euidaccess.h: Remove file.
51936         * lib/unistd.in.h (euidaccess): New declaration.
51937         * lib/euidaccess.c: Don't include euidaccess.h.
51938         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51939         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51941         and HAVE_EUIDACCESS.
51942         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51943         (Depends-on): Add unistd.
51944         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51945         (Include): Specify <unistd.h> instead of euidaccess.h.
51946         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51947         HAVE_EUIDACCESS.
51948         * NEWS: Mention the change.
51949
51950 2008-10-18  Bruno Haible  <bruno@clisp.org>
51951
51952         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51953
51954         Move the getdomainname() declaration to <unistd.h>.
51955         * lib/getdomainname.h: Remove file.
51956         * lib/unistd.in.h (getdomainname): New declaration.
51957         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51958         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51959         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51960         HAVE_GETDOMAINNAME.
51961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51962         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51963         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51964         (Depends-on): Add unistd, extensions.
51965         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51966         (Includes): Specify <unistd.h> instead of getdomainname.h.
51967         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51968         HAVE_GETDOMAINNAME.
51969         * NEWS: Mention the change.
51970
51971 2008-10-18  Bruno Haible  <bruno@clisp.org>
51972
51973         * modules/dirent: New file.
51974         * m4/dirent_h.m4: New file.
51975         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51976         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51977         * modules/fchdir (Files): Remove lib/dirent.in.h.
51978         (Depends-on): Add dirent.
51979         (Makefile.am): Move rules to modules/dirent.
51980         * doc/posix-headers/dirent.texi: Mention the new module.
51981
51982 2008-10-18  Bruno Haible  <bruno@clisp.org>
51983
51984         Avoid -Wunused-parameter warnings in public gnulib header files.
51985         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51986         macro.
51987         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51988
51989 2008-10-18  Bruno Haible  <bruno@clisp.org>
51990
51991         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51992         * doc/glibc-functions/error.texi: Mention the module 'error'.
51993         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51994         * doc/glibc-functions/getdomainname.texi: Mention the module
51995         'getdomainname'.
51996         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51997         * doc/glibc-functions/getpagesize.texi: Mention the module
51998         'getpagesize'.
51999         * doc/glibc-functions/getusershell.texi: Mention the module
52000         'getusershell'.
52001         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52002         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52003         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52004         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52005         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52006         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52007         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52008         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52009         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52010         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52011         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52012         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52013         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52014         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52015
52016 2008-10-17  Bruno Haible  <bruno@clisp.org>
52017
52018         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52019         HP-UX and IRIX, use -0.0L.
52020         * tests/test-ceill.c (minus_zero): Likewise.
52021         * tests/test-floorl.c (minus_zero): Likewise.
52022         * tests/test-frexpl.c (minus_zero): Likewise.
52023         * tests/test-isnan.c (minus_zerol): Likewise.
52024         * tests/test-isnanl.h (minus_zero): Likewise.
52025         * tests/test-ldexpl.c (minus_zero): Likewise.
52026         * tests/test-roundl.c (minus_zero): Likewise.
52027         * tests/test-signbit.c (minus_zerol): Likewise.
52028         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52029         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52030         * tests/test-truncl.c (minus_zero): Likewise.
52031         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52032         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52033         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52034         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52035
52036 2008-10-17  Bruno Haible  <bruno@clisp.org>
52037
52038         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52039         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52040         that it gets activated only for gcc >= 3.0.
52041         * lib/dirent.in.h: Likewise.
52042         * lib/errno.in.h: Likewise.
52043         * lib/fcntl.in.h: Likewise.
52044         * lib/float.in.h: Likewise.
52045         * lib/iconv.in.h: Likewise.
52046         * lib/inttypes.in.h: Likewise.
52047         * lib/locale.in.h: Likewise.
52048         * lib/math.in.h: Likewise.
52049         * lib/netdb.in.h: Likewise.
52050         * lib/netinet_in.in.h: Likewise.
52051         * lib/search.in.h: Likewise.
52052         * lib/signal.in.h: Likewise.
52053         * lib/spawn.in.h: Likewise.
52054         * lib/stdarg.in.h: Likewise.
52055         * lib/stdint.in.h: Likewise.
52056         * lib/stdio.in.h: Likewise.
52057         * lib/stdlib.in.h: Likewise.
52058         * lib/string.in.h: Likewise.
52059         * lib/strings.in.h: Likewise.
52060         * lib/sys_file.in.h: Likewise.
52061         * lib/sys_ioctl.in.h: Likewise.
52062         * lib/sys_select.in.h: Likewise.
52063         * lib/sys_socket.in.h: Likewise.
52064         * lib/sys_stat.in.h: Likewise.
52065         * lib/sys_time.in.h: Likewise.
52066         * lib/sysexits.in.h: Likewise.
52067         * lib/time.in.h: Likewise.
52068         * lib/unistd.in.h: Likewise.
52069         * lib/wchar.in.h: Likewise.
52070         * lib/wctype.in.h: Likewise.
52071         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52072
52073 2008-10-17  Jim Meyering  <meyering@redhat.com>
52074
52075         ignore-value: don't depend on inline module
52076         * modules/ignore-value (Depends-on): Remove 'inline'.
52077         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52078         Suggestion from Bruno Haible.
52079
52080 2008-10-17  Bruno Haible  <bruno@clisp.org>
52081
52082         New implementation of condition variables for Win32.
52083         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52084         (gl_linked_waitqueue_t): New type.
52085         (gl_cond_t): Use it.
52086         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52087         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52088         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52089         (glthread_cond_init_func, glthread_cond_wait_func,
52090         glthread_cond_timedwait_func, glthread_cond_signal_func,
52091         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52092         Reimplemented on the basis of gl_linked_waitqueue_t.
52093         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52094         gl_waitqueue_t.
52095         (gl_rwlock_t): Update.
52096         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52097
52098 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52099
52100         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52101         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52102
52103 2008-10-17  Jim Meyering  <meyering@redhat.com>
52104
52105         ignore-value: new module
52106         * modules/ignore-value: New file.
52107         * lib/ignore-value.h: New file.
52108         * MODULES.html.sh (Compiler warning management): New section,
52109         just for this module.  More to come.
52110
52111 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52112
52113         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52114         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52115         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52116
52117 2008-10-16  Jim Meyering  <meyering@redhat.com>
52118
52119         openat-die.c: avoid 'no previous prototype' warning
52120         * lib/openat-die.c: Include "openat.h".
52121         Reported by Reuben Thomas <rrt@sc3d.org>.
52122
52123 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52124
52125         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52126         * lib/netdb.in.h: Fix typo.
52127         Reported by Bruno Haible  <bruno@clisp.org>
52128
52129         * lib/netdb.in.h: Include sys/socket.h for platforms without
52130         netdb.h, to get structures like hostent on MinGW.
52131         * modules/netdb (Depends-on): Add sys_socket.
52132
52133 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52134
52135         * modules/netdb, modules/netdb-tests: New file.
52136         * m4/netdb_h.m4: New file.
52137         * lib/netdb.in.h: Add, currently just an empty file pending
52138         definitions.
52139         * tests/test-netdb.c: New file.
52140         * doc/posix-headers/netdb.texi: Mention that we replace it if
52141         needed.
52142         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52143         netdb.
52144
52145 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52146
52147         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52148         with code.
52149
52150 2008-10-13  Bruno Haible  <bruno@clisp.org>
52151
52152         * lib/glthread/cond.c (glthread_cond_wait_func,
52153         glthread_cond_timedwait_func): Add a comment.
52154
52155 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52156
52157         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52158         * tests/test-select.c: Likewise,
52159
52160 2008-10-13  Bruno Haible  <bruno@clisp.org>
52161
52162         * lib/glthread/cond.c (glthread_cond_wait_func,
52163         glthread_cond_timedwait_func): Fix variable name.
52164         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52165
52166 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52167
52168         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52169         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52170         struct sockaddr.sa_len.
52171         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52172
52173 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52174
52175         * build-aux/pmccabe2html: Add css and css_url parameters.
52176
52177 2008-10-12  Bruno Haible  <bruno@clisp.org>
52178
52179         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52180         calling aclx_get.
52181         Reported by Rainer Tammer <tammer@tammer.net>.
52182
52183 2008-10-12  Bruno Haible  <bruno@clisp.org>
52184
52185         Use msvcrt aware primitives for creation/termination of Win32 threads.
52186         * lib/glthread/thread.c: Include <process.h>.
52187         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52188         (wrapper_func): Update signature.
52189         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52190
52191 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52192             Bruno Haible  <bruno@clisp.org>
52193
52194         Provide a Win32 implementation of the 'cond' module.
52195         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52196         * lib/glthread/cond.c (glthread_cond_init_func,
52197         glthread_cond_wait_func, glthread_cond_timedwait_func,
52198         glthread_cond_signal_func, glthread_cond_broadcast_func,
52199         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52200         * modules/cond (Dependencies): Add gettimeofday.
52201
52202 2008-10-11  Bruno Haible  <bruno@clisp.org>
52203
52204         Make sleep work on older versions of mingw.
52205         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52206         only whether it exists.
52207         * doc/posix-functions/sleep.texi: Mention the problem with older
52208         versions of mingw.
52209
52210 2008-10-11  Bruno Haible  <bruno@clisp.org>
52211
52212         New module 'shutdown'.
52213         * modules/shutdown: New file.
52214         * lib/sys_socket.in.h (shutdown): New declaration.
52215         * lib/winsock.c (shutdown): New function.
52216         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52217         GNULIB_SHUTDOWN.
52218         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52219         * doc/posix-functions/shutdown.texi: Document the new module.
52220
52221 2008-10-11  Jim Meyering  <meyering@redhat.com>
52222
52223         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52224
52225 2008-10-11  Bruno Haible  <bruno@clisp.org>
52226
52227         New module 'fclose'.
52228         * modules/fclose: New file.
52229         * lib/stdio.in.h (fclose): New declaration.
52230         * lib/fclose.c: New file.
52231         * m4/fclose.m4: New file.
52232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
52233         REPLACE_FCLOSE.
52234         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
52235         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
52236         REPLACE_FCLOSE.
52237         * modules/close (Depends-on): fclose.
52238         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
52239
52240 2008-10-11  Bruno Haible  <bruno@clisp.org>
52241
52242         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
52243         set errno and don't call _close.
52244
52245 2008-10-10  Bruno Haible  <bruno@clisp.org>
52246
52247         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
52248         ACL, not afterwards. Fixes test failure on Cygwin.
52249
52250 2008-10-09  Ben Pfaff  <blp@gnu.org>
52251
52252         * build-aux/announce-gen: Fix gnulib version related part of usage
52253         message.  Die with a useful error message if no tarballs are
52254         found.
52255
52256 2008-10-10  Jim Meyering  <meyering@redhat.com>
52257
52258         bootstrap: use git's --depth=N option only if it's supported
52259         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52260         recognize the --depth option.  Reported by Pádraig Brady.
52261
52262 2008-10-09  Bruno Haible  <bruno@clisp.org>
52263
52264         New module 'ioctl'.
52265         * modules/ioctl: New file.
52266         * lib/sys_socket.in.h (ioctl): Remove declaration.
52267         * lib/winsock.c: Include <sys/ioctl.h>.
52268         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52269         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52270         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52271         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52272         * doc/posix-functions/ioctl.texi: Mention the new module.
52273
52274 2008-10-09  Bruno Haible  <bruno@clisp.org>
52275
52276         New module 'sys_ioctl'.
52277         * lib/sys_ioctl.in.h: New file.
52278         * m4/sys_ioctl_h.m4: New file.
52279         * modules/sys_ioctl: New file.
52280         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52281
52282 2008-10-09  Bruno Haible  <bruno@clisp.org>
52283
52284         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52285         * lib/winsock.c: Include <stdarg.h>.
52286         (rpl_ioctl): Change to second argument 'int' and then varargs.
52287
52288 2008-10-09  Bruno Haible  <bruno@clisp.org>
52289
52290         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52291         when the sys_socket module is present and the system has <winsock2.h>.
52292
52293 2008-10-09  Bruno Haible  <bruno@clisp.org>
52294
52295         * doc/posix-functions/close.texi: Mention module 'close' instead of
52296         module 'sys_socket'.
52297
52298 2008-10-09  Bruno Haible  <bruno@clisp.org>
52299
52300         * doc/glibc-headers/sys_ioctl.texi: New file.
52301         * doc/gnulib.texi: Include it.
52302
52303 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52304             Bruno Haible  <bruno@clisp.org>
52305
52306         Combine the two replacements of 'close'.
52307         * lib/sys_socket.in.h (close): Define to a reminder to include
52308         <unistd.h>.
52309         (_gl_close_fd_maybe_socket): New declaration.
52310         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52311         * lib/winsock.c (close): Remove undefinition.
52312         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52313         needed for the gnulib module 'close'.
52314         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52315         define to an error symbol or to a warning, if suitable.
52316         * lib/close.c: Include <sys/socket.h>.
52317         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52318         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52319         UNISTD_H_HAVE_WINSOCK2_H.
52320         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52322         UNISTD_H_HAVE_WINSOCK2_H.
52323         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52324         (configure.ac): Set a module indicator.
52325         (Makefile.am): Substitute GNULIB_CLOSE.
52326         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52327         * modules/poll-tests (Depends-on): Add close.
52328         * modules/select-tests (Depends-on): Likewise.
52329
52330 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52331             Bruno Haible  <bruno@clisp.org>
52332
52333         New module 'close'.
52334         * modules/close: New file.
52335         * lib/unistd.in.h (close): Move declaration out of the
52336         FCHDIR_REPLACEMENT scope.
52337         (_gl_unregister_fd): New declaration.
52338         * lib/close.c: New file.
52339         * lib/fchdir.c (rpl_close): Remove function.
52340         * m4/close.m4: New file.
52341         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52342         close.
52343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52344         REPLACE_CLOSE.
52345         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52346         REPLACE_CLOSE.
52347         * modules/fchdir (Depends-on): Add close.
52348
52349 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52350             Bruno Haible  <bruno@clisp.org>
52351
52352         * lib/fcntl.in.h (open): Simplify conditionals.
52353         (_gl_register_fd): New declaration.
52354         * lib/fchdir.c (rpl_open): Remove function.
52355         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52356         also.
52357         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52358         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52359         open.
52360
52361 2008-10-09  Jim Meyering  <meyering@redhat.com>
52362
52363         GNUmakefile: use the more name-space-friendly "_version"
52364         * top/GNUmakefile (_dummy): Update.
52365         (_version): Rename from "version".
52366
52367 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52368             Bruno Haible  <bruno@clisp.org>
52369
52370         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52371         rpl_close.
52372         (_gl_register_fd): New function, extracted from rpl_open.
52373         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52374         (rpl_open, rpl_opendir): Use _gl_register_fd.
52375
52376 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52377
52378         Fix organization of 'open' replacement.
52379         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52380         (gl_FUNC_OPEN): Use it.
52381         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52382
52383 2008-10-08  Bruno Haible  <bruno@clisp.org>
52384
52385         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52386
52387 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52388
52389         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52390         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52391         listen).
52392
52393 2008-10-08  Eric Blake  <ebb9@byu.net>
52394
52395         GNUmakefile: add 'make version' target
52396         * top/GNUmakefile (_curr-ver): Split version update rules...
52397         (version): ...into a target.
52398
52399 2008-10-07  Bruno Haible  <bruno@clisp.org>
52400
52401         Use a more portable replacement expression for -0.0L.
52402         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52403         instead of -0.0L. Fix m4 quotation.
52404
52405         * tests/test-signbit.c: Include <float.h>.
52406         (minus_zero): New variable.
52407         (test_signbitl): Use minus_zero instead of -zero.
52408         * modules/signbit-tests (Depends-on): Add float.
52409
52410         * tests/test-ceill.c: Include <float.h>.
52411         (zero): Remove variable.
52412         (minus_zero): New variable.
52413         (main): Use minus_zero instead of -zero.
52414         * modules/ceill-tests (Depends-on): Add float.
52415
52416         * tests/test-floorl.c: Include <float.h>.
52417         (zero): Remove variable.
52418         (minus_zero): New variable.
52419         (main): Use minus_zero instead of -zero.
52420         * modules/floorl-tests (Depends-on): Add float.
52421
52422         * tests/test-roundl.c: Include <float.h>.
52423         (zero): Remove variable.
52424         (minus_zero): New variable.
52425         (main): Use minus_zero instead of -zero.
52426         * modules/roundl-tests (Depends-on): Add float.
52427
52428         * tests/test-truncl.c: Include <float.h>.
52429         (zero): Remove variable.
52430         (minus_zero): New variable.
52431         (main): Use minus_zero instead of -zero.
52432         * modules/truncl-tests (Depends-on): Add float.
52433
52434         * tests/test-frexpl.c (zero): Remove variable.
52435         (minus_zero): New variable.
52436         (main): Use minus_zero instead of -zero.
52437         * modules/frexpl-tests (Depends-on): Add float.
52438
52439         * tests/test-isnan.c (zerol): Remove variable.
52440         (minus_zerol): New variable.
52441         (test_long_double): Use minus_zerol instead of -zerol.
52442         * modules/isnan-tests (Depends-on): Add float.
52443
52444         * tests/test-isnanl.h (zero): Remove variable.
52445         (minus_zero): New variable.
52446         (main): Use minus_zero instead of -zero.
52447         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52448         * modules/isnanl-tests (Depends-on): Add float.
52449
52450         * tests/test-ldexpl.c (zero): Remove variable.
52451         (minus_zero): New variable.
52452         (main): Use minus_zero instead of -zero.
52453         * modules/ldexpl-tests (Depends-on): Add float.
52454
52455         * tests/test-snprintf-posix.h (zerol): Remove variable.
52456         (minus_zerol): New variable.
52457         (test_function): Use minus_zerol instead of -zerol.
52458         * modules/snprintf-posix-tests (Depends-on): Add float.
52459         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52460
52461         * tests/test-sprintf-posix.h (zerol): Remove variable.
52462         (minus_zerol): New variable.
52463         (test_function): Use minus_zerol instead of -zerol.
52464         * modules/sprintf-posix-tests (Depends-on): Add float.
52465         * modules/vsprintf-posix-tests (Depends-on): Add float.
52466
52467         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52468         (minus_zerol): New variable.
52469         (test_function): Use minus_zerol instead of -zerol.
52470         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52471
52472         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52473         (minus_zerol): New variable.
52474         (test_function): Use minus_zerol instead of -zerol.
52475         * modules/vasprintf-posix-tests (Depends-on): Add float.
52476
52477 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52478
52479         * MODULES.html.sh (Support for building documentation): Mention
52480         pmccabe2html.  Sort entries.
52481
52482         Add pmccabe2html module, from gnupdf.
52483         * build-aux/pmccabe.css: New file.
52484         * build-aux/pmccabe2html: New file.
52485         * m4/pmccabe2html.m4: New file.
52486         * modules/pmccabe2html: New file.
52487
52488 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52489
52490         flock: new module
52491         * MODULES.html.sh: Add to list of modules.
52492         * lib/flock.c: flock implementation for Windows and Unix systems
52493         which have fcntl.
52494         * doc/glibc-functions/flock.texi: Update documentation.
52495         * lib/sys_file.in.h: <sys/file.h> header file.
52496         * m4/flock.m4: M4 macros.
52497         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52498         * modules/flock: flock module.
52499         * modules/flock-tests: flock tests module.
52500         * modules/sys_file: sys/file.h module.
52501         * tests/test-flock.c: test suite for flock.
52502
52503 2008-10-06  Jim Meyering  <meyering@redhat.com>
52504
52505         bootstrap: check for LT_INIT more portably still ;-)
52506         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52507         Spotted by Bruno Haible.
52508
52509 2008-10-06  Eric Blake  <ebb9@byu.net>
52510
52511         test-signbit: avoid tripping Irix cc bug on -0.0L
52512         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52513         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52514         entire testsuite consistent and avoids an Irix 6.2 bug.
52515
52516 2008-10-05  Bruno Haible  <bruno@clisp.org>
52517             Jim Meyering  <jim@meyering.net>
52518
52519         Add an option for ignoring EPIPE during close_stdout.
52520         * lib/closeout.h: Include <stdbool.h>.
52521         (close_stdout_set_ignore_EPIPE): New declaration.
52522         * lib/closeout.c: Include <stdbool.h>.
52523         (ignore_EPIPE): New variable.
52524         (close_stdout_set_ignore_EPIPE): New function.
52525         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52526         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52527         failure.
52528         * modules/closeout (Depends-on): Add stdbool.
52529
52530 2008-10-05  Bruno Haible  <bruno@clisp.org>
52531
52532         * modules/accept: New file.
52533         * modules/bind: New file.
52534         * modules/connect: New file.
52535         * modules/getpeername: New file.
52536         * modules/getsockname: New file.
52537         * modules/getsockopt: New file.
52538         * modules/listen: New file.
52539         * modules/recv: New file.
52540         * modules/recvfrom: New file.
52541         * modules/send: New file.
52542         * modules/sendto: New file.
52543         * modules/setsockopt: New file.
52544         * modules/socket: New file.
52545         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52546         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52547         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52548         the particular module is requested. Add a link warning when the
52549         particular module is not requested.
52550         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52551         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52552         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52553         the particular module is requested.
52554         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52555         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52556         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52557         * modules/sys_socket (Depends-on): Add link-warning.
52558         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52559         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52560         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52561         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52562         GL_LINK_WARNING.
52563         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
52564         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
52565         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
52566         * doc/posix-functions/getpeername.texi: Mention the new module
52567         'getpeername'.
52568         * doc/posix-functions/getsockname.texi: Mention the new module
52569         'getsockname'.
52570         * doc/posix-functions/getsockopt.texi: Mention the new module
52571         'getsockopt'.
52572         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
52573         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
52574         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
52575         * doc/posix-functions/send.texi: Mention the new module 'send'.
52576         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
52577         * doc/posix-functions/setsockopt.texi: Mention the new module
52578         'setsockopt'.
52579         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
52580         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
52581         listen, connect, accept.
52582         * modules/select-tests (Depends-on): Likewise.
52583
52584 2008-10-05  Bruno Haible  <bruno@clisp.org>
52585
52586         * lib/winsock.c (strerror): Remove unused #undef.
52587         (rpl_close): Remove unused local variable.
52588
52589         * modules/sys_socket (Depends-on); Add errno.
52590
52591 2008-10-05  Bruno Haible  <bruno@clisp.org>
52592
52593         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
52594         (select): Add a link warning when the 'select' module is not used.
52595         * modules/sys_select (Depends-on): Add link-warning.
52596         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
52597         Suggested by Paolo Bonzini.
52598
52599 2008-10-05  Jim Meyering  <meyering@redhat.com>
52600
52601         bootstrap: check for LT_INIT more portably
52602         * build-aux/bootstrap: Avoid using grep -E, since it's not
52603         portable enough.  Suggestion from Bruno Haible.
52604
52605 2008-10-05  Bruno Haible  <bruno@clisp.org>
52606
52607         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
52608         as being fixed by gnulib.
52609
52610 2008-10-05  Bruno Haible  <bruno@clisp.org>
52611
52612         * modules/select-tests: New file, mostly copied from
52613         modules/sys_select-tests.
52614         * tests/test-select.c: New file, mostly copied from
52615         tests/test-sys_select.c.
52616         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
52617         * modules/sys_select-tests (Depends-on): Remove all dependencies.
52618         (Makefile.am): Remove test_sys_select_LDADD.
52619
52620         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
52621         to an undefined symbol, for an error message.
52622         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
52623         (gl_SYS_SELECT_H_DEFAULTS): New macro.
52624         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
52625         winsock-select.c here.
52626         * modules/sys_select (Files): Remove lib/winsock-select.c.
52627         (Depends-on): Remove alloca.
52628         (Makefile.am): Substitute GNULIB_SELECT.
52629         * modules/select: New file.
52630         * doc/posix-functions/select.texi: Update.
52631
52632 2008-10-05  Bruno Haible  <bruno@clisp.org>
52633
52634         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
52635         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
52636         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
52637         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
52638         getdtablesize.
52639         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
52640         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
52641
52642 2008-10-05  Bruno Haible  <bruno@clisp.org>
52643
52644         * modules/getdtablesize-tests: New file.
52645         * tests/test-getdtablesize.c: New file.
52646
52647         New module 'getdtablesize'.
52648         * lib/unistd.in.h (getdtablesize): New declaration.
52649         * lib/getdtablesize.c: New file.
52650         * m4/getdtablesize.m4: New file.
52651         * modules/getdtablesize: New file.
52652         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52653         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
52654         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
52655         HAVE_GETDTABLESIZE.
52656         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
52657
52658 2008-10-05  Bruno Haible  <bruno@clisp.org>
52659
52660         * modules/sched (Makefile.am): Fix typo.
52661         Reported by Simon Josefsson.
52662
52663 2008-10-05  Jim Meyering  <meyering@redhat.com>
52664
52665         bootstrap: check for LT_INIT, too
52666         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
52667         are deprecated.  Suggestion from Ralf Wildenhues.
52668
52669 2008-10-05  Bruno Haible  <bruno@clisp.org>
52670
52671         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
52672         overriding them by ours.
52673         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
52674
52675 2008-10-05  Jim Meyering  <meyering@redhat.com>
52676
52677         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
52678         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
52679         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
52680
52681 2008-10-04  Bruno Haible  <bruno@clisp.org>
52682
52683         * modules/dup2 (License): Change to LGPLv2+.
52684         * modules/sleep (License): Likewise.
52685         * modules/perror (License): Likewise.
52686         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
52687         Blake.
52688         * modules/signal (License): Likewise.
52689         * modules/sigprocmask (License): Likewise.
52690         * modules/raise (License): Change to LGPLv2+, with approval by Jim
52691         Meyering.
52692
52693 2008-10-04  Bruno Haible  <bruno@clisp.org>
52694
52695         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
52696         Reported by Rainer Tammer <tammer@tammer.net>.
52697
52698 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
52699             Bruno Haible  <bruno@clisp.org>
52700
52701         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
52702         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
52703         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
52704
52705 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
52706
52707         filevercmp: new module
52708         * lib/filevercmp.h: New function filevercmp comparing version strings.
52709         * lib/filevercmp.c: Implementation of filevercmp function.
52710         * modules/filevercmp: Module metadata.
52711         * tests/test-filevercmp.c: Unit test for new module.
52712         * modules/filevercmp-tests: Unit test metadata.
52713         * MODULES.html.sh: Add filevercmp module.
52714
52715 2008-10-03  Bruno Haible  <bruno@clisp.org>
52716
52717         * lib/c-ctype.h: Add comment.
52718         Reported by Jim Meyering.
52719
52720 2008-10-02  Bruno Haible  <bruno@clisp.org>
52721
52722         * modules/posix_spawn-internal (Depends-on): Add 'open'.
52723
52724 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52725
52726         * build-aux/bootstrap: Allow renaming bootstrap, and change the
52727         name of bootstrap.conf accordingly.
52728
52729 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52730
52731         * build-aux/bootstrap: Install git-merge-changelog configuration
52732         items into .gitconfig if needed.
52733
52734 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52735
52736         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
52737         git repository, and initialize/update it accordingly.
52738
52739 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
52740
52741         * modules/fsync-tests: New file.
52742         * tests/test-fsync.c: New file.
52743
52744         New module 'fsync'.
52745         * lib/fsync.c: New file.
52746         * m4/fsync.m4: New file.
52747         * modules/fsync: New file.
52748         * lib/unistd.in.h (fsync): New declaration.
52749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
52750         GNULIB_FSYNC and HAVE_FSYNC.
52751         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
52752         * MODULES.html.sh (posix_functions): Add fsync.
52753         * doc/posix-functions/fsync.texi: Mention the new module.
52754
52755 2008-10-02  Jim Meyering  <meyering@redhat.com>
52756
52757         fts.c: sync with similar code from coreutils' remove.c
52758         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
52759         Guard also with "#if defined __linux__", since for now at least,
52760         this code is Linux-kernel-specific.
52761
52762 2008-10-02  Jim Meyering  <meyering@redhat.com>
52763
52764         fts: bug fixes
52765         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52766         Include <sys/vfs.h>, not <sys/statfs.h>.
52767
52768         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52769         Include <sys/vfs.h>, not <sys/statfs.h>.
52770
52771 2008-10-01  Bruno Haible  <bruno@clisp.org>
52772
52773         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52774         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52775         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52776         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52777         * doc/posix-functions/posix_spawnp.texi: Likewise.
52778         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52779         whether posix_spawn actually works.
52780         * m4/pipe.m4 (gl_PIPE): Likewise.
52781         * modules/execute (Files): Add m4/posix_spawn.m4.
52782         * modules/pipe (Files): Add m4/posix_spawn.m4.
52783         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52784
52785 2008-10-01  Jim Meyering  <meyering@redhat.com>
52786
52787         remove trailing spaces
52788         * NEWS: Likewise.
52789         * lib/poll.c (poll): Likewise.
52790         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52791         * lib/winsock.c (rpl_close): Likewise.
52792         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52793         * modules/yield: Likewise.
52794         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52795         * tests/test-sys_select.c (connect_to_socket): Likewise.
52796
52797         fts.c: adjust a new interface to be more generally useful
52798         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52799         (fts_build): Adjust caller.
52800
52801 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52802
52803         * modules/cond-tests: New file.
52804         * tests/test-cond.c: New file.
52805
52806 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52807             Bruno Haible  <bruno@clisp.org>
52808
52809         * modules/cond (Dependencies): Add errno, time.
52810         * lib/glthread/cond.h: Include <time.h>.
52811         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52812         across platforms.
52813
52814 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52815             Bruno Haible  <bruno@clisp.org>
52816
52817         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52818
52819 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52820             Bruno Haible  <bruno@clisp.org>
52821
52822         * modules/tls-tests (Depends-on): Add thread, yield.
52823         (configure.ac): Remove all checks.
52824         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52825         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52826         gl_thread_self): Remove definitions. Include glthread/thread.h and
52827         glthread/yield.h instead.
52828         (test_tls): Pass an additional NULL argument to gl_thread_join.
52829
52830 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52831             Bruno Haible  <bruno@clisp.org>
52832
52833         * modules/lock-tests (Depends-on): Add thread, yield.
52834         (configure.ac): Remove all checks.
52835         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52836         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52837         gl_thread_self): Remove definitions. Include glthread/thread.h and
52838         glthread/yield.h instead.
52839         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52840         additional NULL argument to gl_thread_join.
52841
52842 2008-09-30  Bruno Haible  <bruno@clisp.org>
52843
52844         Fix the Win32 implementation of the 'thread' module.
52845         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52846         pointer type.
52847         (gl_thread_self): Invoke gl_thread_self_func.
52848         (gl_thread_self_func): New declaration.
52849         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52850         (do_init_self_key, init_self_key): New functions.
52851         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52852         Remove some fields.
52853         (running_threads, running_lock): Remove variables.
52854         (get_current_thread_handle): New function.
52855         (gl_thread_self_func, wrapper_func, glthread_create_func,
52856         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52857         simplified.
52858
52859 2008-09-30  Bruno Haible  <bruno@clisp.org>
52860
52861         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52862         files.
52863
52864 2008-09-30  Jim Meyering  <meyering@redhat.com>
52865
52866         fts.m4: correct the test for statfs.f_type
52867         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52868         when checking for statfs.f_type.
52869
52870 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52871
52872         tests: avoid some compiler warnings
52873         * tests/test-memchr.c (main): Pass NULL indirectly.
52874         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52875
52876 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52877
52878         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52879         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52880         exactly specified dayshifts.
52881         (dayshift): New rule.
52882         (rel): Add dayshift.
52883         (relative_time_table) [tomorrow, yesterday, today, now]:
52884         Use tDAY_SHIFT in place of tDAY_UNIT.
52885         * tests/test-getdate.c: Add tests for now-disallowed countable
52886         dayshifts, e.g., "4 yesterday ago".
52887
52888 2008-09-29  Bruno Haible  <bruno@clisp.org>
52889
52890         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52891         * tests/test-posix_spawn1.in.sh: Renamed from
52892         tests/test-posix_spawn.in.sh.
52893         * tests/test-posix_spawn2.c: New file.
52894         * tests/test-posix_spawn2.in.sh: New file.
52895         * modules/posix_spawnp-tests (Files): Update.
52896         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52897
52898 2008-09-29  Bruno Haible  <bruno@clisp.org>
52899
52900         Propagate effects of putenv/setenv/unsetenv to child processes.
52901         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52902         * lib/pipe.c (create_pipe): Likewise.
52903
52904 2008-09-29  Bruno Haible  <bruno@clisp.org>
52905
52906         Enable use of shell scripts as executables in mingw.
52907         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52908         run the program as a shell script.
52909         * lib/pipe.c (create_pipe): Likewise.
52910         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52911         resulting array.
52912
52913 2008-09-29  Eric Blake  <ebb9@byu.net>
52914
52915         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52916
52917 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52918
52919         * doc/posix-functions/accept.texi: Update mingw problems.
52920         * doc/posix-functions/bind.texi: Update mingw problems.
52921         * doc/posix-functions/close.texi: Update mingw problems.
52922         * doc/posix-functions/connect.texi: Update mingw problems.
52923         * doc/posix-functions/getpeername.texi: Update mingw problems.
52924         * doc/posix-functions/getsockname.texi: Update mingw problems.
52925         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52926         * doc/posix-functions/ioctl.texi: Update mingw problems.
52927         * doc/posix-functions/listen.texi: Update mingw problems.
52928         * doc/posix-functions/recv.texi: Update mingw problems.
52929         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52930         * doc/posix-functions/select.texi: Update mingw problems.
52931         * doc/posix-functions/send.texi: Update mingw problems.
52932         * doc/posix-functions/sendto.texi: Update mingw problems.
52933         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52934         * doc/posix-functions/socket.texi: Update mingw problems.
52935
52936 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52937             Bruno Haible  <bruno@clisp.org>
52938
52939         * lib/sys_select.in.h: Include sys/time.h.
52940         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52941         * modules/sys_select: Depend on sys_time.
52942         * tests/test-sys_select.c: Test that sys/select.h defines struct
52943         timeval fully.
52944
52945 2008-09-29  Bruno Haible  <bruno@clisp.org>
52946
52947         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52948         * lib/sys_select.in.h: Likewise.
52949
52950 2008-09-29  Bruno Haible  <bruno@clisp.org>
52951
52952         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52953
52954 2008-09-29  Bruno Haible  <bruno@clisp.org>
52955
52956         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52957         Set LIBSOCKET instead of augmenting LIBS.
52958         * modules/sockets (Link): New section.
52959         * modules/sockets-tests (test_sockets_LDADD): New variable.
52960         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52961         * modules/poll-tests (test_poll_LDADD): New variable.
52962         * NEWS: Document the change.
52963
52964 2008-09-29  Bruno Haible  <bruno@clisp.org>
52965
52966         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52967         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52968         ARPA_INET_H directly.
52969         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52970
52971 2008-09-28  Bruno Haible  <bruno@clisp.org>
52972
52973         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52974         from gl_HEADER_SYS_SOCKET.
52975         (gl_HEADER_SYS_SOCKET): Invoke it.
52976         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52977
52978 2008-09-28  Bruno Haible  <bruno@clisp.org>
52979
52980         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52981         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52982         Needed on OSF/1 4.0.
52983
52984 2008-09-28  Bruno Haible  <bruno@clisp.org>
52985
52986         Override open more carefully.
52987         * lib/open.c (orig_open): New function.
52988         (rpl_open): Use orig_open instead of open.
52989         * lib/fcntl.in.h: Add special invocation convention.
52990         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52991         (gl_FUNC_OPEN): Invoke it.
52992
52993         Override freopen more carefully.
52994         * lib/freopen.c (orig_freopen): New function.
52995         (rpl_freopen): Use orig_freopen instead of freopen.
52996         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52997         (gl_FUNC_FREOPEN): Invoke it.
52998
52999         Override fopen more carefully.
53000         * lib/fopen.c (orig_fopen): New function.
53001         (rpl_fopen): Use orig_fopen instead of fopen.
53002         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53003         (gl_FUNC_FOPEN): Invoke it.
53004         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53005
53006 2008-09-28  Bruno Haible  <bruno@clisp.org>
53007
53008         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53009         SIGPIPE.
53010
53011 2008-09-28  Bruno Haible  <bruno@clisp.org>
53012
53013         * tests/test-sigaction.c (handler, main): Disable the check whether
53014         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53015         glibc systems with LinuxThreads.
53016
53017 2008-09-28  Bruno Haible  <bruno@clisp.org>
53018
53019         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53020
53021         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53022         with AIX xlc.
53023         * lib/fcntl.in.h (open): Likewise.
53024         Reported by Rainer Tammer <tammer@tammer.net>.
53025
53026 2008-09-28  Bruno Haible  <bruno@clisp.org>
53027
53028         * modules/posix_spawnp-tests: New file.
53029         * tests/test-posix_spawn.c: New file.
53030         * tests/test-posix_spawn.in.sh: New file.
53031
53032         New module 'posix_spawnp'.
53033         * modules/posix_spawnp: New file.
53034         * lib/spawnp.c: New file, from GNU libc with modifications.
53035         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53036
53037         New module 'posix_spawn'.
53038         * modules/posix_spawn: New file.
53039         * lib/spawn.c: New file, from GNU libc with modifications.
53040         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53041
53042         New module 'posix_spawnattr_destroy'.
53043         * modules/posix_spawnattr_destroy: New file.
53044         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53045         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53046         module.
53047
53048         New module 'posix_spawnattr_setsigmask'.
53049         * modules/posix_spawnattr_setsigmask: New file.
53050         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53051         modifications.
53052         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53053         new module.
53054
53055         New module 'posix_spawnattr_getsigmask'.
53056         * modules/posix_spawnattr_getsigmask: New file.
53057         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53058         modifications.
53059         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53060         new module.
53061
53062         New module 'posix_spawnattr_setsigdefault'.
53063         * modules/posix_spawnattr_setsigdefault: New file.
53064         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53065         modifications.
53066         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53067         new module.
53068
53069         New module 'posix_spawnattr_getsigdefault'.
53070         * modules/posix_spawnattr_getsigdefault: New file.
53071         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53072         modifications.
53073         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53074         new module.
53075
53076         New module 'posix_spawnattr_setschedpolicy'.
53077         * modules/posix_spawnattr_setschedpolicy: New file.
53078         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53079         modifications.
53080         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53081         new module.
53082
53083         New module 'posix_spawnattr_getschedpolicy'.
53084         * modules/posix_spawnattr_getschedpolicy: New file.
53085         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53086         modifications.
53087         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53088         new module.
53089
53090         New module 'posix_spawnattr_setschedparam'.
53091         * modules/posix_spawnattr_setschedparam: New file.
53092         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53093         modifications.
53094         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53095         new module.
53096
53097         New module 'posix_spawnattr_getschedparam'.
53098         * modules/posix_spawnattr_getschedparam: New file.
53099         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53100         modifications.
53101         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53102         new module.
53103
53104         New module 'posix_spawnattr_setpgroup'.
53105         * modules/posix_spawnattr_setpgroup: New file.
53106         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53107         modifications.
53108         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53109         module.
53110
53111         New module 'posix_spawnattr_getpgroup'.
53112         * modules/posix_spawnattr_getpgroup: New file.
53113         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53114         modifications.
53115         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53116         module.
53117
53118         New module 'posix_spawnattr_setflags'.
53119         * modules/posix_spawnattr_setflags: New file.
53120         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53121         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53122         module.
53123
53124         New module 'posix_spawnattr_getflags'.
53125         * modules/posix_spawnattr_getflags: New file.
53126         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53127         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53128         module.
53129
53130         New module 'posix_spawnattr_init'.
53131         * modules/posix_spawnattr_init: New file.
53132         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53133         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53134         module.
53135
53136         New module 'posix_spawn_file_actions_destroy'.
53137         * modules/posix_spawn_file_actions_destroy: New file.
53138         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53139         modifications.
53140         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53141         the new module.
53142
53143         New module 'posix_spawn_file_actions_addopen'.
53144         * modules/posix_spawn_file_actions_addopen: New file.
53145         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53146         modifications.
53147         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53148         the new module.
53149
53150         New module 'posix_spawn_file_actions_adddup2'.
53151         * modules/posix_spawn_file_actions_adddup2: New file.
53152         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53153         modifications.
53154         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53155         the new module.
53156
53157         New module 'posix_spawn_file_actions_addclose'.
53158         * modules/posix_spawn_file_actions_addclose: New file.
53159         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53160         modifications.
53161         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53162         the new module.
53163
53164         New module 'posix_spawn_file_actions_init'.
53165         * modules/posix_spawn_file_actions_init: New file.
53166         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53167         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53168         new module.
53169
53170         New module 'posix_spawn-internal'.
53171         * modules/posix_spawn-internal: New file.
53172         * lib/spawn_int.h: New file, from GNU libc with modifications.
53173         * lib/spawni.c: New file, from GNU libc with modifications.
53174         * m4/posix_spawn.m4: New file.
53175
53176         New module 'spawn'.
53177         * modules/spawn: New file.
53178         * lib/spawn.in.h: New file, from GNU libc with modifications.
53179         * m4/spawn_h.m4: New file.
53180         * doc/posix-headers/spawn.texi: Mention the new module.
53181
53182 2008-09-28  Bruno Haible  <bruno@clisp.org>
53183
53184         * modules/sched-tests: New file.
53185         * tests/test-sched.c: New file.
53186
53187         New module 'sched'.
53188         * modules/sched: New file.
53189         * lib/sched.in.h: New file.
53190         * m4/sched_h.m4: New file.
53191         * doc/posix-headers/sched.texi: Mention the new module.
53192
53193 2008-09-27  Eric Blake  <ebb9@byu.net>
53194
53195         Fix previous patch, and tweak references to $0.
53196         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53197         (func_version, func_gnulib_dir): Don't call this program
53198         gnulib-tool.
53199         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53200         with using $0 in function.
53201         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53202         (func_fatal_error): Reuse the name the user invoked us with.
53203
53204 2008-09-27  Bruno Haible  <bruno@clisp.org>
53205
53206         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53207         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53208         (gl_ICONV_H): Not here.
53209         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53210         instead of assigning ICONV_H directly.
53211
53212         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53213         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53214         WCHAR_H directly.
53215
53216 2008-09-27  Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53219         * modules/arpa_inet (Depends-on): Add link-warning.
53220         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53221         * modules/unistd (Makefile.am): Likewise.
53222
53223 2008-09-26  Bruno Haible  <bruno@clisp.org>
53224
53225         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53226         variables.
53227         (func_version): Essentially copied from gnulib-tool.
53228         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53229         func_readlink): Copied from gnulib-tool.
53230
53231 2008-09-26  Bruno Haible  <bruno@clisp.org>
53232
53233         * gnulib-tool (func_version): Change directory to $gnulib_dir before
53234         invoking git-version-gen.
53235
53236 2008-09-26  Bruno Haible  <bruno@clisp.org>
53237
53238         * posix-modules: Update to directory names changed on 2008-01-19.
53239         Remove commas in output before splitting into words. No more need to
53240         avoid 'ftruncate' since 2007-02-19.
53241
53242 2008-09-26  Bruno Haible  <bruno@clisp.org>
53243
53244         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
53245
53246 2008-09-26  Bruno Haible  <bruno@clisp.org>
53247
53248         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
53249         * modules/fwriteerror (Depends-on): Add errno.
53250
53251 2008-09-26  Bruno Haible  <bruno@clisp.org>
53252
53253         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
53254         * tests/test-vc-list-files-cvs.sh: Likewise.
53255
53256 2008-09-26  Bruno Haible  <bruno@clisp.org>
53257
53258         * doc/posix-headers/sys_resource.texi: Reorder items.
53259
53260 2008-09-26  Jim Meyering  <meyering@redhat.com>
53261
53262         fts: tweak inode comparison function
53263         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53264         inode numbers, as documented.
53265
53266         fts: sort dirent entries on inode number before traversing
53267         This avoids a quadratic, seek-related performance penalty when
53268         operating on a directory containing many entries (measurable at 10k;
53269         3.5 hours at 2 million entries with a cold cache) on certain types
53270         of file systems, including ext3 and ext4, but not tmpfs.
53271         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53272         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53273         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53274         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53275         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53276         (fts_build): Set the stat.st_ino member from D_INO.
53277         If it is likely to be useful, sort dirent entries on inode number.
53278
53279         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53280         and the struct statfs.f_type member.
53281         * modules/fts (Depends-on): Add d-ino.
53282
53283 2008-09-26  Bruno Haible  <bruno@clisp.org>
53284
53285         * modules/sigpipe-die (Depends-on): Add sigpipe.
53286
53287         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53288         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53289         and GNULIB_STDIO_H_SIGPIPE are set.
53290         * lib/stdio-write.c: New file.
53291         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53292         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53293         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53294         REPLACE_STDIO_WRITE_FUNCS.
53295         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53296         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53297         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53298         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53299         * modules/stdio (Files): Add lib/stdio-write.c.
53300         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53301         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53302         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53303         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53304         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53305         REPLACE_FPRINTF_POSIX.
53306         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53307         REPLACE_PRINTF_POSIX.
53308         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53309         REPLACE_VFPRINTF_POSIX.
53310         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53311         REPLACE_VPRINTF_POSIX.
53312         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53313         SIGPIPE issue.
53314         * doc/posix-functions/fputc.texi: Likewise.
53315         * doc/posix-functions/fputs.texi: Likewise.
53316         * doc/posix-functions/fwrite.texi: Likewise.
53317         * doc/posix-functions/printf.texi: Likewise.
53318         * doc/posix-functions/putc.texi: Likewise.
53319         * doc/posix-functions/putchar.texi: Likewise.
53320         * doc/posix-functions/puts.texi: Likewise.
53321         * doc/posix-functions/vfprintf.texi: Likewise.
53322         * doc/posix-functions/vprintf.texi: Likewise.
53323
53324         * modules/safe-write (Depends-on): Add write.
53325
53326         * modules/sigpipe-tests: New file.
53327         * tests/test-sigpipe.c: New file.
53328         * tests/test-sigpipe.sh: New file.
53329
53330         * modules/write: New file.
53331         * lib/unistd.in.h: Include <sys/types.h>.
53332         (write): New declaration.
53333         * lib/write.c: New file.
53334         * m4/write.m4: New file.
53335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53336         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53337         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53338         GNULIB_WRITE, REPLACE_WRITE.
53339         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53340         and the SIGPIPE issue.
53341
53342         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53343         (raise): New declaration.
53344         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53345         (ext_signal): New function.
53346         (rpl_raise): New function.
53347         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53348         GNULIB_SIGNAL_H_SIGPIPE.
53349         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53350         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53351
53352         * modules/sigpipe: New file.
53353         * m4/sigpipe.m4: New file.
53354
53355 2008-09-25  Derek Price  <derek@ximbiot.com>
53356             Bruno Haible  <bruno@clisp.org>
53357
53358         * gnulib-tool (func_import): Report all license incompatibilities, not
53359         just the first one.
53360
53361 2008-09-25  Bruno Haible  <bruno@clisp.org>
53362
53363         * gnulib-tool (func_import): When computing the edits, consider not
53364         only the Makefile.ams that exist but also those that will be generated.
53365
53366 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53367
53368         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53369         fixes gnulib-tool --test warning about duplicate dependency.
53370
53371 2008-09-25  Bruno Haible  <bruno@clisp.org>
53372
53373         * gnulib-tool: Don't ask the user to perform edits in the generated
53374         Makefile.ams.
53375         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53376         apply to the Makefile.am being generated.
53377         (func_emit_tests_Makefile_am): Execute edits that apply to the
53378         Makefile.am being generated.
53379         (func_import): Setup list of Makefile.am edits before emitting the
53380         Makefile.ams, not at the end.
53381         (func_create_testdir): Update.
53382         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53383
53384 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53385
53386         * gnulib-tool (func_import): Store the --tests-base option in the
53387         comment in gnulib-cache.m4.
53388
53389 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53390
53391         * NEWS: Document increased portability that sys_select now provides.
53392
53393         * lib/sys_select.in.h: Install select wrapper.
53394         * lib/sys_socket.in.h: Use more descriptive name when there is no
53395         select wrapper.
53396         * lib/winsock-select.c: New.
53397         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53398         Require gl_HEADER_SYS_SOCKET.
53399         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53400         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53401         * tests/test-sys_select.c: Add functional tests.
53402
53403 2008-09-24  Eric Blake  <ebb9@byu.net>
53404
53405         open, fopen: close fd leak in last patch
53406         * lib/open.c (rpl_open): Close fd before returning error.
53407         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53408         * doc/posix-functions/open.texi (open): Document that Irix also
53409         has the bug.
53410         * doc/posix-functions/fopen.texi (fopen): Likewise.
53411         Reported by Paolo Bonzini.
53412
53413 2008-09-24  Bruno Haible  <bruno@clisp.org>
53414
53415         Ensure that a filename ending in a slash cannot be used to access a
53416         non-directory.
53417         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53418         to check whether it's really a directory.
53419         * lib/fopen.c: Include fcntl.h, unistd.h.
53420         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53421         and fdopen().
53422         * modules/fopen (Depends-on): Add unistd.
53423         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53424         * tests/test-fopen.c (main): Likewise.
53425         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53426         * doc/posix-functions/fopen.texi: Likewise.
53427         Reported by Eric Blake.
53428
53429 2008-09-23  Eric Blake  <ebb9@byu.net>
53430
53431         c-stack: avoid compiler optimizations when provoking overflow
53432         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53433         recursion harder to optimize, to ensure a stack overflow occurs.
53434         * tests/test-c-stack.c (recurse): Likewise.
53435         Borrowed from libsigsegv.
53436
53437         c-stack: work around Irix sigaltstack bug
53438         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53439         whether sigaltstack uses wrong end of stack_t (copied in part from
53440         libsigsegv).
53441         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53442         Irix bug, without requiring an over-allocation.
53443         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53444         bug.
53445
53446         fopen: document mingw bug on directories
53447         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53448         not allowing a stream visiting a directory, even though reading
53449         from such a stream is not portable.
53450
53451 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53452
53453         * lib/poll.c: Rewrite.
53454         * modules/poll: Depend on alloca.
53455
53456 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53457
53458         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53459         instead define prototypes for a full set of wrappers.  Ensure
53460         that Cygwin does not use the compatibility code, which is only
53461         for MinGW.
53462         * lib/winsock.c: New.
53463         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53464         * modules/sys_socket: Add lib/winsock.c.
53465
53466         * modules/poll-tests: Add errno and perror.
53467         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53468
53469 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53470
53471         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53472
53473 2008-09-23  Bruno Haible  <bruno@clisp.org>
53474
53475         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53476         * doc/glibc-functions/*: Likewise.
53477
53478 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53479
53480         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53481         success.
53482
53483 2008-09-22  Eric Blake  <ebb9@byu.net>
53484             Bruno Haible  <bruno@clisp.org>
53485
53486         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53487         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53488         supply %A but mishandle pseudo-NaN.
53489         Reported by Simon Josefsson.
53490
53491 2008-09-21  Bruno Haible  <bruno@clisp.org>
53492
53493         * tests/test-lock.c (main): Tweak skip message.
53494         * tests/test-tls.c (main): Likewise.
53495
53496 2008-09-21  Bruno Haible  <bruno@clisp.org>
53497
53498         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53499         whether 'struct sigaction' has sa_sigaction here...
53500         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53501         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53502
53503 2008-09-21  Bruno Haible  <bruno@clisp.org>
53504
53505         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53506         section.
53507         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53508         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53509         the new section.
53510         (Support for obsolete systems lacking POSIX:2001): New section.
53511         (String handling <string.h>): Move strdup to the new section.
53512         Suggested by Simon Josefsson and Paolo Bonzini.
53513
53514 2008-09-21  Bruno Haible  <bruno@clisp.org>
53515
53516         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53517         exponents in %e and %g results on 'long double'. Needed for mingw's
53518         improved *printf functions.
53519         * tests/test-vasprintf-posix.c (test_function): Likewise.
53520         * tests/test-snprintf-posix.h (test_function): Likewise.
53521         * tests/test-sprintf-posix.h (test_function): Likewise.
53522         Reported by Eric Blake.
53523
53524 2008-09-21  Bruno Haible  <bruno@clisp.org>
53525
53526         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53527         * tests/test-sprintf-posix.h (test_function): Likewise.
53528
53529 2008-09-21  Bruno Haible  <bruno@clisp.org>
53530
53531         * modules/getpass (Depends-on): Add strdup-posix.
53532
53533         New module 'strdup-posix'.
53534         * modules/strdup-posix: New file.
53535         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53536         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53537         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53538         REPLACE_STRDUP.
53539         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53540         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53541         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53542         strdup-posix.
53543
53544         * modules/strdup (Depends-on): Remove malloc-posix.
53545
53546 2008-09-20  Bruno Haible  <bruno@clisp.org>
53547
53548         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53549         Wildenhues.
53550
53551 2008-09-20  Bruno Haible  <bruno@clisp.org>
53552
53553         Ensure that wint_t gets defined on IRIX 5.3.
53554         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53555         * lib/wctype.in.h (wint_t): Likewise.
53556         (__wctype_wint_t): Remove type.
53557         (isw*): Use wint_t instead of __wctype_wint_t.
53558         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53559         * modules/wchar (Files): Add m4/wint_t.m4.
53560         (Makefile.am): Substitute HAVE_WINT_T.
53561         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53562         * tests/test-wctype.c: Check that wint_t is defined.
53563         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
53564         * doc/posix-headers/wctype.texi: Likewise.
53565         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53566
53567 2008-09-18  Bruno Haible  <bruno@clisp.org>
53568
53569         * gnulib-tool (func_exit): Update comment.
53570
53571 2008-09-18  Simon Josefsson  <simon@josefsson.org>
53572
53573         * modules/getaddrinfo (Depends-on): Remove strdup, this module
53574         assumes strdup exists and does not depend on strdup to return
53575         ENOMEM on out of memory conditions.
53576
53577 2008-09-18  Bruno Haible  <bruno@clisp.org>
53578
53579         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
53580         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
53581         digits for the exponent.
53582
53583 2008-09-18  Jim Meyering  <meyering@redhat.com>
53584             Bruno Haible  <bruno@clisp.org>
53585
53586         * lib/vasnprintf.c (decimal_point_char): Define also if
53587         NEED_PRINTF_INFINITE_LONG_DOUBLE.
53588
53589 2008-09-16  Bruno Haible  <bruno@clisp.org>
53590         and Eric Blake  <ebb9@byu.net>
53591
53592         vasnprintf: support Irix 5.3
53593         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
53594         that mishandle long double infinity.
53595         Reported by Tom G. Christensen.
53596
53597 2008-09-16  Bruno Haible  <bruno@clisp.org>
53598
53599         * doc/glibc-functions/scandir.texi: Mention the function is missing on
53600         Solaris 9.
53601         * doc/glibc-functions/alphasort.texi: Likewise.
53602         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
53603
53604 2008-09-16  Jim Meyering  <meyering@redhat.com>
53605
53606         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
53607         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
53608         a umask modification leak out of a subshell.  Otherwise, the
53609         opensolaris /bin/sh would be accepted and thus cause unwarranted
53610         failures in the coreutils test suite.
53611
53612 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
53613
53614         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
53615         to succeed.
53616
53617 2008-09-16  Jim Meyering  <meyering@redhat.com>
53618
53619         avoid spurious test failure when library is built without ACL support
53620         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
53621         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
53622         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
53623         * tests/test-copy-acl.sh: Likewise.
53624
53625 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53626
53627         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
53628         based on character occurrence counts.
53629
53630 2008-09-15  Eric Blake  <ebb9@byu.net>
53631
53632         tests: avoid some compiler warnings
53633         * tests/test-memchr.c (main): Pass NULL indirectly.
53634         * tests/test-closein.c (main): Avoid unused variable.
53635
53636 2008-09-15  Bruno Haible  <bruno@clisp.org>
53637
53638         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
53639         are missing on OpenBSD 4.0 individually.
53640         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53641
53642 2008-09-15  Bruno Haible  <bruno@clisp.org>
53643
53644         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
53645         * doc/posix-functions/strerror.texi: Mention also Cygwin.
53646         * doc/posix-functions/perror.texi: Likewise.
53647         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
53648         is missing.
53649         Reported by Eric Blake.
53650
53651         * lib/errno.in.h: Use replacement values >= 2000.
53652         Reported by Eric Blake.
53653
53654 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53655
53656         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
53657         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
53658         limit.
53659         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
53660         compareseq was aborted.
53661
53662 2008-09-14  Bruno Haible  <bruno@clisp.org>
53663
53664         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
53665         yvec_edit_count.
53666         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
53667         (fstrcmp_bounded): Simplify result computation accordingly.
53668
53669 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53670
53671         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
53672         (fstrcmp): Define in terms of fstrcmp_bounded.
53673         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
53674         lower_bound argument.
53675         Return quickly if the result is certainly < lower_bound.
53676         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
53677
53678 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53679
53680         * lib/diffseq.h (EARLY_ABORT): New macro.
53681         (compareseq): Change return type to bool. Return true when EARLY_ABORT
53682         evaluates to true.
53683
53684 2008-09-14  Bruno Haible  <bruno@clisp.org>
53685
53686         * modules/perror-tests: New file.
53687         * tests/test-perror.sh: New file.
53688         * tests/test-perror.c: New file.
53689
53690         New module 'perror'.
53691         * lib/stdio.in.h (perror): New declaration.
53692         * lib/perror.c: New file.
53693         * m4/perror.m4: New file.
53694         * modules/perror: New file.
53695         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
53696         * doc/posix-functions/perror.texi: Mention the perror module.
53697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
53698         REPLACE_PERROR.
53699         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
53700         REPLACE_PERROR.
53701
53702 2008-09-14  Bruno Haible  <bruno@clisp.org>
53703
53704         * modules/stdio (Makefile.am): Reorder to match the order in
53705         lib/stdio.in.h.
53706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53707
53708 2008-09-13  Bruno Haible  <bruno@clisp.org>
53709
53710         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
53711
53712 2008-09-13  Bruno Haible  <bruno@clisp.org>
53713
53714         Extend strerror to cover the added errno values.
53715         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
53716         (rpl_strerror): Provide error messages for the added errno values and
53717         for the WSA* values.
53718         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
53719         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
53720         strerror.
53721         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
53722         * modules/strerror (Depends-on): Add errno.
53723         * doc/posix-functions/strerror.texi: Document the change.
53724         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
53725         and EOVERFLOW.
53726
53727 2008-09-13  Bruno Haible  <bruno@clisp.org>
53728
53729         * modules/EOVERFLOW: Remove file.
53730         * m4/eoverflow.m4: Remove file.
53731         * modules/EOVERFLOW-tests: Remove file.
53732         * tests/test-EOVERFLOW.c: Remove file.
53733         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
53734         * modules/ftell (Depends-on): Likewise.
53735         * modules/getdelim (Depends-on): Likewise.
53736         * modules/getugroups (Depends-on): Likewise.
53737         * modules/poll (Depends-on): Likewise.
53738         * modules/snprintf (Depends-on): Likewise.
53739         * modules/sprintf-posix (Depends-on): Likewise.
53740         * modules/vasnprintf (Depends-on): Likewise.
53741         * modules/vasprintf (Depends-on): Likewise.
53742         * modules/vfprintf-posix (Depends-on): Likewise.
53743         * modules/vsnprintf (Depends-on): Likewise.
53744         * modules/vsprintf-posix (Depends-on): Likewise.
53745         * modules/xvasprintf (Depends-on): Likewise.
53746         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53747         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
53748         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
53749         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
53750         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53751         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
53752         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
53753         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
53754         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53755         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
53756         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
53757         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
53758         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53759         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
53760         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
53761         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
53762         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53763         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
53764         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
53765         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53766         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53767         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53768         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53769         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53770         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53771         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53772         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53773         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53774         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53775         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53776         * MODULES.html.sh: Remove EOVERFLOW.
53777         * NEWS: Mention the change.
53778
53779 2008-09-13  Bruno Haible  <bruno@clisp.org>
53780
53781         * modules/errno-tests: New file.
53782         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53783
53784         * lib/errno.in.h: New file.
53785         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53786         * modules/errno: New file.
53787         * doc/posix-headers/errno.texi: Update documentation.
53788         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53789
53790 2008-09-13  Bruno Haible  <bruno@clisp.org>
53791
53792         * tests/test-poll.c: Use #if for native Windows, rather than testing
53793         __MSVCRT__.
53794
53795 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53796             Bruno Haible  <bruno@clisp.org>
53797
53798         * lib/glob.c: Don't include <pwd.h> on native Windows.
53799         (WINDOWS32): New macro.
53800         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53801
53802 2008-09-13  Bruno Haible  <bruno@clisp.org>
53803
53804         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53805         (ETIMEDOUT): Remove macro.
53806         (glthread_cond_timedwait_multithreaded): New declaration.
53807         (glthread_cond_timedwait): Use it.
53808         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53809         (glthread_cond_timedwait_multithreaded): New function.
53810
53811 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53812
53813         * modules/poll-tests: Do not check for io.h.
53814         * tests/test-poll.c: Check for __MSVCRT__ instead.
53815
53816 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53817
53818         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53819         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53820         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53821
53822 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53823
53824         * modules/poll-tests: New.
53825         * tests/test-poll.c: New.
53826
53827 2008-09-12  Eric Blake  <ebb9@byu.net>
53828
53829         frexp: test for NetBSD failure on -0.0
53830         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53831         not all, bugs from NetBSD 3.0 have been fixed.
53832         * doc/posix-functions/frexp.texi (frexp): Document bug.
53833         Reported by Thomas Klausner.
53834
53835         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53836         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53837         literal -0.0.
53838         Reported by Jonathan C. Patschke <jp@centtech.com>.
53839
53840 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53841
53842         * lib/glthread/cond.h: Use dummy implementation also if
53843         USE_WIN32_THREADS.
53844
53845 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53846
53847         * modules/fnmatch-posix (License): Change to LGPLv2+.
53848         * modules/fnmatch-gnu (License): Likewise.
53849
53850 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53851
53852         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53853
53854 2008-09-11  Jim Meyering  <meyering@redhat.com>
53855
53856         * users.txt: Add gtk-vnc.
53857
53858 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53859
53860         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53861         rotate amounts.
53862
53863         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53864         required for 16-bit and 8-bit rotates.
53865         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53866         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53867         UINT8_MAX instead of hard-coded constants.
53868         Suggested by Paul Eggert.
53869
53870 2008-09-07  Bruno Haible  <bruno@clisp.org>
53871
53872         * tests/test-striconveh.c (main): Check behaviour when converting from
53873         UTF-7.
53874
53875         Make striconveh work better with stateful encodings.
53876         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53877         that iconv does not increment the inptr when returning -1/EINVAL.
53878
53879 2008-09-07  Bruno Haible  <bruno@clisp.org>
53880
53881         * build-aux/config.rpath: Update according to libtool-2.2.6.
53882         * build-aux/config.libpath: Likewise.
53883
53884 2008-09-06  Bruno Haible  <bruno@clisp.org>
53885
53886         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53887         * lib/freadptr.c (freadptr): Likewise.
53888         * lib/freadseek.c (freadptrinc): Likewise.
53889         Reported by Simon Josefsson.
53890
53891 2008-09-06  Bruno Haible  <bruno@clisp.org>
53892
53893         * modules/freadptr (License): Change to LGPLv2+.
53894         * modules/freadseek (License): Likewise.
53895         Suggested by Eric Blake.
53896
53897         * modules/memchr2 (License): Change to LGPLv2+.
53898         Approved by Eric Blake.
53899
53900 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53901             Bruno Haible  <bruno@clisp.org>
53902
53903         Make gnulib-tool work with native 'sed' on AIX.
53904         * gnulib-tool (sed_noop): New variable.
53905         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53906         func_add_or_update, func_create_testdir): Use it to initialize sed
53907         script variables.
53908         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53909
53910 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53911             Bruno Haible  <bruno@clisp.org>
53912
53913         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53914         also works after #include directives.
53915
53916 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53917
53918         getdate.y: reject an out-of-range timezone value
53919         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53920         the range [-24...+24].  When specified with only one or two digits,
53921         * tests/test-getdate.c: Tests for the fix.
53922         * doc/getdate.texi: Document this change.
53923
53924 2008-09-03  Bruno Haible  <bruno@clisp.org>
53925
53926         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53927
53928 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53929
53930         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53931         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53932         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53933         Blake <ebb9@byu.net>.
53934
53935         * tests/test-bitrotate.c: Add more test vectors.
53936
53937 2008-09-02  Eric Blake  <ebb9@byu.net>
53938
53939         vasnprintf-posix: handle large precision via %.*d
53940         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53941         when handling it ourselves.
53942         * tests/test-vasnprintf-posix.c (test_function): Add test.
53943         * tests/test-snprintf-posix.h (test_function): Likewise.
53944         * tests/test-sprintf-posix.h (test_function): Likewise.
53945         * tests/test-vasprintf-posix.c (test_function): Likewise.
53946         Reported by Alain Guibert.
53947
53948 2008-09-01  Eric Blake  <ebb9@byu.net>
53949
53950         c-stack: make configure-time check more robust
53951         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53952         successful sigaction call.
53953         Reported by Tom G. Christensen.
53954
53955 2008-09-01  Bruno Haible  <bruno@clisp.org>
53956
53957         New module 'findprog-lgpl'.
53958         * modules/findprog-lgpl: New file.
53959         * lib/findprog-lgpl.c: New file.
53960         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53961         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53962         to decide whether to use strdup or xstrdup, concatenated_filename or
53963         xconcatenated_filename.
53964
53965 2008-09-01  Bruno Haible  <bruno@clisp.org>
53966
53967         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53968         'xconcat-filename' (GPL).
53969         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53970         (License): Change to LGPLv2+.
53971         * modules/xconcat-filename: New file.
53972         * lib/concat-filename.h (concatenated_filename): Change specification.
53973         (xconcatenated_filename): New declaration.
53974         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53975         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53976         memory situations.
53977         * lib/xconcat-filename.c: New file.
53978         * NEWS: Mention the change.
53979         * lib/findprog.c: Include concat-filename.h, not filename.h.
53980         (find_in_path): Use xconcatenated_filename instead of
53981         concatenated_filename.
53982         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53983         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53984         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53985         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53986         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53987         instead of concatenated_filename.
53988         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53989         (execute_java_class): Use xconcatenated_filename instead of
53990         concatenated_filename.
53991         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53992         * modules/javacomp (Depends-on): Likewise.
53993         * modules/javaexec (Depends-on): Likewise.
53994
53995 2008-09-01  Bruno Haible  <bruno@clisp.org>
53996
53997         Split module 'filename' into 'filename' and 'concat-filename'.
53998         * modules/filename: Keep only lib/filename.h.
53999         (License): Change to LGPLv2+.
54000         * modules/concat-filename: New file, extracted from modules/filename.
54001         * lib/filename.h (concatenated_filename): Remove declaration.
54002         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54003         * lib/concat-filename.c: Include concat-filename.h.
54004         * NEWS: Mention the change.
54005
54006 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54007
54008         * lib/bitrotate.h (rotl8, rotr8): Add.
54009
54010         * modules/bitrotate (configure.ac): Need
54011         AC_REQUIRE([AC_C_INLINE]).
54012         (Description): Mention stdint.h.  Reported by Bruno Haible
54013         <bruno@clisp.org>.
54014
54015         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54016         Paolo Bonzini <bonzini@gnu.org>.
54017
54018 2008-08-31  Bruno Haible  <bruno@clisp.org>
54019
54020         Assume Solaris specific bi-arch conventions on Solaris systems.
54021         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54022         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54023         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54024         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54025         like acl_libdirstem.
54026         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54027         acl_libdirstem.
54028         * NEWS: Mention the change.
54029         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54030
54031 2008-08-31  Jim Meyering  <meyering@redhat.com>
54032
54033         * lib/strftime.h: Add comments describing the two added arguments.
54034
54035         remove duplicate #include directives
54036         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54037         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54038
54039 2008-08-31  Bruno Haible  <bruno@clisp.org>
54040
54041         New module 'sigpipe-die'.
54042         * modules/sigpipe-die: New file.
54043         * lib/sigpipe-die.h: New file.
54044         * lib/sigpipe-die.c: New file.
54045         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54046
54047 2008-08-31  Bruno Haible  <bruno@clisp.org>
54048
54049         Don't override previously installed signal handlers.
54050         * lib/fatal-signal.c (saved_sigactions): New variable.
54051         (uninstall_handlers): Reset the signal to the saved handler, not
54052         to SIG_DFL (except when ignored).
54053         (install_handlers): Save the previous handlers.
54054
54055 2008-08-30  Bruno Haible  <bruno@clisp.org>
54056
54057         * gnulib-tool (func_reset_sigpipe): New function.
54058         (func_get_automake_snippet, func_modules_transitive_closure,
54059         func_import): Invoke it before a join command that reads from stdin,
54060         to avoid "echo: write error: Broken pipe" error messages on stderr.
54061         Reported by Sam Steingold <sds@gnu.org>.
54062
54063 2008-08-30  Bruno Haible  <bruno@clisp.org>
54064
54065         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54066         Code copied from m4/open.m4.
54067         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54068         access and the filename ends in a slash. Code copied from lib/open.c.
54069         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54070         * tests/test-fopen.c (main): Check against bug with trailing slash.
54071
54072 2008-08-29  Bruno Haible  <bruno@clisp.org>
54073
54074         Avoid some "gcc -pedantic" warnings.
54075         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54076         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54077         * lib/dirent.in.h: Likewise.
54078         * lib/fcntl.in.h: Likewise.
54079         * lib/float.in.h: Likewise.
54080         * lib/iconv.in.h: Likewise.
54081         * lib/inttypes.in.h: Likewise.
54082         * lib/locale.in.h: Likewise.
54083         * lib/math.in.h: Likewise.
54084         * lib/netinet_in.in.h: Likewise.
54085         * lib/search.in.h: Likewise.
54086         * lib/signal.in.h: Likewise.
54087         * lib/stdarg.in.h: Likewise.
54088         * lib/stdint.in.h: Likewise.
54089         * lib/stdio.in.h: Likewise.
54090         * lib/stdlib.in.h: Likewise.
54091         * lib/string.in.h: Likewise.
54092         * lib/strings.in.h: Likewise.
54093         * lib/sys_select.in.h: Likewise.
54094         * lib/sys_socket.in.h: Likewise.
54095         * lib/sys_stat.in.h: Likewise.
54096         * lib/sys_time.in.h: Likewise.
54097         * lib/sysexits.in.h: Likewise.
54098         * lib/time.in.h: Likewise.
54099         * lib/unistd.in.h: Likewise.
54100         * lib/wchar.in.h: Likewise.
54101         * lib/wctype.in.h: Likewise.
54102         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54103         * modules/fchdir (Makefile.am): Likewise.
54104         * modules/fcntl (Makefile.am): Likewise.
54105         * modules/float (Makefile.am): Likewise.
54106         * modules/iconv_open (Makefile.am): Likewise.
54107         * modules/inttypes (Makefile.am): Likewise.
54108         * modules/locale (Makefile.am): Likewise.
54109         * modules/math (Makefile.am): Likewise.
54110         * modules/netinet_in (Makefile.am): Likewise.
54111         * modules/search (Makefile.am): Likewise.
54112         * modules/signal (Makefile.am): Likewise.
54113         * modules/stdarg (Makefile.am): Likewise.
54114         * modules/stdint (Makefile.am): Likewise.
54115         * modules/stdio (Makefile.am): Likewise.
54116         * modules/stdlib (Makefile.am): Likewise.
54117         * modules/string (Makefile.am): Likewise.
54118         * modules/strings (Makefile.am): Likewise.
54119         * modules/sys_select (Makefile.am): Likewise.
54120         * modules/sys_socket (Makefile.am): Likewise.
54121         * modules/sys_stat (Makefile.am): Likewise.
54122         * modules/sys_time (Makefile.am): Likewise.
54123         * modules/sysexits (Makefile.am): Likewise.
54124         * modules/time (Makefile.am): Likewise.
54125         * modules/unistd (Makefile.am): Likewise.
54126         * modules/wchar (Makefile.am): Likewise.
54127         * modules/wctype (Makefile.am): Likewise.
54128         Reported by Reuben Thomas <rrt@sc3d.org>.
54129
54130 2008-08-29  Bruno Haible  <bruno@clisp.org>
54131
54132         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54133         any more.
54134
54135 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54136
54137         * MODULES.html.sh (Misc): Add bitrotate.
54138
54139         * modules/bitrotate: New file.
54140
54141         * lib/bitrotate.h: New file.
54142
54143         * modules/bitrotate-tests: New file.
54144
54145         * tests/test-bitrotate.c: New file.
54146
54147         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54148         on the bitrotate module.
54149
54150         * lib/arctwo.c: Use new bitrotate module.
54151
54152 2008-08-29  Jim Meyering  <meyering@redhat.com>
54153
54154         bootstrap: merge changes from coreutils
54155         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54156         of copied files.  Remove a kludge, now that this is fixed.
54157         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54158         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54159         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54160
54161 2008-08-29  Bruno Haible  <bruno@clisp.org>
54162
54163         * MODULES.html.sh: Remove --cvs-urls option.
54164
54165 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54166
54167         maint.mk: adjust to file name change
54168         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54169
54170 2008-08-28  Jim Meyering  <meyering@redhat.com>
54171
54172         * modules/getndelim2 (License): Relicense to LGPLv2+.
54173         Approved by Richard Stallman for the version of 1995, and by
54174         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54175
54176 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54177
54178         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54179         dummy if one is not available.  Do not touch them if
54180         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54181         (getc_maybe_unlocked): New.
54182         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54183
54184 2008-08-26  Eric Blake  <ebb9@byu.net>
54185
54186         doc/INSTALL: resync from autoconf
54187         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54188         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54189         moving...
54190         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54191         * INSTALL: Regenerate.
54192         * INSTALL.ISO: New file.
54193         * INSTALL.UTF-8: Likewise.
54194
54195 2008-08-26  Jim Meyering  <meyering@redhat.com>
54196
54197         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54198         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54199         these definitions conditional, so that they may be overridden, too.
54200
54201 2008-08-26  Bruno Haible  <bruno@clisp.org>
54202
54203         Generate INSTALL file variants with prettier quotes.
54204         * doc/Makefile (INSTALL_PRELUDE): New macro.
54205         (INSTALL): Use it.
54206         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54207
54208 2008-08-26  Bruno Haible  <bruno@clisp.org>
54209
54210         Run makeinfo in an English locale.
54211         * doc/Makefile (MAKEINFO): New variable.
54212
54213 2008-08-26  Bruno Haible  <bruno@clisp.org>
54214
54215         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54216         Suggested by Eric Blake.
54217
54218 2008-08-25  Bruno Haible  <bruno@clisp.org>
54219
54220         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54221
54222 2008-08-25  Eric Blake  <ebb9@byu.net>
54223
54224         c-stack: test that stack overflow can be caught
54225         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54226         that platform allows handling stack overflow; at least OS/2 EMX
54227         has sigaltstack, but crashes before transferring control to
54228         handler on stack overflow.
54229         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54230         check for HAVE_STACK_OVERFLOW_HANDLING.
54231         Reported by Elbert Pol.
54232
54233 2008-08-25  Bruno Haible  <bruno@clisp.org>
54234
54235         * doc/posix-functions/strftime.texi: Fix description of strftime
54236         module.
54237
54238 2008-08-24  Bruno Haible  <bruno@clisp.org>
54239
54240         * tests/uniwidth/test-uc_width2.c: New file.
54241         * tests/uniwidth/test-uc_width2.sh: New file.
54242         * modules/uniwidth/width-tests (Files): Add the new files.
54243         (TESTS): Add uniwidth/test-uc_width2.sh.
54244         (TESTS_ENVIRONMENT): New variable.
54245         (check_PROGRAMS): Add test-uc_width2.
54246         (test_uc_width2_SOURCES): New variable.
54247
54248         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
54249         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
54250         not 0x00AB.
54251         Reported by Alexander V. Lukyanov <lav@netis.ru>.
54252
54253 2008-08-22  Eric Blake  <ebb9@byu.net>
54254
54255         test-lock, test-tls: mention why a test is skipped
54256         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54257         skipped.
54258         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54259
54260         count-one-bits: relax license
54261         * modules/count-one-bits (License): Relicense to LGPLv2+.
54262         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54263
54264 2008-08-22  Andreas Schwab  <schwab@suse.de>
54265
54266         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54267         Remove spurious space in assignment.
54268
54269 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54270
54271         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54272         Paul Eggert <eggert@CS.UCLA.EDU>.
54273
54274 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54275
54276         * modules/gettext: Add m4/threadlib.m4.
54277
54278 2008-08-19  Eric Blake  <ebb9@byu.net>
54279
54280         test-c-stack: fix compilation failure on FreeBSD 5.0
54281         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54282         headers before <sys/resource.h>.
54283         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54284         the bug.
54285         Reported by Nelson H. F. Beebe.
54286
54287         strverscmp: migrate from "strverscmp.h" to <string.h>
54288         * modules/string (Makefile.am): Add new hooks.
54289         * modules/strverscmp (Files): Remove strverscmp.h.
54290         (Depends-on): Add string.
54291         (configure.ac): Add indicator.
54292         (Include): Mention new header.
54293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54294         defaults.
54295         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54296         results.
54297         * lib/strverscmp.h: Delete.
54298         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54299         * tests/test-strverscmp.c (includes): Adjust client.
54300         * lib/check-version.c (includes): Likewise.
54301         * NEWS: Document the change.
54302
54303         strverscmp: add unit test
54304         * modules/strverscmp-tests: New file.
54305         * tests/test-strverscmp.c: Likewise.
54306
54307 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54308
54309         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54310         regarding Windows crypto stuff, from Mono.
54311
54312 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54313
54314         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54315         if present, for intel RND.  Return error on failures.
54316
54317 2008-08-18  Ben Pfaff  <blp@gnu.org>
54318
54319         gitlog-to-changelog: give better diagnostic for failed pipe-open
54320         * build-aux/gitlog-to-changelog: Improve error message: suggest
54321         that the version of Git may be too old.
54322
54323 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54324
54325         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54326         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54327
54328 2008-08-18  Bruno Haible  <bruno@clisp.org>
54329
54330         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54331         pthread_in_use().
54332
54333 2008-08-18  Bruno Haible  <bruno@clisp.org>
54334
54335         * lib/glthread/threadlib.c: Include <pthread.h>.
54336
54337 2008-08-18  Bruno Haible  <bruno@clisp.org>
54338
54339         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54340         glthread_recursive_lock_* macros.
54341         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54342         Fix syntax error.
54343
54344 2008-08-18  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/glthread/thread.c: Avoid forcing a context switch right after
54347         thread creation.
54348
54349 2008-08-17  Bruno Haible  <bruno@clisp.org>
54350
54351         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54352         * lib/glthread/thread.h: Provide Win32 specific implementation.
54353         * modules/thread (Files): Add lib/glthread/thread.c.
54354         (Depends-on): Add lock.
54355         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54356
54357 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54358
54359         New module 'yield'.
54360         * modules/yield: New file.
54361         * lib/glthread/yield.h: New file.
54362         * m4/yield.m4: New file.
54363         * MODULES.html.sh (Multithreading): Add yield.
54364
54365 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54366
54367         New module 'thread'.
54368         * modules/thread: New file.
54369         * lib/glthread/thread.h: New file.
54370         * m4/thread.m4: New file.
54371         * MODULES.html.sh (Multithreading): Add thread.
54372
54373 2008-08-17  Bruno Haible  <bruno@clisp.org>
54374
54375         * lib/glthread/lock.h: Include <stdlib.h> always.
54376         * lib/glthread/tls.h: Likewise.
54377         * lib/glthread/cond.h: Likewise.
54378
54379 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54380
54381         New module 'cond'.
54382         * modules/cond: New file.
54383         * lib/glthread/cond.h: New file.
54384         * lib/glthread/cond.c: New file.
54385         * m4/cond.m4: New file.
54386         * MODULES.html.sh (Multithreading): Add cond.
54387
54388 2008-08-16  Eric Blake  <ebb9@byu.net>
54389
54390         c-stack: fix regression on Irix 5.3 from 2008-06-21
54391         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54392         sa_sigaction...
54393         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54394         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54395         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54396         * modules/signal (Makefile.am): Use the value.
54397         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54398         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54399         * doc/posix-headers/signal.texi (signal.h): Document this
54400         portability issue.
54401         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54402         Reported by Tom G. Christensen.
54403
54404 2008-08-17  Bruno Haible  <bruno@clisp.org>
54405
54406         New module 'threadlib'.
54407         * modules/threadlib: New file.
54408         * lib/glthread/threadlib.c: New file, extracted from
54409         lib/glthread/lock.c.
54410         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54411         functions.
54412         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54413         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54414         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54415         macros.
54416         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54417         (gl_DISABLE_THREADS): Remove macro.
54418         * modules/lock (Files): Remove build-aux/config.rpath.
54419         (Depends-on): Remove havelib. Add threadlib.
54420         (configure.ac-early): Remove section.
54421         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54422         * modules/tls (Depends-on): Remove lock. Add threadlib.
54423         (Link): New section, copied from threadlib.
54424         * MODULES.html.sh (Multithreading): Add threadlib.
54425
54426 2008-08-14  Bruno Haible  <bruno@clisp.org>
54427
54428         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54429         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54430         glthread_rwlock_unlock, glthread_rwlock_destroy,
54431         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54432         glthread_recursive_lock_destroy): Define as macros always.
54433         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54434         glthread_lock_lock.
54435         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54436         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54437         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54438         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54439         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54440         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54441         (glthread_recursive_lock_lock_func): Renamed from
54442         glthread_recursive_lock_lock.
54443         (glthread_recursive_lock_unlock_func): Renamed from
54444         glthread_recursive_lock_unlock.
54445         (glthread_recursive_lock_destroy_func): Renamed from
54446         glthread_recursive_lock_destroy.
54447
54448 2008-08-14  Bruno Haible  <bruno@clisp.org>
54449
54450         * lib/glthread/lock.h: Renamed from lib/lock.h.
54451         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54452         * lib/glthread/tls.h: Renamed from lib/tls.h.
54453         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54454         * lib/fstrcmp.c: Update includes.
54455         * lib/strsignal.c: Update includes.
54456         * modules/lock (Files, Makefile.am): Update.
54457         (Include): Change to "glthread/lock.h".
54458         * modules/tls (Files, Makefile.am): Update.
54459         (Include): Change to "glthread/tls.h".
54460         * tests/test-lock.c: Update includes.
54461         * tests/test-tls.c: Update includes.
54462         * NEWS: Mention the renamed header files.
54463
54464 2008-08-11  Jim Meyering  <meyering@redhat.com>
54465
54466         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54467
54468 2008-08-11  Eric Blake  <ebb9@byu.net>
54469
54470         test-c-stack: avoid C99-ism
54471         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54472         before statement.
54473         Reported by Alain Guibert.
54474
54475 2008-08-10  Jim Meyering  <meyering@redhat.com>
54476
54477         ensure that return value of uinttostr et al are not ignored
54478         * lib/inttostr.h (__GNUC_PREREQ): Define.
54479         (__attribute_warn_unused_result__): Define.
54480         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54481
54482 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54483
54484         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54485         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54486
54487 2008-08-07  Jim Meyering  <meyering@redhat.com>
54488
54489         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54490
54491         * modules/mkstemp (License): Relicense under LGPLv2+.
54492         * modules/tempname (License): Likewise.
54493
54494 2008-08-06  Bruno Haible  <bruno@clisp.org>
54495
54496         * lib/poll.c (poll): Further micro-optimization.
54497
54498 2008-08-06  Jim Meyering  <meyering@redhat.com>
54499
54500         inet_pton.c: use locale-independent tolower
54501         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54502         (inet_pton6): Use c_tolower rather than tolower.
54503         * modules/inet_pton (Depends-on): Add c-ctype.
54504
54505 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54506
54507         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54508         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54509
54510 2008-08-06  Jim Meyering  <meyering@redhat.com>
54511
54512         * modules/inet_pton (License): Relicense under LGPLv2+.
54513
54514 2008-08-03  Bruno Haible  <bruno@clisp.org>
54515
54516         Additional non-aborting API for lock and tls.
54517         * lib/lock.h: Include <errno.h>.
54518         (glthread_lock_init): New macro/function.
54519         (gl_lock_init): Define as wrapper around glthread_lock_init.
54520         (glthread_lock_lock): New macro/function.
54521         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54522         (glthread_lock_unlock): New macro/function.
54523         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54524         (glthread_lock_destroy): New macro/function.
54525         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54526         (glthread_rwlock_init): New macro/function.
54527         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54528         (glthread_rwlock_rdlock): New macro/function.
54529         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54530         (glthread_rwlock_wrlock): New macro/function.
54531         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54532         (glthread_rwlock_unlock): New macro/function.
54533         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54534         (glthread_rwlock_destroy): New macro/function.
54535         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54536         (glthread_recursive_lock_init): New macro/function.
54537         (gl_recursive_lock_init): Define as wrapper around
54538         glthread_recursive_lock_init.
54539         (glthread_recursive_lock_lock): New macro/function.
54540         (gl_recursive_lock_lock): Define as wrapper around
54541         glthread_recursive_lock_lock.
54542         (glthread_recursive_lock_unlock): New macro/function.
54543         (gl_recursive_lock_unlock): Define as wrapper around
54544         glthread_recursive_lock_unlock.
54545         (glthread_recursive_lock_destroy): New macro/function.
54546         (gl_recursive_lock_destroy): Define as wrapper around
54547         glthread_recursive_lock_destroy.
54548         (glthread_once): New macro/function.
54549         (gl_once): Define as wrapper around glthread_once.
54550         Update function declarations.
54551         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54552         glthread_rwlock_init. Return error code.
54553         (glthread_rwlock_rdlock_multithreaded): Renamed from
54554         glthread_rwlock_rdlock. Return error code.
54555         (glthread_rwlock_wrlock_multithreaded): Renamed from
54556         glthread_rwlock_wrlock. Return error code.
54557         (glthread_rwlock_unlock_multithreaded): Renamed from
54558         glthread_rwlock_unlock. Return error code.
54559         (glthread_rwlock_destroy_multithreaded): Renamed from
54560         glthread_rwlock_destroy. Return error code.
54561         (glthread_recursive_lock_init_multithreaded): Renamed from
54562         glthread_recursive_lock_init. Return error code.
54563         (glthread_recursive_lock_lock_multithreaded): Renamed from
54564         glthread_recursive_lock_lock. Return error code.
54565         (glthread_recursive_lock_unlock_multithreaded): Renamed from
54566         glthread_recursive_lock_unlock. Return error code.
54567         (glthread_recursive_lock_destroy_multithreaded): Renamed from
54568         glthread_recursive_lock_destroy. Return error code.
54569         (glthread_once_call): Make static.
54570         (glthread_once_multithreaded): Renamed from glthread_once.
54571         * lib/tls.h: Include <errno.h>.
54572         (glthread_tls_key_init): New macro/function.
54573         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
54574         (glthread_tls_set): New macro/function.
54575         (gl_tls_set): Define as wrapper around glthread_tls_set.
54576         (glthread_tls_key_destroy): New macro/function.
54577         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
54578         Update function declarations.
54579         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
54580         glthread_tls_get.
54581         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54582
54583 2008-08-04  Eric Blake  <ebb9@byu.net>
54584
54585         gnumakefile: use space, not TAB, outside of targets
54586         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
54587
54588 2008-08-02  Jim Meyering  <meyering@redhat.com>
54589
54590         getdate.y: avoid locale-dependent date parsing failure
54591         In Turkish locales, getdate would fail to recognize keywords
54592         containing a lowercase "i".  The solution is not to rely on
54593         locale-sensitive case-conversion.
54594         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
54595         (lookup_word): Use c_toupper in place of toupper.
54596         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
54597         Reported by Vefa Bicakci <bicave@superonline.com> in
54598         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
54599         * modules/getdate (Depends-on): Add c-ctype.
54600
54601 2008-08-02  Bruno Haible  <bruno@clisp.org>
54602
54603         * gnulib-tool (func_import): When updating or creating a .gitignore
54604         file, prepend each added line with a slash, and ignore leading slashes
54605         from the existing lines.
54606         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54607
54608 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54609
54610         Portability fix for GNU make 3.79.1.
54611         * top/GNUmakefile: Avoid 'else COND', which older GNU make
54612         versions do not understand.
54613
54614 2008-08-01  Bruno Haible  <bruno@clisp.org>
54615
54616         Work around bug of HP-UX 10.20 cc with -0.0 literal.
54617         * tests/test-isnanf.h (zero): New variable.
54618         (main): Avoid literal -0.0f.
54619         * tests/test-isnand.h (zero): New variable.
54620         (main): Avoid literal -0.0.
54621         * tests/test-isnanl.h (zero): New variable.
54622         (main): Avoid literal -0.0L.
54623         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
54624         (test_float, test_double, test_long_double): Avoid literals -0.0f,
54625         -0.0, -0.0L.
54626         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
54627         (test_signbitd): Avoid literal -0.0.
54628         (test_signbitl): Avoid literal -0.0L.
54629         * tests/test-ceilf1.c (zero): New variable.
54630         (main): Avoid literal -0.0f.
54631         * tests/test-ceill.c (zero): New variable.
54632         (main): Avoid literal -0.0L.
54633         * tests/test-floorf1.c (zero): New variable.
54634         (main): Avoid literal -0.0f.
54635         * tests/test-floorl.c (zero): New variable.
54636         (main): Avoid literal -0.0L.
54637         * tests/test-roundf1.c (zero): New variable.
54638         (main): Avoid literal -0.0f.
54639         * tests/test-round1.c (zero): New variable.
54640         (main): Avoid literal -0.0.
54641         * tests/test-roundl.c (zero): New variable.
54642         (main): Avoid literal -0.0L.
54643         * tests/test-truncf1.c (zero): New variable.
54644         (main): Avoid literal -0.0f.
54645         * tests/test-trunc1.c (zero): New variable.
54646         (main): Avoid literal -0.0.
54647         * tests/test-truncl.c (zero): New variable.
54648         (main): Avoid literal -0.0L.
54649         * tests/test-frexp.c (zero): New variable.
54650         (main): Avoid literal -0.0.
54651         * tests/test-frexpl.c (zero): New variable.
54652         (main): Avoid literal -0.0L.
54653         * tests/test-ldexpl.c (zero): New variable.
54654         (main): Avoid literal -0.0L.
54655         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54656         (zerod, zerol): New variables.
54657         (test_function): Avoid literals -0.0, -0.0L.
54658         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54659         (zerod, zerol): New variables.
54660         (test_function): Avoid literals -0.0, -0.0L.
54661         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54662         (zerod, zerol): New variables.
54663         (test_function): Avoid literals -0.0, -0.0L.
54664         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54665         (zerod, zerol): New variables.
54666         (test_function): Avoid literals -0.0, -0.0L.
54667         * tests/test-strtod.c (zero): New variable.
54668         (main): Avoid literal -0.0.
54669         Reported by Jonathan C. Patschke <jp@centtech.com>.
54670
54671 2008-07-31  Jim Meyering  <meyering@redhat.com>
54672
54673         sha256.h: correct definition of SHA224_DIGEST_SIZE
54674         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
54675         Reported by Paulie Pena IV <paulie4@gmail.com>.
54676         Define as 224 / 8, rather than as a literal.
54677         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
54678         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
54679         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
54680
54681 2008-07-31  Bruno Haible  <bruno@clisp.org>
54682
54683         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
54684         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
54685         Reported by Jonathan Patschke <jp@centtech.com>.
54686
54687 2008-07-31  Bruno Haible  <bruno@clisp.org>
54688
54689         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
54690         Reported by Paolo Bonzini <bonzini@gnu.org>.
54691
54692 2008-07-30  Eric Blake  <ebb9@byu.net>
54693
54694         test-strtod: allow compilation without -lm
54695         * tests/test-strtod.c (main): Avoid link dependence on fabs.
54696         Reported by Dennis Clarke <blastwave@gmail.com>.
54697
54698 2008-07-28  Jim Meyering  <meyering@redhat.com>
54699
54700         bootstrap: work also when there are no .po files in po/
54701         * build-aux/bootstrap (update_po_files): Complete the change
54702         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
54703
54704 2008-07-27  Jim Meyering  <meyering@redhat.com>
54705
54706         * users.txt: Add zile.
54707
54708 2008-07-26  Ben Pfaff  <blp@gnu.org>
54709
54710         Add missing dependencies on new m4/exponent[fdl].m4 files.
54711         * modules/isnanf-nolibm: Add m4/exponentf.m4.
54712         * modules/isnand-nolibm: Add m4/exponentd.m4.
54713         * modules/isnanl-nolibm: Add m4/exponentl.m4.
54714         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
54715         m4/isnan[fdl].m4, because the macros actually used moved.
54716         Reported by Jim Meyering.
54717
54718 2008-07-14  Ben Pfaff  <blp@gnu.org>
54719
54720         Add isinf module.
54721         * lib/isinf.c: New file.
54722         * lib/math.in.h: Define isinf macro if we have decided to replace
54723         it.
54724         * m4/isinf.m4: New file.
54725         * m4/math_h.m4: Initialize and substitute variables for isinf
54726         module.
54727         * modules/isinf: New file.
54728         * modules/isinf-tests: New file.
54729         * modules/math: Add substitutions for new module.
54730         * tests/test-isinf.c: New file.
54731         * doc/posix-functions/isinf.texi: Mention new module.
54732         * MODULES.html.sh: Mention new module.
54733
54734 2008-07-14  Ben Pfaff  <blp@gnu.org>
54735
54736         Factor out some macros for use by additional modules.
54737         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
54738         exponentf.m4.
54739         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
54740         exponentd.m4.
54741         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
54742         file exponentl.m4.
54743         * m4/exponentf.m4: New file.
54744         * m4/exponentd.m4: New file.
54745         * m4/exponentl.m4: New file.
54746         * modules/isnanf: Use new file m4/exponentf.m4.
54747         * modules/isnand: Use new file m4/exponentd.m4.
54748         * modules/isnanl: Use new file m4/exponentl.m4.
54749
54750 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
54751
54752         mktime.c: normalize tp->tm_isdst value to -1/0/1.
54753         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
54754         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
54755         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
54756
54757         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
54758         readlink on platforms without PATH_MAX.
54759
54760 2008-07-21  Eric Blake  <ebb9@byu.net>
54761
54762         Warn, not fail, on stale version.
54763         * top/GNUmakefile (_curr-ver): Tone down previous patch.
54764
54765         Don't allow installation with stale devel version number.
54766         * top/GNUmakefile (_is-install-target): New macro.
54767         (_curr-ver): Forbid installation with stale version number.
54768
54769 2008-07-20  Bruno Haible  <bruno@clisp.org>
54770
54771         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54772         TESTS_ENVIRONMENT.
54773         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54774
54775 2008-07-20  Bruno Haible  <bruno@clisp.org>
54776
54777         * lib/c-stack.h (c_stack_action): Add documentation.
54778         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54779
54780 2008-07-20  Bruno Haible  <bruno@clisp.org>
54781
54782         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54783         * modules/readlink (License): Likewise.
54784
54785 2008-07-17  Eric Blake  <ebb9@byu.net>
54786
54787         * modules/c-stack (Link): Fix typo.
54788
54789         Make c-stack use libsigsegv, when available.
54790         * modules/c-stack (Depends-on): Add libsigsegv.
54791         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54792         needed.
54793         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54794         (segv_handler, overflow_handler, c_stack_action)
54795         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54796         implementation when libsigsegv is available, but only when using
54797         the library is necessary.
54798         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54799         comment, explaining why XSI check fails on Linux.
54800         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54801         * tests/test-c-stack2.sh: Tweak skip message.
54802         * NEWS: Document new link-time requirements.
54803
54804 2008-07-16  Eric Blake  <ebb9@byu.net>
54805
54806         c-stack: Expose false positives when not using libsigsegv.
54807         * modules/c-stack-tests (Files): Expand test.
54808         * tests/test-c-stack.c (main): Add means to conditionally trigger
54809         non-overflow SIGSEGV.
54810         * tests/test-c-stack2.sh: New file.
54811
54812 2008-07-14  Bruno Haible  <bruno@clisp.org>
54813
54814         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54815         Reported by Eric Blake.
54816
54817 2008-07-14  Sam Steingold  <sds@gnu.org>
54818             Bruno Haible  <bruno@clisp.org>
54819
54820         New module libsigsegv.
54821         * modules/libsigsegv: New file.
54822         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54823         modifications.
54824         * MODULES.html.sh (Signal handling): New section.
54825
54826 2008-07-14  Bruno Haible  <bruno@clisp.org>
54827
54828         * modules/unictype/ctype-* (Description): Add the word "function".
54829         Improves the resulting doc in MODULES.html.
54830
54831 2008-07-12  Ben Pfaff  <blp@gnu.org>
54832
54833         Add longlong module.
54834         * modules/longlong: New file.
54835
54836 2008-07-12  Bruno Haible  <bruno@clisp.org>
54837
54838         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54839         to empty.
54840
54841 2008-07-10  Ben Pfaff  <blp@gnu.org>
54842
54843         Add isnan module.
54844         * doc/posix-functions/isnan.texi: Mention new module.
54845         * lib/math.in.h: Define isnan macro if we have decided to replace
54846         it.
54847         * m4/isnan.m4: New file.
54848         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54849         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54850         also.
54851         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54852         redundancy.
54853         * m4/math_h.m4: Initialize and substitute variables for isnan
54854         module.
54855         * modules/isnan: New file.
54856         * modules/isnan-tests: New file.
54857         * modules/math: Add substitutions for new module.
54858         * tests/test-isnan.c: New file.
54859         * MODULES.html.sh: Mention new module.
54860
54861 2008-07-10  Ben Pfaff  <blp@gnu.org>
54862
54863         Add isnanf module.
54864         * lib/isnanf.m4: New file.
54865         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54866         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54867         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54868         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54869         * modules/isnanf: New file.
54870         * modules/isnanf-tests: New file.
54871         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54872         files.
54873         * tests/test-isnanf-nolibm.c: factored most of its contents into
54874         new file tests/test-isnanf.h.
54875         * tests/test-isnanf.h: New file.
54876         * tests/test-isnanf.c: New file.
54877         * MODULES.html.sh: Mention new module.
54878         * doc/glibc-functions/isnanf.texi: Mention new module.
54879
54880 2008-07-10  Ben Pfaff  <blp@gnu.org>
54881
54882         Add isnand module.
54883         * lib/isnand.h: New file.
54884         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54885         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54886         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54887         functionality also.
54888         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54889         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54890         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54891         * modules/isnand: New file.
54892         * modules/isnand-tests: New file.
54893         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54894         files.
54895         * tests/test-isnand-nolibm.c: factored most of its contents into
54896         new file tests/test-isnand.h.
54897         * tests/test-isnand.h: New file.
54898         * tests/test-isnand.c: New file.
54899         * MODULES.html.sh: Mention new module.
54900
54901 2008-07-10  Ben Pfaff  <blp@gnu.org>
54902
54903         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54904         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54905         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54906         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54907         * modules/isnanf-nolibm: Update references to renamed files.
54908         * modules/isnand-nolibm: Likewise.
54909         * modules/isnanf-nolibm-tests: Likewise.
54910         * modules/isnand-nolibm-tests: Likewise.
54911         * lib/frexp.c: Likewise.
54912         * lib/isfinite.c: Likewise.
54913         * lib/signbitd.c: Likewise.
54914         * lib/signbitf.c: Likewise.
54915         * lib/vasnprintf.c: Likewise.
54916         * tests/test-ceilf1.c: Likewise.
54917         * tests/test-ceilf2.c: Likewise.
54918         * tests/test-floorf1.c: Likewise.
54919         * tests/test-floorf2.c: Likewise.
54920         * tests/test-frexp.c: Likewise.
54921         * tests/test-round1.c: Likewise.
54922         * tests/test-round2.c: Likewise.
54923         * tests/test-roundf1.c: Likewise.
54924         * tests/test-strtod.c: Likewise.
54925         * tests/test-trunc1.c: Likewise.
54926         * tests/test-trunc2.c: Likewise.
54927         * tests/test-truncf1.c: Likewise.
54928         * tests/test-truncf2.c: Likewise.
54929         * NEWS: Mention the renamed header files.
54930
54931 2008-07-11  Jim Meyering  <meyering@redhat.com>
54932
54933         vc-list-files: make the last-resort awk code more portable
54934         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54935         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54936         does not support it.
54937
54938 2008-07-10  Eric Blake  <ebb9@byu.net>
54939
54940         Work with tar's bootstrap.
54941         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54942         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54943         an m4 comment.
54944
54945 2008-07-09  Jim Meyering  <meyering@redhat.com>
54946
54947         posix-shell.m4: fix typo that made this test malfunction
54948         * m4/posix-shell.m4: Remove capitalization in variable name.
54949
54950 2008-07-08  Bruno Haible  <bruno@clisp.org>
54951
54952         * m4/onceonly.m4: Update comments.
54953         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54954
54955 2008-07-04  Jim Meyering  <meyering@redhat.com>
54956
54957         * users.txt: Add vc-dwim.
54958         (bison, coreutils): Use the gitweb URL.
54959
54960 2008-07-03  Jim Meyering  <meyering@redhat.com>
54961
54962         * users.txt: Add libffcall.  From Sam Steingold.
54963
54964 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54965
54966         getdate.y: do not ignore TZ with relative day, month or year offset
54967         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54968         relative-date-handling, since otherwise, the latter would clobber the
54969         sole output (an updated Start value) of the tz-handling block.
54970         * tests/test-getdate.c: Tests for the fix
54971
54972 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54973
54974         Recognize 'foo_LIBRARIES += libgnu.a'.
54975         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54976         makefile snippet has already specified an installation location,
54977         also using '+='.
54978
54979 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54980
54981         getdate.y: factor out common actions
54982         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54983         Use them in place of open-coded actions.
54984
54985 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54986
54987         Add self-test for getdate module.
54988         * modules/getdate-tests: New file.
54989         * tests/test-getdate.c: New file.
54990
54991 2008-06-29  Bruno Haible  <bruno@clisp.org>
54992
54993         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54994         .gitignore.
54995         Reported by Sylvain Beucler <beuc@beuc.net>.
54996
54997 2008-06-29  Bruno Haible  <bruno@clisp.org>
54998
54999         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55000         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55001
55002 2008-06-29  Bruno Haible  <bruno@clisp.org>
55003
55004         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55005         EXTRA_DIST.
55006         Reported by Sylvain Beucler <beuc@beuc.net>.
55007
55008 2008-06-26  Jim Meyering  <meyering@redhat.com>
55009
55010         make several modules depend on the "open" module
55011         This provides slightly increased consistency when opening-for-write
55012         the name of a non-directory spelled with a trailing slash.
55013         * modules/chdir-safer: Likewise.
55014         * modules/chown: Likewise.
55015         * modules/clean-temp: Likewise.
55016         * modules/copy-file: Likewise.
55017         * modules/fchdir: Likewise.
55018         * modules/fcntl-safer: Likewise.
55019         * modules/pipe: Likewise.
55020         * modules/utime: Likewise.
55021         Prompted by Eric Blake and Bruno Haible.
55022
55023 2008-06-24  Andreas Schwab  <schwab@suse.de>
55024
55025         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55026         literals can be used as initializers for global variables.
55027
55028 2008-06-23  Eric Blake  <ebb9@byu.net>
55029
55030         Make gnulib-cache.m4 easier to diff.
55031         * gnulib-tool (func_import): Allow newlines when reading cached
55032         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55033
55034 2008-06-23  Bruno Haible  <bruno@clisp.org>
55035
55036         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55037         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55038         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55039         m4/signalblocking.m4.
55040         (gl_PREREQ_SIGACTION): Don't invoke it.
55041         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55042         gl_PREREQ_SIG_HANDLER_H.
55043         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55044         Don't check for sigaction here.
55045
55046 2008-06-23  Bruno Haible  <bruno@clisp.org>
55047
55048         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55049         (install_handlers): Don't set the SA_RESETHAND flag.
55050
55051 2008-06-23  Bruno Haible  <bruno@clisp.org>
55052
55053         * m4/sigaction.m4: Comment fixes.
55054         * lib/signal.in.h: Likewise.
55055
55056 2008-06-23  Eric Blake  <ebb9@byu.net>
55057
55058         Fix typo.
55059         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55060
55061         Avoid SA_ namespace.
55062         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55063         Reported by Ralf Wildenhues.
55064
55065         Avoid test failure due to SA_RESTORER.
55066         * tests/test-sigaction.c (SA_MASK): New macro.
55067         (main): Avoid failing due to extension flags being set.
55068         Reported by Jim Meyering.
55069
55070         Revert use of sig-handler.h in sigprocmask.c.
55071         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55072         it requires the existence of struct sigaction.
55073         * lib/sigprocmask.c (handler_t): Restore typedef.
55074         (rpl_signal, old_handlers): Use local type.
55075
55076 2008-06-22  Bruno Haible  <bruno@clisp.org>
55077
55078         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55079         conditionally.
55080         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55081
55082 2008-06-22  Bruno Haible  <bruno@clisp.org>
55083
55084         * doc/posix-functions/siginterrupt.texi: Move note.
55085
55086         * lib/signal.in.h (SA_RESTART): New macro.
55087         * lib/sigaction.c: Update comment.
55088
55089         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55090
55091         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55092         (gl_PREREQ_SIGPROCMASK): Invoke it.
55093         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55094
55095         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55096
55097         * lib/sigprocmask.c: Update a comment.
55098
55099 2008-06-21  Eric Blake  <ebb9@byu.net>
55100
55101         Use sigaction module rather than signal().
55102         * modules/c-stack (Depends-on): Add sigaction.
55103         * modules/fatal-signal (Depends-on): Likewise.
55104         * modules/nanosleep (Depends-on): Likewise.
55105         * modules/sigprocmask (Files): Add sig-handler.h.
55106         * modules/sigaction (Files): Likewise.
55107         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55108         Eggert.
55109         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55110         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55111         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55112         (init_fatal_signals): Likewise.
55113         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55114         (siginterrupt): Delete fallback.
55115         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55116         instead.
55117         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55118         siginterrupt.
55119
55120         New module sigaction, for mingw.
55121         * modules/sigaction: New module...
55122         * modules/sigaction-tests: ...and its test.
55123         * m4/sigaction.m4: New file.
55124         * lib/sigaction.c: Likewise.
55125         * tests/test-sigaction.c: Likewise.
55126         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55127         * modules/signal (Makefile.am): Likewise.
55128         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55129         needed.
55130         * doc/posix-headers/signal.texi (signal.h): Mention provided
55131         types.
55132         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55133         that sigaction is preferable.
55134         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55135         module.
55136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55137         sigaction.
55138
55139         Improve robustness of sigprocmask by overriding signal.
55140         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55141         is in use.
55142         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55143         (SIGKILL, SIGSTOP): Provide fallbacks.
55144         (rpl_signal): Implement.
55145         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55146         signal can be called inside handlers.
55147
55148         Fix nanosleep module on mingw.
55149         * modules/nanosleep (Depends-on): Add sys_select.
55150         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55151
55152         Fix licensing of sigprocmask.
55153         * modules/raise (License): Relicense as LGPL.
55154
55155 2008-06-21  Bruno Haible  <bruno@clisp.org>
55156
55157         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55158         result if it contains question marks.
55159         Reported by Michael Geng <linux@michaelgeng.de>.
55160
55161 2008-06-19  Bruno Haible  <bruno@clisp.org>
55162
55163         Fix CVS-ism.
55164         * doc/gnulib.texi: Include updated-stamp.texi.
55165         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55166         (updated-stamp.texi): New rule.
55167         (gnulib.info): Depend on it.
55168         * doc/.gitignore: Add updated-stamp.texi.
55169         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55170
55171 2008-06-19  Bruno Haible  <bruno@clisp.org>
55172
55173         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55174         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55175
55176 2008-06-19  Eric Blake  <ebb9@byu.net>
55177
55178         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55179         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55180         Reported by Stepan Kasal.
55181
55182 2008-06-18  Bruno Haible  <bruno@clisp.org>
55183
55184         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55185         Reported by Eric Blake.
55186
55187 2008-06-18  Eric Blake  <ebb9@byu.net>
55188
55189         Work around cygwin 1.5.25 strsignal bug.
55190         * tests/test-strsignal.c: Allow for const char *.
55191         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55192
55193 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55194
55195         * users.txt: Update URL to article and add author/date
55196         information.
55197
55198 2008-06-17  Bruno Haible  <bruno@clisp.org>
55199
55200         New macro gl_DISABLE_THREADS.
55201         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55202         if the user did not pass --enable-threads or --disable-threads option.
55203         (gl_DISABLE_THREADS): New macro.
55204         Reported by Eric Blake <ebb9@byu.net>.
55205
55206 2008-06-17  Bruno Haible  <bruno@clisp.org>
55207
55208         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55209         when the macro ignores it.
55210         Based on a patch by Eric Blake <ebb9@byu.net>.
55211
55212 2008-06-17  Bruno Haible  <bruno@clisp.org>
55213
55214         * modules/tls (License): Change to LGPLv2+.
55215         Reported by Eric Blake.
55216
55217 2008-06-17  Eric Blake  <ebb9@byu.net>
55218
55219         Simplify c-stack prerequisites.
55220         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55221         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55222         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55223         check.
55224         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55225         <sys/resource.h>.
55226
55227         Move c-stack test into testsuite.
55228         * modules/c-stack-tests: New file.
55229         * lib/c-stack.c [DEBUG]: Move test program...
55230         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55231         fail test if sigaltstack is lacking.
55232         * tests/test-c-stack.sh: New driver file.
55233
55234 2008-06-16  Eric Blake  <ebb9@byu.net>
55235
55236         Use raise module consistently.
55237         * modules/fatal-signal (Depends-on): Add raise.
55238         * modules/sigprocmask (Depends-on): Likewise.
55239         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
55240         * lib/sigprocmask.c (sigprocmask): Likewise.
55241         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55242         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
55243
55244         Fix compliance bug in sigpending.
55245         * lib/sigprocmask.c (sigpending): Return pending array via
55246         parameter, not return value.
55247
55248 2008-06-14  Eric Blake  <ebb9@byu.net>
55249
55250         Improve obstack-printf test code.
55251         * tests/test-obstack-printf.c (test_function): Fix comment, and
55252         simplify usage of obstack_* in macros.  Add a test for coverage.
55253         Reported by Bruno Haible.
55254
55255 2008-06-14  Bruno Haible  <bruno@clisp.org>
55256
55257         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55258         array size as a constant, not as a const variable.
55259         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55260         AC_USE_SYSTEM_EXTENSIONS.
55261         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55262         Test whether the obstack_printf function actually exists.
55263         * modules/obstack-printf (Depends-on): Add extensions.
55264         (Include): Remove obstack.h.
55265         * modules/obstack-printf-posix (Depends-on): Add extensions.
55266         (Include): Remove obstack.h.
55267
55268 2008-06-13  Eric Blake  <ebb9@byu.net>
55269
55270         Add obstack-printf and obstack-printf-posix modules.
55271         * modules/obstack-printf: New file.
55272         * modules/obstack-printf-posix: Likewise.
55273         * MODULES.html.sh (Misc): Mention them.
55274         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55275         Likewise.
55276         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55277         Likewise.
55278         * modules/stdio (Makefile.am): Accomodate new modules.
55279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55280         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55281         Declare.
55282         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55283         functions.
55284         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55285         (gl_REPLACE_OBSTACK_PRINTF): New macros
55286         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55287         * tests/test-obstack-printf.c: New file.
55288         * modules/obstack-printf-tests: Likewise.
55289         * modules/obstack-printf-posix-tests: Likewise.
55290
55291 2008-06-11  Bruno Haible  <bruno@clisp.org>
55292
55293         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55294         * lib/open.c: Include errno.h.
55295         (open): Fail when attempting to write to a file that has a trailing
55296         slash.
55297         * tests/test-open.c (main): Test against trailing slash bug.
55298         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55299
55300 2008-06-10  Bruno Haible  <bruno@clisp.org>
55301
55302         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55303         for $? to work inside the trap command, with various /bin/sh-s.
55304         * tests/test-vc-list-files-cvs.sh: Likewise.
55305
55306 2008-06-10  Bruno Haible  <bruno@clisp.org>
55307
55308         * lib/acl-internal.h: Don't include gettext.h here.
55309         * lib/set-mode-acl.c: Include gettext.h here.
55310         * lib/copy-acl.c: Likewise.
55311
55312 2008-06-10  Bruno Haible  <bruno@clisp.org>
55313
55314         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55315         * lib/wait-process.c (wait_subprocess): Likewise.
55316         * lib/execute.h (execute): Add termsigp argument.
55317         * lib/execute.c (execute): Likewise.
55318         * lib/csharpcomp.c (compile_csharp_using_pnet,
55319         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55320         * lib/csharpexec.c (execute_csharp_using_pnet,
55321         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55322         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55323         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55324         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55325         is_jikes_present): Update.
55326         * lib/javaexec.c (execute_java_class): Update.
55327         * lib/javaversion.c (execute_and_read_line): Update.
55328         * NEWS: Document the changes.
55329         Reported by Eric Blake.
55330
55331 2008-06-10  Eric Blake  <ebb9@byu.net>
55332
55333         Add missing include.
55334         * tests/test-strstr.c (includes): Add <signal.h>.
55335         * tests/test-strcasestr.c (includes): Likewise.
55336         * tests/test-memmem.c (includes): Likewise.
55337
55338 2008-06-10  Bruno Haible  <bruno@clisp.org>
55339
55340         * lib/wait-process.c (wait_subprocess): Add an assertion.
55341
55342 2008-06-10  Bruno Haible  <bruno@clisp.org>
55343
55344         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55345
55346 2008-06-10  Bruno Haible  <bruno@clisp.org>
55347
55348         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55349         using alarm().
55350         * tests/test-strcasestr.c (main): Likewise.
55351         * tests/test-strstr.c (main): Likewise.
55352
55353 2008-06-09  Bruno Haible  <bruno@clisp.org>
55354
55355         Work around the Solaris 10 ACE ACLs ABI change.
55356         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55357         declare if ACL_NO_TRIVIAL is present.
55358         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55359         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55360         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55361         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55362         define if ACL_NO_TRIVIAL is present.
55363         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55364         and use the current ABI.
55365         (file_has_acl): Use same #if condition as elsewhere.
55366         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55367         in use, and use the current ABI.
55368         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55369         Reported by Jim Meyering.
55370
55371 2008-06-09  Eric Blake  <ebb9@byu.net>
55372
55373         Work around environments that (stupidly) ignore SIGALRM.
55374         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55375         before using alarm().
55376         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55377         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55378         Reported by Ian Beckwith <ianb@erislabs.net>.
55379
55380         Produce autobuild blurb earlier in log.
55381         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55382
55383 2008-06-09  Jim Meyering  <meyering@redhat.com>
55384         and OndÅ™ej Vašík  <ovasik@redhat.com>
55385
55386         utimens.c: correct kernel bug work-around
55387         OndÅ™ej Vašík found that the invalid return value of 280 indicates
55388         failure, not success, and the kernel bug we're trying to work
55389         around affects not just the utimensat call, but also the fallback
55390         futimens call.
55391         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55392         not success.
55393         [HAVE_FUTIMENS]: Use the same work-around, here.
55394
55395 2008-06-09  Jim Meyering  <meyering@redhat.com>
55396
55397         add more guards around definition of ACE_-related code
55398         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55399         ALLOW and ACE_OWNER are also defined.
55400
55401 2008-06-08  Bruno Haible  <bruno@clisp.org>
55402
55403         * lib/acl-internal.h: Add me as co-author.
55404         * lib/file-has-acl.c: Likewise.
55405         * lib/set-mode-acl.c: Likewise.
55406         * lib/copy-acl.c: Likewise.
55407
55408 2008-06-08  Bruno Haible  <bruno@clisp.org>
55409
55410         Add support for AIX ACLs.
55411         * lib/acl-internal.h (acl_nontrivial): New declaration.
55412         * lib/file-has-acl.c (acl_nontrivial): New function.
55413         (file_has_acl): Add implementation using AIX 4 ACL API.
55414         * lib/set-mode-acl.c (qset_acl): Likewise.
55415         * lib/copy-acl.c (qcopy_acl): Likewise.
55416
55417 2008-06-08  Bruno Haible  <bruno@clisp.org>
55418
55419         Add support for HP-UX ACLs.
55420         * lib/acl-internal.h (acl_nontrivial): New declaration.
55421         * lib/file-has-acl.c (acl_nontrivial): New function.
55422         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55423         * lib/set-mode-acl.c (qset_acl): Likewise.
55424         * lib/copy-acl.c (qcopy_acl): Likewise.
55425
55426 2008-06-08  Bruno Haible  <bruno@clisp.org>
55427
55428         Add support for Cygwin ACLs.
55429         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55430         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55431         the chmod_or_fchmod call.
55432         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55433
55434 2008-06-08  Bruno Haible  <bruno@clisp.org>
55435
55436         Fix bug with setuid modes in Solaris 10+ code.
55437         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55438         succeeded, when the mode contains some special bits.
55439
55440 2008-06-08  Bruno Haible  <bruno@clisp.org>
55441
55442         Add support for Solaris 7..10 ACLs.
55443         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55444         declarations.
55445         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55446         functions.
55447         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55448         * lib/set-mode-acl.c (qset_acl): Likewise.
55449         * lib/copy-acl.c (qcopy_acl): Likewise.
55450
55451 2008-06-08  Bruno Haible  <bruno@clisp.org>
55452
55453         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55454         declaration.
55455         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55456         (acl_access_nontrivial): Remove MacOS X case.
55457         (file_has_acl): Use acl_extended_nontrivial.
55458         * lib/copy-acl.c (qcopy_acl): Likewise.
55459
55460 2008-06-08  Bruno Haible  <bruno@clisp.org>
55461
55462         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55463
55464 2008-06-08  Jim Meyering  <meyering@redhat.com>
55465
55466         * modules/acl (Maintainer): Add Bruno Haible.
55467
55468 2008-06-07  Bruno Haible  <bruno@clisp.org>
55469
55470         Improve support for Tru64 ACLs.
55471         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55472         ACL on OSF/1.
55473
55474 2008-06-07  Bruno Haible  <bruno@clisp.org>
55475
55476         Add support for MacOS X ACLs.
55477         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55478         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55479         * lib/set-mode-acl.c (qset_acl): Likewise.
55480         * lib/copy-acl.c (qcopy_acl): Likewise.
55481
55482 2008-06-07  Bruno Haible  <bruno@clisp.org>
55483
55484         Fix memory leak introduced on 2008-05-22.
55485         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55486         use.
55487
55488 2008-06-07  Bruno Haible  <bruno@clisp.org>
55489
55490         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55491         to construct an empty ACL.
55492
55493 2008-06-07  Bruno Haible  <bruno@clisp.org>
55494
55495         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55496         precisely.
55497         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55498
55499 2008-06-07  Bruno Haible  <bruno@clisp.org>
55500
55501         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55502         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55503
55504 2008-06-07  Bruno Haible  <bruno@clisp.org>
55505
55506         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55507         regardless of POSIX.
55508         * doc/posix-functions/_longjmp.texi: Likewise.
55509         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55510         SystemV platform in this case.
55511
55512 2008-06-06  Eric Blake  <ebb9@byu.net>
55513
55514         Document abort() bugs.
55515         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55516
55517         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55518         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55519         sigsetjmp.
55520         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55521         siglongjmp, but only as a macro.
55522         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55523         is obsolete.
55524         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55525
55526         Tweak documentation to cover cygwin argz bugs.
55527         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55528         argz bug fix; no code change needed since no cygwin releases
55529         occurred between the last fix and the bug being tested.
55530         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55531         module and recently fixed cygwin bugs.
55532         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55533         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55534         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55535         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55536         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55537         Likewise.
55538         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55539         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55540         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55541         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55542         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55543         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55544         Likewise.
55545
55546         Avoid gcc warning on cygwin.
55547         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55548         !ACL_NO_TRIVIAL]: Avoid unused variable.
55549
55550 2008-06-05  Eric Blake  <ebb9@byu.net>
55551
55552         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55553         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55554         git-version-gen fails to come up with a version.
55555         Reported by Simon Josefsson.
55556
55557 2008-06-05  Jim Meyering  <meyering@redhat.com>
55558             Paul Eggert  <eggert@cs.ucla.edu>
55559
55560         utimens.c: work around a probable Linux kernel bug
55561         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55562         appears to be a kernel bug that causes utimensat to return 280
55563         instead of 0, indicating success.
55564
55565 2008-06-04  Bruno Haible  <bruno@clisp.org>
55566
55567         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
55568         2008-06-01 commit.
55569
55570 2008-06-04  Bruno Haible  <bruno@clisp.org>
55571
55572         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
55573         * lib/file-has-acl.c (acl_access_nontrivial): New function.
55574         (file_has_acl): Use it. Save errno afterwards.
55575         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
55576
55577 2008-06-03  Bruno Haible  <bruno@clisp.org>
55578
55579         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
55580         draft code. Simplify #ifs.
55581         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
55582         Put Solaris code after POSIX-draft code. Fix comments regarding
55583         Solaris 10, HP-UX. Mention Cygwin.
55584         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
55585
55586 2008-06-03  Eric Blake  <ebb9@byu.net>
55587
55588         Provide fallback for older kernels.
55589         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
55590         Provide runtime fallback if kernel lacks support.
55591         Reported by Mike Frysinger.
55592
55593 2008-06-02  Bruno Haible  <bruno@clisp.org>
55594
55595         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
55596         it exists.
55597
55598 2008-06-02  Bruno Haible  <bruno@clisp.org>
55599
55600         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
55601         * lib/copy-acl.c (qcopy_acl): Update comment.
55602
55603 2008-06-02  Bruno Haible  <bruno@clisp.org>
55604
55605         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
55606         like ACL APIs.
55607
55608 2008-06-02  Bruno Haible  <bruno@clisp.org>
55609
55610         * tests/test-file-has-acl.sh: Use different code for Cygwin.
55611         * tests/test-set-mode-acl.sh: Likewise.
55612         * tests/test-copy-acl.sh: Likewise.
55613         * tests/test-copy-file.sh: Likewise.
55614
55615 2008-06-02  Bruno Haible  <bruno@clisp.org>
55616
55617         * tests/test-file-has-acl.sh: Remove unused code.
55618
55619 2008-06-01  Bruno Haible  <bruno@clisp.org>
55620
55621         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
55622         (copy_acl): Just a wrapper around qcopy_acl that emits the error
55623         messages.
55624         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
55625
55626 2008-06-01  Bruno Haible  <bruno@clisp.org>
55627
55628         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
55629         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
55630         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
55631         APIs.
55632         * modules/acl-tests (configure.ac): Remove tests now contained in
55633         m4/acl.m4.
55634
55635 2008-06-02  Jim Meyering  <meyering@redhat.com>
55636
55637         announce-gen: use a better key-server host name
55638         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
55639         it may be more consistently reliable.  Suggested by Werner Koch
55640         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
55641
55642 2008-06-01  Bruno Haible  <bruno@clisp.org>
55643
55644         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
55645         Reported by Voroskoi Andras <voroskoi@gmail.com>.
55646
55647 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
55648
55649         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
55650
55651 2008-06-01  Bruno Haible  <bruno@clisp.org>
55652
55653         New ACL tests.
55654         * tests/test-file-has-acl.sh: New file.
55655         * tests/test-file-has-acl.c: New file.
55656         * tests/test-set-mode-acl.sh: New file.
55657         * tests/test-set-mode-acl.c: New file.
55658         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
55659         * tests/test-copy-acl.c: New file.
55660         * modules/acl-tests: New file, based on modules/copy-file-tests.
55661         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
55662         (Depends-on): Add acl-tests.
55663         (configure.ac): Remove checks.
55664         (Makefile.am): Don't create test-sameacls program here any more.
55665
55666 2008-06-01  Bruno Haible  <bruno@clisp.org>
55667
55668         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
55669         * tests/test-sameacls.c: Include progname.h.
55670         (main): Invoke set_program_name. Portability fixes for MacOS X,
55671         Solaris, HP-UX.
55672
55673 2008-06-01  Bruno Haible  <bruno@clisp.org>
55674
55675         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
55676         function.
55677         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
55678
55679 2008-06-01  Bruno Haible  <bruno@clisp.org>
55680
55681         * modules/rpmatch (Depends-on): Add strdup.
55682
55683 2008-06-01  Bruno Haible  <bruno@clisp.org>
55684
55685         * lib/pipe.c: Include unistd-safer.h.
55686         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
55687         * modules/pipe (Depends-on): Add unistd-safer.
55688
55689 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55690
55691         * modules/autobuild (configure.ac): Call AB_INIT.
55692
55693 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55694
55695         * tests/test-getaddrinfo.c: Don't print debug messages by default.
55696         Suggested by Bruno Haible <bruno@clisp.org>.
55697
55698 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55699
55700         * tests/test-base64.c: Cast size_t to unsigned long when invoking
55701         printf.  Use %lu instead of %d.  Reported by Bruno Haible
55702         <bruno@clisp.org>.
55703
55704 2008-05-29  Eric Blake  <ebb9@byu.net>
55705
55706         Prefer new POSIX 200x interfaces over futimesat.
55707         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
55708         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
55709         when available.
55710         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
55711
55712 2008-05-28  Bruno Haible  <bruno@clisp.org>
55713
55714         * modules/stpcpy (License): Change to LGPLv2+.
55715         Requested by David Lutterkort <dlutter@redhat.com>.
55716
55717 2008-05-27  Bruno Haible  <bruno@clisp.org>
55718
55719         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
55720         current mingw.
55721         Reported by Jose E. Marchesi <jemarch@gnu.org>.
55722
55723 2008-05-27  Bruno Haible  <bruno@clisp.org>
55724
55725         * modules/iconv_open (Link): New section, from module 'iconv'.
55726         * modules/striconv (Link): Likewise.
55727         * modules/striconveh (Link): Likewise.
55728         * modules/xstriconv (Link): Likewise.
55729         * modules/unicodeio (Link): Likewise.
55730         * modules/propername (Link): Likewise.
55731         Reported by Jim Meyering.
55732
55733 2008-05-26  Jim Meyering  <meyering@redhat.com>
55734
55735         sha256: do not artificially restrict buffer length to be < 2^32
55736         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
55737         uint32_t to size_t.
55738         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
55739         to match.
55740
55741         avoid unaligned access errors, e.g., on sparc
55742         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
55743         direct access through a possibly-unaligned uint64* pointer.
55744         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
55745         direct access through a possibly-unaligned uint32* pointer.
55746         Prompted by this patch from Tom "spot" Callaway:
55747         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
55748
55749         sha512.c: fix typo in comment
55750         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
55751
55752 2008-05-25  Bruno Haible  <bruno@clisp.org>
55753
55754         * lib/set-mode-acl.c: Renamed from lib/acl.c.
55755         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
55756         (Makefile.am): Update lib_SOURCES.
55757
55758 2008-05-25  Bruno Haible  <bruno@clisp.org>
55759
55760         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
55761
55762 2008-05-25  Jim Meyering  <meyering@redhat.com>
55763
55764         useless-if-before-free: freed expr may have white-space differences
55765         * build-aux/useless-if-before-free: Recognize cases in which the
55766         freed expression differs from the tested one in embedded white
55767         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55768         $1 was used, so we can't make any regexp shy.  Improved tests now
55769         detect this.
55770
55771         useless-if-before-free: accept white space in the expression.
55772         * build-aux/useless-if-before-free: For now, any white space
55773         in the expression must be identical in the free argument.
55774
55775         useless-if-before-free: efficiency tweak
55776         * build-aux/useless-if-before-free: Make the expression-matching
55777         regexp "shy".
55778         Make the *outer* regexp shy, not the expr-matching one.
55779
55780         update code-in-comment to accept cast of free arg
55781         * build-aux/useless-if-before-free: Update regexp.
55782
55783 2008-05-25  Bruno Haible  <bruno@clisp.org>
55784
55785         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55786         * modules/copy-file-tests (Files, Makefile.am): Update.
55787         * tests/test-copy-file.c (func_test_copy): Update.
55788
55789 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55790
55791         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55792
55793 2008-05-23  Bruno Haible  <bruno@clisp.org>
55794
55795         Improve support for ACLs on OSF/1.
55796         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55797         Remove fallback for unknown flavors of ACLs.
55798
55799 2008-05-22  Bruno Haible  <bruno@clisp.org>
55800
55801         Add support for ACLs on OSF/1.
55802         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55803         replacements.
55804         (acl_free_text): New macro fallback.
55805         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55806         acl_free.
55807         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55808         acl_free_text function. Require AC_C_INLINE.
55809
55810 2008-05-22  Bruno Haible  <bruno@clisp.org>
55811
55812         Make copy_acl work on MacOS X 10.5.
55813         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55814         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55815         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55816         If MODE_INSIDE_ACL, don't assume that every system has the same text
55817         representation for ACLs as FreeBSD.
55818         * lib/copy-acl.c (copy_acl): Add support for platforms with
55819         !MODE_INSIDE_ACL.
55820         * lib/file-has-acl.c (file_has_acl): Likewise.
55821         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55822         FreeBSD, MacOS X, or IRIX, respectively.
55823
55824 2008-05-22  Bruno Haible  <bruno@clisp.org>
55825
55826         * lib/acl.h: Don't include <sys/acl.h>.
55827         (GETACLCNT): Move fallback to lib/acl-internal.h.
55828         * lib/acl-internal.h: Include <sys/acl.h> here.
55829         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55830
55831 2008-05-22  Bruno Haible  <bruno@clisp.org>
55832
55833         Split off copy_acl function to separate file.
55834         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55835         * lib/acl.c (copy_acl): Moved function to separate file.
55836         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55837         * modules/acl (Files): Add lib/copy-acl.c.
55838         (Makefiles.am): Augment lib_SOURCES.
55839
55840 2008-05-22  Bruno Haible  <bruno@clisp.org>
55841
55842         * modules/copy-file-tests: New file.
55843         * tests/test-copy-file.sh: New file.
55844         * tests/test-copy-file.c: New file.
55845         * tests/test-copy-file-sameacls.c: New file.
55846
55847 2008-05-22  Eric Blake  <ebb9@byu.net>
55848
55849         Avoid gcc warning.
55850         * tests/test-memcmp.c (main): Pass NULL indirectly.
55851
55852 2008-05-21  Bruno Haible  <bruno@clisp.org>
55853
55854         Add reference doc about ACLs.
55855         * doc/acl-resources.txt: New file.
55856         * doc/acl-cygwin.txt: New file.
55857
55858 2008-05-21  Bruno Haible  <bruno@clisp.org>
55859
55860         Avoid one more warning from gcc.
55861         * lib/vasnprintf.c (IF_LINT): Update comments.
55862         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55863
55864 2008-05-21  Jim Meyering  <meyering@redhat.com>
55865
55866         avoid a warning from gcc
55867         * lib/vasnprintf.c (IF_LINT): Define.
55868         (scale10_round_decimal_long_double):
55869         Use it to avoid a "may be used uninitialized" warning.
55870         (scale10_round_decimal_double): Likewise.
55871
55872 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55873
55874         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55875         declared.
55876
55877 2008-05-20  Bruno Haible  <bruno@clisp.org>
55878
55879         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55880         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55881
55882 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55883
55884         * modules/memcmp-tests: New file.
55885         * tests/test-memcmp.c: New file.
55886
55887 2008-05-19  Bruno Haible  <bruno@clisp.org>
55888
55889         * modules/propername (Notice, configure.ac): Put quoted "..." into
55890         --keyword option.
55891         * lib/propername.h: Update comments accordingly.
55892         Reported by Eric Blake.
55893
55894 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55895
55896         * modules/getpass-gnu (Depends-on): Add fseeko.
55897
55898 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55899
55900         * modules/base64-tests: New file.
55901
55902 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55903
55904         * lib/base64.c (base64_decode_ctx): If a decode context structure
55905         was passed in use it to ignore newlines.  If a context structure
55906         was _not_ passed in, continue to treat newlines as garbage (this
55907         is the historical behavior).  Formerly base64_decode.
55908         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55909         takes a decode context structure.
55910         * lib/base64.h (base64_decode): Macro for four-argument calls.
55911         (base64_decode_alloc): Likewise.
55912         * lib/base64.c (base64_decode_ctx): If a decode context structure
55913         was passed in use it to ignore newlines.  If a context structure
55914         was _not_ passed in, continue to treat newlines as garbage (this
55915         is the historical behavior).  Formerly base64_decode.
55916         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55917         takes a decode context structure.
55918         * lib/base64.h (base64_decode): Macro for four-argument calls.
55919         (base64_decode_alloc): Likewise.
55920
55921 2008-05-19  Jim Meyering  <meyering@redhat.com>
55922
55923         avoid a warning from gcc
55924         * lib/trim.c (IF_LINT): Define.
55925         (trim2): Use it to avoid a "may be used uninitialized" warning.
55926
55927         Fix doc typo.
55928         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55929
55930 2008-05-19  Bruno Haible  <bruno@clisp.org>
55931
55932         * doc/glibc-functions/getpass.texi: Document limits of other
55933         implementations.
55934
55935 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55936             Bruno Haible <bruno@clisp.org>
55937
55938         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55939
55940 2008-05-18  Bruno Haible  <bruno@clisp.org>
55941
55942         * modules/propername: New file, from GNU gettext.
55943         * lib/propername.h: New file, from GNU gettext.
55944         * lib/propername.c: New file, from GNU gettext.
55945         * MODULES.html.sh (Internationalization functions): Add propername.
55946
55947 2008-05-16  Jim Meyering  <meyering@redhat.com>
55948             Bruno Haible  <bruno@clisp.org>
55949
55950         Avoid some warnings from "gcc -Wshadow".
55951         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55952
55953 2008-05-15  Eric Blake  <ebb9@byu.net>
55954
55955         Extend previous patch to cygwin 1.7.0.
55956         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55957         fast implementation in cygwin >= 1.7.0.
55958         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55960
55961 2008-05-15  Bruno Haible  <bruno@clisp.org>
55962
55963         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55964         implementation in glibc >= 2.9.
55965         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55966         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55967
55968 2008-05-15  Bruno Haible  <bruno@clisp.org>
55969
55970         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55971         (Unicode string functions): Add unilbrk/*.
55972         Reported by Karl Berry.
55973
55974 2008-05-15  Eric Blake  <ebb9@byu.net>
55975
55976         Fix violation of <stdbool.h> replacement in regex.
55977         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55978         * lib/regexec.c (re_search_internal): Likewise.
55979         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55980
55981 2008-05-15  Jim Meyering  <meyering@redhat.com>
55982
55983         avoid distracting test output when git or cvs is not found
55984         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55985         * tests/test-vc-list-files-git.sh: Likewise.
55986
55987 2008-05-15  Eric Blake  <ebb9@byu.net>
55988
55989         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55990         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55991         glibc version.
55992         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55993         * doc/posix-functions/strstr.texi (strstr): Likewise.
55994         * lib/str-two-way.h (MAX): Sychronize with glibc.
55995
55996 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55997
55998         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55999         opr.ctx_type.
56000         (calc_first): Initialize constraint field.
56001         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56002         Fix grammar.
56003         (duplicate_node): Merge constraint field for all node types.
56004         (calc_eclosure_iter): Look at constraint field for all node types.
56005         * lib/regex_internal.c (create_cd_newstate): Don't look at
56006         opr.ctx_type.
56007
56008 2008-05-14  Bruno Haible  <bruno@clisp.org>
56009
56010         Help GCC to do better code generation.
56011         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56012         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56013         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56014         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56015         Declare with attribute 'malloc' if supported.
56016
56017 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56018
56019         use "echo STR|wc -c" rather than unportable "expr length STR"
56020         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56021         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56022
56023 2008-05-14  Jim Meyering  <meyering@redhat.com>
56024
56025         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56026         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56027         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56028         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56029         via Collin Lasse.
56030
56031 2008-05-14  Eric Blake  <ebb9@byu.net>
56032
56033         Avoid quadratic growth in gl_LIBSOURCES.
56034         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56035         Suggested by Bruno Haible.
56036
56037         Test xmemdup0.
56038         * modules/xmemdup0-tests: New file.
56039         * tests/test-xmemdup0.c: Likewise.
56040
56041 2008-05-13  Eric Blake  <ebb9@byu.net>
56042
56043         Split xmemdup0 into its own module.
56044         * modules/xmemdup0: New file.
56045         * lib/xmemdup0.h: Likewise.
56046         * lib/xmemdup0.c: Likewise.
56047         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56048         * lib/xalloc.h (xmemdup0): Remove.
56049         * lib/xmalloc.c (xmemdup0): Likewise.
56050
56051 2008-05-13  Eric Blake  <ebb9@byu.net>
56052             Bruno Haible  <bruno@clisp.org>
56053
56054         Reduce number of forks required during autoconf.
56055         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56056         and gl_LIBSOURCES_DIR.
56057         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56058         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56059         m4_syscmd per file.
56060         <m4_foreach_w>: Move...
56061         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56062
56063 2008-05-13  Eric Blake  <ebb9@byu.net>
56064
56065         * gnulib-tool: Fix various comment typos.
56066
56067 2008-05-12  Bruno Haible  <bruno@clisp.org>
56068
56069         Tailor the linebreaking algorithm.
56070         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56071
56072 2008-05-12  Bruno Haible  <bruno@clisp.org>
56073
56074         Update to Unicode 5.0.0.
56075         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56076         LBP_JV, LBP_JT. Redistribute values.
56077         (unilbrk_table): Change size.
56078         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56079         Unicode TR#14 rev. 22.
56080         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56081         LBP_JV, LBP_JT. Redistribute values.
56082         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56083         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56084         Update.
56085         * lib/unilbrk/lbrkprop1.h: Regenerated.
56086         * lib/unilbrk/lbrkprop2.h: Regenerated.
56087         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56088         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56089         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56090         Likewise.
56091         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56092         Likewise.
56093         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56094         result.
56095         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56096         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56097         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56098         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56099         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56100         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56101
56102 2008-05-11  Bruno Haible  <bruno@clisp.org>
56103
56104         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56105
56106 2008-05-11  Bruno Haible  <bruno@clisp.org>
56107
56108         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56109         * modules/unilbrk/gen-lbrk: New file.
56110
56111 2008-05-11  Bruno Haible  <bruno@clisp.org>
56112
56113         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56114         * m4/sha512.m4 (gl_SHA512): Likewise.
56115
56116 2008-05-11  Jim Meyering  <meyering@redhat.com>
56117
56118         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56119         * modules/crypto/sha256: New file.
56120         * modules/crypto/sha512: Likewise.
56121         * lib/sha256.c: Likewise.
56122         * lib/sha256.h: Likewise.
56123         * lib/sha512.c: Likewise.
56124         * lib/sha512.h: Likewise.
56125         * lib/u64.h: Likewise.
56126         * m4/sha256.m4: Likewise.
56127         * m4/sha512.m4: Likewise.
56128         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56129
56130 2008-05-10  Bruno Haible  <bruno@clisp.org>
56131
56132         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56133         (Input/Output <stdio.h>): Add xprintf.
56134         (Signal handling <signal.h>): Add strsignal.
56135         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56136         (Core language properties): Add func.
56137         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56138         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56139         strings.
56140         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56141         (Input/output): New section.
56142         (File system functions): Add openat-die, stat-macros.
56143         (Networking functions): Add sockets.
56144         (Unicode string functions): Add unictype/*.
56145         (Support for building libraries and executables): Add gperf.
56146         (Support for building documentation): Add agpl-3.0.
56147         (Misc): Add nocrash.
56148
56149 2008-05-10  Bruno Haible  <bruno@clisp.org>
56150
56151         * modules/unictype/gen-ctype: New file.
56152
56153 2008-05-10  Jim Meyering  <meyering@redhat.com>
56154
56155         Make chdir-safer.c more efficient on a system with no symlinks.
56156         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56157         also if ELOOP is zero.  Suggested by Bruno Haible.
56158
56159         Make chdir-safer.c slightly safer.
56160         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56161         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56162
56163         Avoid compile failure on systems without ELOOP (like mingw).
56164         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56165         Reported by Bruno Haible.
56166
56167 2008-05-10  Bruno Haible  <bruno@clisp.org>
56168
56169         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56170         (is_utf8_encoding): Use a case-insensitive comparison.
56171         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56172         streq.
56173
56174 2008-05-10  Bruno Haible  <bruno@clisp.org>
56175
56176         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56177         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56178         * lib/unilbrk/ulc-common.h (iconv_string_length,
56179         iconv_string_keeping_offsets): Remove declarations.
56180         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56181         Don't include <iconv.h>, streq.h, xsize.h.
56182         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56183         conversion.
56184         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56185         <iconv.h>, streq.h, xsize.h.
56186         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56187         conversion.
56188         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56189         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56190         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56191         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56192
56193 2008-05-10  Bruno Haible  <bruno@clisp.org>
56194
56195         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56196         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56197
56198         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56199         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56200
56201         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56202         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56203
56204         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56205         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56206
56207         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56208         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56209
56210         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56211         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56212
56213         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56214         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56215
56216         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56217         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56218
56219 2008-05-10  Bruno Haible  <bruno@clisp.org>
56220
56221         Split up 'linebreak' module.
56222         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56223         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56224         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56225         modifications.
56226         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56227         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56228         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56229         lib/linebreak.c.
56230         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56231         lib/linebreak.c.
56232         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
56233         lib/linebreak.c.
56234         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
56235         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
56236         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
56237         lib/linebreak.c.
56238         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
56239         lib/linebreak.c.
56240         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
56241         lib/linebreak.c.
56242         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
56243         lib/linebreak.c.
56244         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
56245         lib/linebreak.c.
56246         * modules/unilbrk/base: New file.
56247         * modules/unilbrk/tables: New file.
56248         * modules/unilbrk/u8-possible-linebreaks: New file.
56249         * modules/unilbrk/u16-possible-linebreaks: New file.
56250         * modules/unilbrk/u32-possible-linebreaks: New file.
56251         * modules/unilbrk/ulc-common: New file.
56252         * modules/unilbrk/ulc-possible-linebreaks: New file.
56253         * modules/unilbrk/u8-width-linebreaks: New file.
56254         * modules/unilbrk/u16-width-linebreaks: New file.
56255         * modules/unilbrk/u32-width-linebreaks: New file.
56256         * modules/unilbrk/ulc-width-linebreaks: New file.
56257         * lib/linebreak.h: Remove file.
56258         * lib/linebreak.c: Remove file.
56259         * m4/linebreak.m4: Remove file.
56260         * modules/linebreak: Remove file.
56261         * NEWS: Mention the changes.
56262
56263 2008-05-09  Eric Blake  <ebb9@byu.net>
56264
56265         Add xmemdup0.
56266         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56267         implementation.
56268         * lib/xmalloc.c (xmemdup0): New C implementation.
56269
56270 2008-05-08  Bruno Haible  <bruno@clisp.org>
56271
56272         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56273
56274 2008-05-07  Eric Blake  <ebb9@byu.net>
56275
56276         Support cross-compilation of <wctype.h>.
56277         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56278         AC_CACHE_CHECK.
56279
56280 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56281
56282         * build-aux/vc-list-files: Add support for bzr.
56283
56284 2008-05-03  Jim Meyering  <meyering@redhat.com>
56285
56286         avoid failed assertion with tight malloc
56287         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56288
56289 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56290
56291         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56292         are needed from arpa/inet.h.
56293         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56294         Reported by Bruno Haible.
56295
56296 2008-05-02  Jim Meyering  <meyering@redhat.com>
56297
56298         avoid compilation error on FreeBSD 6
56299         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56300
56301 2008-05-01  Jim Meyering  <meyering@redhat.com>
56302
56303         useless-if-before-free: correct --help's exit status description
56304         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56305         for one or more matches, etc.  Reported by Bruno Haible.
56306
56307         vc-list-files: make the stand-alone gnulib test work
56308         * modules/vc-list-files-tests (configure.ac):
56309         Define and AC_SUBST abs_aux_dir.
56310         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56311         $(abs_top_srcdir) to each script and having each of them
56312         duplicate the work of setting PATH, set PATH here, using
56313         the new variable, abs_aux_dir instead.
56314         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56315         * tests/test-vc-list-files-git.sh: Likewise.
56316         Reported by Bruno Haible.
56317
56318 2008-05-01  Bruno Haible  <bruno@clisp.org>
56319
56320         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56321         reallocation. Rename 'done' to 'found_delimiter'.
56322
56323 2008-05-01  Jim Meyering  <meyering@redhat.com>
56324
56325         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56326         * build-aux/vc-list-files: Use `...`, not $(...).
56327
56328 2008-04-30  Jim Meyering  <meyering@redhat.com>
56329
56330         add tests for vc-list-files
56331         * modules/vc-list-files-tests: New module.
56332         * tests/test-vc-list-files-cvs.sh: New file.
56333         * tests/test-vc-list-files-git.sh: New file.
56334
56335         avoid a warning from gcc
56336         * lib/getndelim2.c (IF_LINT): Define.
56337         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56338
56339         vc-list-files: work properly with build-aux/cvsu, too
56340         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56341         to all cvs-based clauses.
56342
56343         vc-list-files: work properly in the CVS+awk case, too
56344         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56345
56346         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56347         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56348         take more than one file argument, so .  Add quotes, just in case $dir
56349         ever contains a shell meta-character.  Prompted by Soren Hansen in
56350         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56351
56352 2008-04-29  Eric Blake  <ebb9@byu.net>
56353
56354         Optimize getndelim2 to use block operations when possible.
56355         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56356         freadseek, and memchr2.
56357         * lib/getndelim2.c (getndelim2): Use them for block reads.
56358
56359 2008-04-29  Bruno Haible  <bruno@clisp.org>
56360
56361         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56362         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56363         * modules/inet_ntop (Depends-on): Add extensions.
56364         * modules/inet_pton (Depends-on): Likewise.
56365         Reported by Simon Josefsson.
56366
56367 2008-04-29  Jim Meyering  <meyering@redhat.com>
56368
56369         When the is more than one match in a block, match all of them.
56370         * build-aux/useless-if-before-free: Iterate through each block
56371         until there are no more matches.
56372
56373         Fix broken useless-if-before-free script.
56374         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56375         the expression to match cast of argument to free-like function.
56376
56377 2008-04-29  Eric Blake  <ebb9@byu.net>
56378
56379         Use new header.
56380         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56381
56382 2008-04-29  Jim Meyering  <meyering@redhat.com>
56383
56384         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56385         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56386         by gnulib to exist and to declare e.g., inet_ntop.
56387         Don't include "inet_ntop.h", now removed.
56388
56389         * m4/arpa_inet_h.m4: Remove trailing blanks.
56390
56391 2008-04-29  Eric Blake  <ebb9@byu.net>
56392
56393         Silence valgrind on safe reads beyond potential array bounds.
56394         * lib/rawmemchr.valgrind: New file.
56395         * lib/strchrnul.valgrind: Likewise.
56396         * modules/rawmemchr (Files): Distribute new file.
56397         * modules/strchrnul (Files): Likewise.
56398         Suggested by Bruno Haible.
56399
56400 2008-04-29  Bruno Haible  <bruno@clisp.org>
56401
56402         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56403         (inet_ntop, inet_pton): Change portability warning's wording.
56404         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56405         Invoke gl_CHECK_NEXT_HEADERS.
56406         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56407         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56408         set ARPA_INET_H.
56409         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56410         * modules/arpa_inet (Description): No longer only for systems that
56411         lack it.
56412         (Depends-on): Add include_next.
56413         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56414         HAVE_ARPA_INET_H.
56415
56416 2008-04-29  Jim Meyering  <meyering@redhat.com>
56417
56418         * modules/mkdir (License): Re-license as LGPLv2+.
56419
56420 2008-04-29  Bruno Haible  <bruno@clisp.org>
56421
56422         * modules/rawmemchr (Maintainer): Set to Eric.
56423         * modules/strchrnul (Maintainer): Likewise.
56424
56425 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56426
56427         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56428         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56429
56430         * modules/arpa_inet (arpa/inet.h): Use them.
56431
56432 2008-04-28  Eric Blake  <ebb9@byu.net>
56433
56434         Test getndelim2.
56435         * modules/getndelim2-tests: New file.
56436         * tests/test-getndelim2.c: Likewise.
56437         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56438         stream.
56439         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56440
56441         * MODULES.html.sh: Document new module.
56442
56443 2008-04-20  Bruno Haible  <bruno@clisp.org>
56444
56445         * lib/c-stack.c (die): Use raise.
56446         * modules/c-stack (Depends-on): Add raise.
56447
56448 2008-04-28  Bruno Haible  <bruno@clisp.org>
56449
56450         Expect rpmatch to be declared.
56451         * lib/yesno.c (rpmatch): Remove declaration.
56452
56453         Declare rpmatch.
56454         * lib/stdlib.in.h (rpmatch): New declaration.
56455         * lib/rpmatch.c: Include <stdlib.h> first.
56456         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56457         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56458         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56459         HAVE_RPMATCH.
56460         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56461         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56462         (Include): Set to <stdlib.h>.
56463         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56464         HAVE_RPMATCH.
56465         * NEWS: Document the change.
56466
56467 2008-04-28  Bruno Haible  <bruno@clisp.org>
56468
56469         Change rpmatch to use nl_langinfo when appropriate.
56470         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56471         (N_): New macro.
56472         (localized_pattern): New function/macro.
56473         (try): Remove match, nomatch arguments. Copy the pattern into safe
56474         memory before caching it.
56475         (rpmatch): Use localized_pattern. Add translator comments.
56476         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56477         Suggested by Eric Blake.
56478         * modules/rpmatch (Depends-on): Add stdbool.
56479
56480 2008-04-28  Eric Blake  <ebb9@byu.net>
56481
56482         Add rawmemchr module, matching glibc.
56483         * modules/string (Makefile.am): New indicator.
56484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56485         * lib/string.in.h (rawmemchr): Declare when appropriate.
56486         * modules/rawmemchr: New file.
56487         * m4/rawmemchr.m4: Likewise.
56488         * lib/rawmemchr.c: Likewise.
56489         * modules/rawmemchr-tests: Likewise.
56490         * tests/test-rawmemchr.c: Likewise.
56491         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56492         module.
56493         * modules/strchrnul (Depends-on): Add rawmemchr.
56494         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56495
56496         Whitespace cleanup.
56497         * tests/test-strchrnul.c: Reindent.
56498         * lib/strchrnul.c: Likewise.
56499
56500         Optimize and test strchrnul.
56501         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56502         * modules/strchrnul-tests: New file.
56503         * tests/test-strchrnul.c: Likewise.
56504
56505         Remove intprops dependency.
56506         * modules/memchr (Depends-on): Remove intprops.
56507         * modules/memrchr (Depends-on): Likewise.
56508         * modules/memchr2 (Depends-on): Likewise.
56509         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56510         * lib/memrchr.c (__memrchr): Likewise.
56511         * lib/memrchr2.c (memchr2): Likewise.
56512         Reported by Simon Josefsson.
56513
56514 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56515
56516         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56517         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56518
56519 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56520
56521         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56522
56523         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56524
56525         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56526
56527         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56528         declarations.
56529         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56530
56531         * m4/inet_pton.m4: Don't check for header files.
56532
56533         * m4/inet_ntop.m4: Don't check for header files.
56534
56535 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56536
56537         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56538         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56539         trigger for cygwin).
56540         Reported by Bruno Haible  <bruno@clisp.org>.
56541
56542 2008-04-28  Bruno Haible  <bruno@clisp.org>
56543
56544         * doc/posix-functions/strdup.texi: Mention mingw problem.
56545
56546 2008-04-27  Bruno Haible  <bruno@clisp.org>
56547
56548         * modules/stat-time-tests (Depends-on): Add sleep.
56549         * tests/test-stat-time.c (force_unlink): New function.
56550         (cleanup): Use it.
56551         (test_mtime): Remove the ctime related tests.
56552         (test_ctime): New function, containing the ctime related tests.
56553         (main): Call test_ctime, except on native Windows platforms.
56554
56555 2008-04-27  Bruno Haible  <bruno@clisp.org>
56556
56557         * lib/rpmatch.c (rpmatch): Add some comments.
56558         Reported by James Youngman <jay@gnu.org>.
56559
56560 2008-04-27  Bruno Haible  <bruno@clisp.org>
56561
56562         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56563         quiet NaNs.
56564
56565 2008-04-27  Bruno Haible  <bruno@clisp.org>
56566
56567         Make test-yesno.sh work on mingw.
56568         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
56569         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
56570         (main): Set stdin to binary mode.
56571         * modules/yesno-tests (Depends-on): Add binary-io.
56572
56573 2008-04-27  Bruno Haible  <bruno@clisp.org>
56574
56575         Fix 'isfinite' on x86, x86_64, ia64 platforms.
56576         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
56577         argument that lie outside the IEEE 854 domain.
56578         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
56579         (gl_ISFINITE): Use it.
56580         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
56581
56582 2008-04-27  Bruno Haible  <bruno@clisp.org>
56583
56584         Allow local renaming in config.h.
56585         * lib/memrchr.c (memrchr): Don't undefine outside libc.
56586
56587 2008-04-27  Bruno Haible  <bruno@clisp.org>
56588
56589         * lib/memchr.c (__memchr): Change type of 'i'.
56590         * lib/memchr2.c (memchr2): Likewise.
56591
56592 2008-04-26  Eric Blake  <ebb9@byu.net>
56593         and Bruno Haible  <bruno@clisp.org>
56594
56595         Optimize and test memrchr.
56596         * modules/memrchr (Depends-on): Add intprops.
56597         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
56598         * modules/memrchr-tests: New file.
56599         * tests/test-memrchr.c: New file.
56600
56601 2008-04-26  Bruno Haible  <bruno@clisp.org>
56602
56603         Add tentative support for DragonFly BSD.
56604         * lib/stdio-impl.h: Add macros for DragonFly BSD.
56605         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
56606         fp.
56607         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56608         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
56609         * lib/fpurge.c (fpurge): Likewise.
56610         * lib/freadable.c (freaadable): Likewise.
56611         * lib/freadahead.c (freadahead): Likewise.
56612         * lib/freading.c (freading): Likewise.
56613         * lib/freadptr.c (freadptr): Likewise.
56614         * lib/freadseek.c (freadptrinc): Likewise.
56615         * lib/fseeko.c (fseeko): Likewise.
56616         * lib/fseterr.c (fseterr): Likewise.
56617         * lib/fwritable.c (fwritable): Likewise.
56618         * lib/fwriting.c (fwriting): Likewise.
56619
56620 2008-04-26  Bruno Haible  <bruno@clisp.org>
56621
56622         * lib/stdio-impl.h: New file.
56623         * lib/fbufmode.c: Include stdio-impl.h.
56624         (fbufmode): Use fp_, remove redundant #defines.
56625         * lib/fflush.c: Include stdio-impl.h.
56626         (clear_ungetc_buffer): Remove redundant #defines.
56627         * lib/fpurge.c: Include stdio-impl.h.
56628         (fpurge): Remove redundant #defines.
56629         * lib/freadable.c: Include stdio-impl.h.
56630         (freadable): Remove redundant #defines.
56631         * lib/freadahead.c: Include stdio-impl.h.
56632         (freadahead): Remove redundant #defines.
56633         * lib/freading.c: Include stdio-impl.h.
56634         (freading): Remove redundant #defines.
56635         * lib/freadptr.c: Include stdio-impl.h.
56636         (freadptr): Remove redundant #defines.
56637         * lib/freadseek.c: Include stdio-impl.h.
56638         (freadptrinc): Remove redundant #defines.
56639         * lib/fseeko.c: Include stdio-impl.h.
56640         (rpl_fseeko): Remove redundant #defines.
56641         * lib/fseterr.c: Include stdio-impl.h.
56642         (fseterr): Remove redundant #defines.
56643         * lib/fwritable.c: Include stdio-impl.h.
56644         (fwritable: Remove redundant #defines.
56645         * lib/fwriting.c: Include stdio-impl.h.
56646         (fwriting): Remove redundant #defines.
56647         * modules/fbufmode (Files): Add lib/stdio-impl.h.
56648         * modules/fflush (Files): Likewise.
56649         * modules/fpurge (Files): Likewise.
56650         * modules/freadable (Files): Likewise.
56651         * modules/freadahead (Files): Likewise.
56652         * modules/freading (Files): Likewise.
56653         * modules/freadptr (Files): Likewise.
56654         * modules/freadseek (Files): Likewise.
56655         * modules/fseeko (Files): Likewise.
56656         * modules/fseterr (Files): Likewise.
56657         * modules/fwritable (Files): Likewise.
56658         * modules/fwriting (Files): Likewise.
56659
56660 2008-04-26  Bruno Haible  <bruno@clisp.org>
56661
56662         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56663         restore_seek_optimization, update_fpos_cache): New functions, extracted
56664         from rpl_fflush.
56665         (rpl_fflush): Use them.
56666         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
56667         (gl_REPLACE_FFLUSH): Use it.
56668
56669 2008-04-26  Bruno Haible  <bruno@clisp.org>
56670
56671         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
56672         on Solaris.
56673         * tests/test-xstrtoimax.sh: Likewise.
56674         * tests/test-xstrtoumax.sh: Likewise.
56675         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56676
56677 2008-04-26  Bruno Haible  <bruno@clisp.org>
56678
56679         * modules/memchr-tests: New file.
56680         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
56681
56682 2008-04-26  Eric Blake  <ebb9@byu.net>
56683             Bruno Haible  <bruno@clisp.org>
56684
56685         * lib/memchr.c: Include intprops.h.
56686         (__memchr): Optimize parallel detection of matching bytes. Rename local
56687         variables. Add explanatory comments.
56688
56689 2008-04-26  Bruno Haible  <bruno@clisp.org>
56690
56691         Fix module 'memchr', broken since 2000-10-28.
56692         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
56693
56694 2008-04-26  Bruno Haible  <bruno@clisp.org>
56695
56696         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
56697         comments.
56698
56699 2008-04-25  Eric Blake  <ebb9@byu.net>
56700
56701         Use native fstatat on cygwin 1.7.0.
56702         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
56703         first.
56704
56705 2008-04-23  Eric Blake  <ebb9@byu.net>
56706
56707         Improve memchr2 performance.
56708         * lib/memchr2.c (memchr2): Further optimize parallel detection of
56709         NUL bytes.
56710         * modules/memchr2 (Depends-on): Use intprops.h.
56711
56712 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56713
56714         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
56715         an inline function instead of a CPP macro.  Patch by Ben Pfaff
56716         <blp@cs.stanford.edu>.
56717
56718 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56719
56720         * lib/arpa_inet.in.h: New file.
56721
56722         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
56723         (Makefile.am): Sed in substitute header file.
56724
56725         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
56726         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
56727
56728         * modules/inet_ntop (configure.ac): Use
56729         gl_ARPA_INET_MODULE_INDICATOR.
56730
56731         * modules/inet_pton (configure.ac): Use
56732         gl_ARPA_INET_MODULE_INDICATOR.
56733
56734 2008-04-22  Jim Meyering  <meyering@redhat.com>
56735
56736         * modules/verify (License): Re-license as LGPLv2+.
56737
56738 2008-04-22  Simon Josefsson  <simon@josefsson.org>
56739
56740         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
56741         parameter to void* as per POSIX standard (MinGW uses char*).
56742
56743 2008-04-21  Bruno Haible  <bruno@clisp.org>
56744
56745         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
56746         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
56747         Define to replacements if REPLACE_ISWCNTRL is 1.
56748         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
56749         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
56750         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
56751         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
56752         what it fixes.
56753         * doc/posix-functions/iswalpha.texi: Likewise.
56754         * doc/posix-functions/iswblank.texi: Likewise.
56755         * doc/posix-functions/iswcntrl.texi: Likewise.
56756         * doc/posix-functions/iswdigit.texi: Likewise.
56757         * doc/posix-functions/iswgraph.texi: Likewise.
56758         * doc/posix-functions/iswlower.texi: Likewise.
56759         * doc/posix-functions/iswprint.texi: Likewise.
56760         * doc/posix-functions/iswpunct.texi: Likewise.
56761         * doc/posix-functions/iswspace.texi: Likewise.
56762         * doc/posix-functions/iswupper.texi: Likewise.
56763         * doc/posix-functions/iswxdigit.texi: Likewise.
56764         Reported by Alain Guibert.
56765
56766 2008-04-21  Bruno Haible  <bruno@clisp.org>
56767
56768         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56769         Patch by Alain Guibert.
56770
56771 2008-04-21  Bruno Haible  <bruno@clisp.org>
56772
56773         Fix test failures on mingw.
56774         * tests/test-xstrtol.c (print_no_progname): New function.
56775         (main): Install it in error_print_progname hook.
56776         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56777         * tests/test-xstrtoimax.sh: Likewise.
56778         * tests/test-xstrtoumax.sh: Likewise.
56779
56780 2008-04-21  Bruno Haible  <bruno@clisp.org>
56781
56782         Fix test failure on mingw.
56783         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56784
56785 2008-04-21  Bruno Haible  <bruno@clisp.org>
56786
56787         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56788         Actually assign a value.
56789
56790 2008-04-20  Bruno Haible  <bruno@clisp.org>
56791
56792         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56793         take 2.
56794         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56795         'canonicalize-lgpl' module is also used.
56796         * lib/canonicalize-lgpl.c: Undo last change.
56797         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56798
56799 2008-04-20  Bruno Haible  <bruno@clisp.org>
56800
56801         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56802         config.h. Provide _mkdir based fallback for mingw.
56803         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56804         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56805         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56806         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56807         rather than defining mkdir in config.h.
56808         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56809         (gl_SYS_STAT_H_DEFAULTS): New macro.
56810         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56811         HAVE_IO_H any more.
56812         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56813         HAVE_DECL_MKDIR and HAVE_IO_H.
56814
56815 2008-04-20  Bruno Haible  <bruno@clisp.org>
56816
56817         * lib/isapipe.c: Port to native Windows platforms.
56818
56819 2008-04-20  Bruno Haible  <bruno@clisp.org>
56820
56821         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56822
56823 2008-04-21  Eric Blake  <ebb9@byu.net>
56824
56825         Work around preprocessors that don't handle UINTMAX_MAX.
56826         * lib/memchr2.c (memchr2): Avoid embedded #if.
56827         Reported by Alain Guibert, fix suggested by Bruno Haible.
56828
56829 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56830
56831         * doc/posix-functions/strftime.texi (strftime): Explain better
56832         Windows incompatibility.  Suggested by Micah Cowan
56833         <micah@cowan.name>.
56834
56835 2008-04-20  Bruno Haible  <bruno@clisp.org>
56836
56837         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56838         unistr/u8-mblen.
56839
56840 2008-04-20  Bruno Haible  <bruno@clisp.org>
56841
56842         Fix test failure on platforms with non-GNU iconv.
56843         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56844         (U_TO_U8): Use it, rather than u16_to_u8.
56845         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56846         units at the end of the input string.
56847         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56848
56849 2008-04-20  Bruno Haible  <bruno@clisp.org>
56850
56851         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56852         when the resulting length is 0.
56853         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56854
56855 2008-04-20  Bruno Haible  <bruno@clisp.org>
56856
56857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56858         works.
56859         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56860
56861 2008-04-20  Bruno Haible  <bruno@clisp.org>
56862
56863         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56864         * modules/tsearch-tests (configure.ac): Test for initstate function.
56865
56866 2008-04-20  Bruno Haible  <bruno@clisp.org>
56867
56868         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56869         for nlink_t if missing.
56870         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56871
56872 2008-04-19  Bruno Haible  <bruno@clisp.org>
56873
56874         Work around snprintf bug on Linux libc5.
56875         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56876         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56877         gl_SNPRINTF_SIZE1.
56878         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56879         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56880         that test failed.
56881         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56882         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56883         * modules/snprintf (Files): Add m4/printf.m4.
56884         * modules/vsnprintf (Files): Likewise.
56885         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56886         * doc/posix-functions/vsnprintf.texi: Likewise.
56887
56888 2008-04-19  Bruno Haible  <bruno@clisp.org>
56889
56890         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56891         from 0.0058 to less than 10^-7.
56892
56893 2008-04-19  Bruno Haible  <bruno@clisp.org>
56894
56895         Fix rounding when a precision is given.
56896         * lib/vasnprintf.c (is_borderline): New function.
56897         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56898         9...9x.
56899         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56900         %e, %g.
56901         * tests/test-vasprintf-posix.c (test_function): Likewise.
56902         * tests/test-snprintf-posix.h (test_function): Likewise.
56903         * tests/test-sprintf-posix.h (test_function): Likewise.
56904         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56905         * tests/test-printf-posix.h (test_function): Likewise.
56906         * tests/test-printf-posix.output: Update.
56907         Reported by John Darrington <john@darrington.wattle.id.au> via
56908         Ben Pfaff <blp@cs.stanford.edu>.
56909
56910 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56911
56912         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56913         Suggested by Bruno Haible <bruno@clisp.org>.
56914
56915 2008-04-17  Bruno Haible  <bruno@clisp.org>
56916
56917         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56918         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56919         implementation.
56920         Patch by Bruce Merry <bmerry@gmail.com>.
56921
56922 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56923
56924         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56925         doesn't work under Windows.
56926
56927 2008-04-16  Bruno Haible  <bruno@clisp.org>
56928
56929         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56930         New macros.
56931         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56932         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56933         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56934         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56935         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56936         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56937         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56938         macros.
56939         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56940         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56941         Northern Sotho, Uighur.
56942
56943 2008-04-16  Bruno Haible  <bruno@clisp.org>
56944
56945         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56946         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56947         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56948         Reported by Daniel Bergström <daniel@octocode.com>.
56949
56950 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56951             Bruno Haible  <bruno@clisp.org>
56952
56953         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56954         function.
56955         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56956         New functions, mostly extracted from gl_locale_name_default.
56957         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56958
56959 2008-04-16  Eric Blake  <ebb9@byu.net>
56960
56961         Adjust strtod detection to catch glibc 2.7 bug.
56962         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56963         Reported by John Gatewood Ham.
56964
56965 2008-04-16  Bruno Haible  <bruno@clisp.org>
56966
56967         Add tentative support for Linux libc5.
56968         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56969         * lib/fpurge.c (fpurge): Likewise.
56970         * lib/freadable.c (freadable): Likewise.
56971         * lib/freadahead.c (freadahead): Likewise.
56972         * lib/freading.c (freading): Likewise.
56973         * lib/freadptr.c (freadptr): Likewise.
56974         * lib/freadseek.c (freadptrinc): Likewise.
56975         * lib/fseeko.c (rpl_fseeko): Likewise.
56976         * lib/fseterr.c (fseterr): Likewise.
56977         * lib/fwritable.c (fwritable): Likewise.
56978         * lib/fwriting.c (fwriting): Likewise.
56979         Reported by Alain Guibert <alguibert+bts@free.fr>.
56980
56981 2008-04-15  Bruno Haible  <bruno@clisp.org>
56982
56983         * modules/mathl (configure.ac): Define module indicator.
56984
56985 2008-04-15  Bruno Haible  <bruno@clisp.org>
56986
56987         * lib/logl.c (logl): Remove unused variables.
56988
56989 2008-04-15  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56992         fails.
56993
56994 2008-04-15  Bruno Haible  <bruno@clisp.org>
56995
56996         * lib/trim.c (trim2): Fix argument of isspace() macro.
56997
56998 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56999
57000         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57001         to 0.
57002         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57003
57004 2008-04-14  Bruno Haible  <bruno@clisp.org>
57005
57006         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57007         AC_LANG_PROGRAM argument.
57008         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57009         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57011         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57012         * m4/math_h.m4 (gl_MATH_H): Likewise.
57013         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57014         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57015         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57016         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57017         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57018         * m4/regex.m4 (gl_REGEX): Likewise.
57019         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57020         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57021         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57022         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57023         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57024         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57026         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57027
57028 2008-04-14  Jim Meyering  <meyering@redhat.com>
57029
57030         test-strtod: fix typos: s/abs/fabs/
57031         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57032
57033 2008-04-13  Bruno Haible  <bruno@clisp.org>
57034
57035         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57036         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57037         module is also used and while not building the reloc-wrapper.
57038
57039 2008-04-13  Bruno Haible  <bruno@clisp.org>
57040
57041         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57042
57043 2008-04-13  Bruno Haible  <bruno@clisp.org>
57044
57045         Fix AIX compilation failure introduced on 2008-04-02.
57046         * tests/test-frexp.c (exp): Undefine before redefining.
57047         * tests/test-frexpl.c (exp): Likewise.
57048
57049 2008-04-13  Bruno Haible  <bruno@clisp.org>
57050
57051         Work around a HP-UX stdio bug.
57052         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57053         * tests/test-ftello.c (main): Likewise.
57054         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57055         * doc/posix-functions/ftello.texi: Likewise.
57056
57057 2008-04-13  Bruno Haible  <bruno@clisp.org>
57058
57059         Make test-signbit pass on HP-UX/hppa.
57060         * tests/test-signbit.c (minus_zerol): New variable.
57061         (test_signbitl): Use it.
57062
57063 2008-04-13  Bruno Haible  <bruno@clisp.org>
57064
57065         Make truncl work on OSF/1 4.0.
57066         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57067         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57068         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57070         HAVE_DECL_TRUNCL.
57071         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57072         HAVE_DECL_TRUNCL.
57073         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57074
57075 2008-04-13  Bruno Haible  <bruno@clisp.org>
57076
57077         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57078
57079 2008-04-13  Bruno Haible  <bruno@clisp.org>
57080
57081         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57082         expression, so as to avoid HP-UX 11 cc compiler bug.
57083
57084 2008-04-13  Bruno Haible  <bruno@clisp.org>
57085
57086         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57087
57088 2008-04-13  Bruno Haible  <bruno@clisp.org>
57089
57090         * lib/git-merge-changelog.c: Remove empty declaration outside of
57091         functions.
57092
57093 2008-04-13  Bruno Haible  <bruno@clisp.org>
57094
57095         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57096
57097 2008-04-13  Bruno Haible  <bruno@clisp.org>
57098
57099         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57100         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57101         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57102         also if it exists but lacks definitions of the SHUT_* macros.
57103         * modules/sys_socket (Description): Update.
57104         Reported by Elbert Pol <e.pol@chello.nl>.
57105
57106 2008-04-13  Bruno Haible  <bruno@clisp.org>
57107
57108         * lib/localcharset.c (OS2): Don't redefine if already defined.
57109         Reported by Elbert Pol <e.pol@chello.nl>.
57110
57111 2008-04-13  Bruno Haible  <bruno@clisp.org>
57112
57113         * lib/binary-io.h [__EMX__]: Include <io.h>.
57114         Reported by Elbert Pol <e.pol@chello.nl>.
57115
57116 2008-04-12  Bruno Haible  <bruno@clisp.org>
57117
57118         * lib/fpucw.h: Enable the definitions also for x86_64.
57119         Needed for NetBSD/x86_64.
57120         Reported by Thomas Klausner <tk@giga.or.at>.
57121
57122 2008-04-12  Bruno Haible  <bruno@clisp.org>
57123
57124         * tests/test-strtod.c: Include isnand.h.
57125         (main): Use isnand instead of isnan.
57126         Reported by Jim Meyering.
57127
57128 2008-04-12  Bruno Haible  <bruno@clisp.org>
57129
57130         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57131         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57132
57133 2008-04-12  Jim Meyering  <meyering@redhat.com>
57134
57135         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57136
57137 2008-04-12  Bruno Haible  <bruno@clisp.org>
57138
57139         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57140         Reported by Elbert Pol <e.pol@chello.nl>.
57141
57142 2008-04-12  Eric Blake  <ebb9@byu.net>
57143
57144         Work around Solaris 10 math.h bug.
57145         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57146         (gl_MATH_H_DEFAULTS): Set up default.
57147         * modules/math (Makefile.am): Replace new indicators.
57148         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57149         * tests/test-math.c (main): Test this.
57150         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57151         * doc/posix-headers/math.texi (math.h): Mention bug.
57152         Reported by Nelson H. F. Beebe and Jim Meyering.
57153
57154 2008-04-11  Bruno Haible  <bruno@clisp.org>
57155
57156         Adapt to future versions of Apple GCC.
57157         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57158         Reported by Peter O'Gorman <peter@pogma.com>.
57159
57160 2008-04-11  Bruno Haible  <bruno@clisp.org>
57161
57162         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57163
57164 2008-04-11  Bruno Haible  <bruno@clisp.org>
57165
57166         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57167
57168         * modules/getaddrinfo-tests (Makefile.am): Define
57169         test_getaddrinfo_LDADD.
57170
57171 2008-04-11  Bruno Haible  <bruno@clisp.org>
57172
57173         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57174         (init): Fix syntax error.
57175         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57176         is declared.
57177
57178 2008-04-11  Bruno Haible  <bruno@clisp.org>
57179
57180         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57181         * modules/glob (Depends-on): Add stdbool.
57182
57183 2008-04-11  Bruno Haible  <bruno@clisp.org>
57184
57185         * lib/trim.c: Include <string.h>.
57186
57187 2008-04-11  Eric Blake  <ebb9@byu.net>
57188
57189         Avoid compile failure on OS/2.
57190         * lib/regex_internal.h (internal_function): Disable optimization
57191         on OS/2 (__EMX__), where it caused compiler error.
57192         Reported by Elbert Pol.
57193
57194 2008-04-11  Bruno Haible  <bruno@clisp.org>
57195
57196         Flush the standard error stream before aborting. Needed on mingw.
57197         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57198         * tests/test-array_list.c (ASSERT): Likewise.
57199         * tests/test-array_oset.c (ASSERT): Likewise.
57200         * tests/test-avltree_list.c (ASSERT): Likewise.
57201         * tests/test-avltree_oset.c (ASSERT): Likewise.
57202         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57203         * tests/test-binary-io.c (ASSERT): Likewise.
57204         * tests/test-byteswap.c (ASSERT): Likewise.
57205         * tests/test-c-ctype.c (ASSERT): Likewise.
57206         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57207         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57208         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57209         * tests/test-c-strstr.c (ASSERT): Likewise.
57210         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57211         * tests/test-canonicalize.c (ASSERT): Likewise.
57212         * tests/test-carray_list.c (ASSERT): Likewise.
57213         * tests/test-ceilf1.c (ASSERT): Likewise.
57214         * tests/test-ceilf2.c (ASSERT): Likewise.
57215         * tests/test-ceill.c (ASSERT): Likewise.
57216         * tests/test-count-one-bits.c (ASSERT): Likewise.
57217         * tests/test-fbufmode.c (ASSERT): Likewise.
57218         * tests/test-fflush2.c (ASSERT): Likewise.
57219         * tests/test-floorf1.c (ASSERT): Likewise.
57220         * tests/test-floorf2.c (ASSERT): Likewise.
57221         * tests/test-floorl.c (ASSERT): Likewise.
57222         * tests/test-fopen.c (ASSERT): Likewise.
57223         * tests/test-fpending.c (ASSERT): Likewise.
57224         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57225         * tests/test-fpurge.c (ASSERT): Likewise.
57226         * tests/test-freadable.c (ASSERT): Likewise.
57227         * tests/test-freadahead.c (ASSERT): Likewise.
57228         * tests/test-freading.c (ASSERT): Likewise.
57229         * tests/test-freadptr.c (ASSERT): Likewise.
57230         * tests/test-freadptr2.c (ASSERT): Likewise.
57231         * tests/test-freadseek.c (ASSERT): Likewise.
57232         * tests/test-freopen.c (ASSERT): Likewise.
57233         * tests/test-frexp.c (ASSERT): Likewise.
57234         * tests/test-frexpl.c (ASSERT): Likewise.
57235         * tests/test-fseek.c (ASSERT): Likewise.
57236         * tests/test-fseeko.c (ASSERT): Likewise.
57237         * tests/test-fstrcmp.c (ASSERT): Likewise.
57238         * tests/test-ftell.c (ASSERT): Likewise.
57239         * tests/test-ftello.c (ASSERT): Likewise.
57240         * tests/test-func.c (ASSERT): Likewise.
57241         * tests/test-fwritable.c (ASSERT): Likewise.
57242         * tests/test-fwriting.c (ASSERT): Likewise.
57243         * tests/test-getdelim.c (ASSERT): Likewise.
57244         * tests/test-getline.c (ASSERT): Likewise.
57245         * tests/test-i-ring.c (ASSERT): Likewise.
57246         * tests/test-iconv-utf.c (ASSERT): Likewise.
57247         * tests/test-iconv.c (ASSERT): Likewise.
57248         * tests/test-isfinite.c (ASSERT): Likewise.
57249         * tests/test-isnand.c (ASSERT): Likewise.
57250         * tests/test-isnanf.c (ASSERT): Likewise.
57251         * tests/test-isnanl.h (ASSERT): Likewise.
57252         * tests/test-ldexpl.c (ASSERT): Likewise.
57253         * tests/test-linked_list.c (ASSERT): Likewise.
57254         * tests/test-linkedhash_list.c (ASSERT): Likewise.
57255         * tests/test-localename.c (ASSERT): Likewise.
57256         * tests/test-lseek.c (ASSERT): Likewise.
57257         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57258         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57259         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57260         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57261         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57262         * tests/test-mbschr.c (ASSERT): Likewise.
57263         * tests/test-mbscspn.c (ASSERT): Likewise.
57264         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57265         * tests/test-mbspbrk.c (ASSERT): Likewise.
57266         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57267         * tests/test-mbsrchr.c (ASSERT): Likewise.
57268         * tests/test-mbsspn.c (ASSERT): Likewise.
57269         * tests/test-mbsstr1.c (ASSERT): Likewise.
57270         * tests/test-mbsstr2.c (ASSERT): Likewise.
57271         * tests/test-mbsstr3.c (ASSERT): Likewise.
57272         * tests/test-memchr2.c (ASSERT): Likewise.
57273         * tests/test-memmem.c (ASSERT): Likewise.
57274         * tests/test-open.c (ASSERT): Likewise.
57275         * tests/test-printf-frexp.c (ASSERT): Likewise.
57276         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57277         * tests/test-printf-posix.c (ASSERT): Likewise.
57278         * tests/test-quotearg.c (ASSERT): Likewise.
57279         * tests/test-rbtree_list.c (ASSERT): Likewise.
57280         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57281         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57282         * tests/test-round1.c (ASSERT): Likewise.
57283         * tests/test-roundf1.c (ASSERT): Likewise.
57284         * tests/test-roundl.c (ASSERT): Likewise.
57285         * tests/test-signbit.c (ASSERT): Likewise.
57286         * tests/test-sleep.c (ASSERT): Likewise.
57287         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57288         * tests/test-snprintf.c (ASSERT): Likewise.
57289         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57290         * tests/test-stat-time.c (ASSERT): Likewise.
57291         * tests/test-strcasestr.c (ASSERT): Likewise.
57292         * tests/test-strerror.c (ASSERT): Likewise.
57293         * tests/test-striconv.c (ASSERT): Likewise.
57294         * tests/test-striconveh.c (ASSERT): Likewise.
57295         * tests/test-striconveha.c (ASSERT): Likewise.
57296         * tests/test-strsignal.c (ASSERT): Likewise.
57297         * tests/test-strstr.c (ASSERT): Likewise.
57298         * tests/test-strtod.c (ASSERT): Likewise.
57299         * tests/test-trunc1.c (ASSERT): Likewise.
57300         * tests/test-trunc2.c (ASSERT): Likewise.
57301         * tests/test-truncf1.c (ASSERT): Likewise.
57302         * tests/test-truncf2.c (ASSERT): Likewise.
57303         * tests/test-truncl.c (ASSERT): Likewise.
57304         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57305         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57306         * tests/test-vasnprintf.c (ASSERT): Likewise.
57307         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57308         * tests/test-vasprintf.c (ASSERT): Likewise.
57309         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57310         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57311         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57312         * tests/test-vsnprintf.c (ASSERT): Likewise.
57313         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57314         * tests/test-wcwidth.c (ASSERT): Likewise.
57315         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57316         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57317         * tests/test-xvasprintf.c (ASSERT): Likewise.
57318         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57319         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57320         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57321         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57322         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57323         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57324         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57325         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57326         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57327         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57328         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57329         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57330         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57331         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57332         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57333         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57334         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57335         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57336         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57337         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57338         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57339         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57340         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57341         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57342         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57343         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57344         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57345         * tests/unictype/test-combining.c (ASSERT): Likewise.
57346         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57347         * tests/unictype/test-digit.c (ASSERT): Likewise.
57348         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57349         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57350         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57351         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57352         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57353         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57354         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57355         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57356         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57357         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57358         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57359         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57360         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57361         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57362         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57363         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57364         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57365         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57366         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57367         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57368         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57369         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57370         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57371         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57372         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57373         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57374         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57375         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57376         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57377         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57378         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57379         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57380         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57381         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57382         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57383         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57384         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57385         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57386         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57387         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57388         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57389         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57390         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57391         Reported by Eric Blake.
57392
57393 2008-04-11  Bruno Haible  <bruno@clisp.org>
57394
57395         * lib/wchar.in.h: Tweak comment.
57396
57397 2008-04-11  Bruno Haible  <bruno@clisp.org>
57398
57399         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57400         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57401         gl_COMMON.
57402         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57403
57404 2008-04-11  Bruno Haible  <bruno@clisp.org>
57405
57406         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57407
57408 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57409
57410         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57411         of attempting to use non-existing /dev/*random.  Based on patch
57412         from Adam Strzelecki <ono@java.pl> in
57413         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57414
57415 2008-04-08  Bruno Haible  <bruno@clisp.org>
57416
57417         Add tentative support for emx+gcc.
57418         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57419         * lib/fpurge.c (fpurge): Likewise.
57420         * lib/freadable.c (freadable): Likewise.
57421         * lib/freadahead.c (freadahead): Likewise.
57422         * lib/freading.c (freading): Likewise.
57423         * lib/freadptr.c (freadptr): Likewise.
57424         * lib/freadseek.c (freadptrinc): Likewise.
57425         * lib/fseeko.c (rpl_fseeko): Likewise.
57426         * lib/fseterr.c (fseterr): Likewise.
57427         * lib/fwritable.c (fwritable): Likewise.
57428         * lib/fwriting.c (fwriting): Likewise.
57429         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57430
57431 2008-04-09  Eric Blake  <ebb9@byu.net>
57432
57433         Avoid some autoconf warnings.
57434         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57435         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57436         * m4/afs.m4 (gl_AFS): Likewise.
57437         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57438         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57439         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57440         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57441         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57442         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57443         (AC_CHECK_DECLS_ONCE): Likewise.
57444         Rename file...
57445         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57446         gnulib-tool requires autoconf 2.59 or better.
57447         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57448
57449 2008-04-08  Eric Blake  <ebb9@byu.net>
57450
57451         Use 'git describe --match' if present (added in git 1.5.5).
57452         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57453         if possible.
57454
57455 2008-04-08  Bruno Haible  <bruno@clisp.org>
57456
57457         Add tentative support for OpenServer.
57458         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57459         _ptr, _cnt.
57460         * lib/fpurge.c (fpurge): Likewise.
57461         * lib/freadable.c (freadable): Likewise.
57462         * lib/freadahead.c (freadahead): Likewise.
57463         * lib/freading.c (freading): Likewise.
57464         * lib/freadptr.c (freadptr): Likewise.
57465         * lib/freadseek.c (freadptrinc): Likewise.
57466         * lib/fseeko.c (rpl_fseeko): Likewise.
57467         * lib/fseterr.c (fseterr): Likewise.
57468         * lib/fwritable.c (fwritable): Likewise.
57469         * lib/fwriting.c (fwriting): Likewise.
57470         Reported by Roger Cornelius <rac@tenzing.org> and
57471         Brian K. White <brian@aljex.com>.
57472
57473 2008-04-06  Jim Meyering  <meyering@redhat.com>
57474
57475         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57476
57477 2008-04-06  Bruno Haible  <bruno@clisp.org>
57478
57479         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57480         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57481         * tests/test-printf-posix.sh: Likewise.
57482         * tests/test-vfprintf-posix.sh: Likewise.
57483         * tests/test-vprintf-posix.sh: Likewise.
57484         * tests/test-xprintf-posix.sh: Likewise.
57485
57486 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57487
57488         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57489         hide error from 'ls', needed on OS/2.
57490         Report by Elbert Pol <elbert.pol@gmail.com>.
57491
57492 2008-04-04  Eric Blake  <ebb9@byu.net>
57493
57494         Make test-fseeko.c failures meaningful.
57495         * tests/test-fseeko.c: Print line number on failure.
57496         * tests/test-fseek.c: Likewise.
57497         Reported by Nelson H. F. Beebe.
57498
57499         Improve strtod bug detection check.
57500         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57501         required for Solaris 10.
57502         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57503
57504 2008-04-04  Bruno Haible  <bruno@clisp.org>
57505
57506         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57507         by m4/setenv.m4.
57508
57509 2008-04-03  Eric Blake  <ebb9@byu.net>
57510
57511         Ensure sane .version contents.
57512         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57513         version string.
57514         * build-aux/git-version-gen: Improve documentation.
57515
57516         Make GNU make output nicer.
57517         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57518         MAKECMDGOALS to enforce message for all command line targets.  Set
57519         srcdir for use in maint.mk.
57520
57521         Another maintainer tweak.
57522         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57523         a target that regenerates version.
57524
57525 2008-04-03  Jim Meyering  <meyering@redhat.com>
57526
57527         vc-list-files: don't cause coreutils "make po-check" failure
57528         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57529
57530 2008-04-03  Eric Blake  <ebb9@byu.net>
57531
57532         Allow VPATH usage of vc-list-files.
57533         * build-aux/vc-list-files (scriptversion): Add timestamp.
57534         (options): Add --help, --version, -C.
57535         (CVS): Support installed cvsu.
57536
57537 2008-04-02  Bruno Haible  <bruno@clisp.org>
57538
57539         Avoid some "statement with no effect" warnings from gcc.
57540         * tests/test-wctype.c (main): Explicitly ignore unused values.
57541         Reported by Jim Meyering.
57542
57543 2008-04-02  Jim Meyering  <meyering@redhat.com>
57544
57545         Avoid some warnings from "gcc -Wshadow".
57546         * tests/test-frexp.c (exp): Define to a different identifier.
57547         * tests/test-frexpl.c (exp): Likewise.
57548
57549 2008-04-03  Jim Meyering  <meyering@redhat.com>
57550
57551         bootstrap: remove dangling *.[ch] symlinks from lib
57552         * build-aux/bootstrap [dangling symlink removal]: Move find's
57553         -depth option to precede all others, to avoid a warning.
57554         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57555
57556 2008-04-02  Bruno Haible  <bruno@clisp.org>
57557
57558         Avoid some warnings from "gcc -Wshadow".
57559         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57560         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57561         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57562         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57563         Reported by Jim Meyering.
57564
57565 2008-04-01  Bruno Haible  <bruno@clisp.org>
57566
57567         Fix test to work on IRIX 6.5 with cc.
57568         * tests/test-math.c (numeric_equal): New function.
57569         (main): Use it.
57570
57571 2008-04-01  Bruno Haible  <bruno@clisp.org>
57572
57573         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
57574
57575 2008-04-01  Bruno Haible  <bruno@clisp.org>
57576
57577         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
57578         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57579         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
57580         (Depends-on): Remove math.
57581
57582         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
57583         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57584         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
57585         (Depends-on): Remove math.
57586
57587         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
57588         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57589         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
57590         (Depends-on): Remove math.
57591         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
57592         (Depends-on): Remove math.
57593
57594         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
57595         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57596         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
57597         (Depends-on): Remove math.
57598         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
57599         (Depends-on): Remove math.
57600
57601         * tests/test-round1.c: Include nan.h.
57602         (main): Use NaNd instead of NAN.
57603         * modules/round-tests (Files): Add tests/nan.h.
57604
57605         * tests/test-trunc1.c: Include nan.h.
57606         (main): Use NaNd instead of NAN.
57607         * modules/trunc-tests (Files): Add tests/nan.h.
57608
57609         * tests/test-roundf1.c: Include nan.h.
57610         (main): Use NaNf instead of NAN.
57611         * modules/roundf-tests (Files): Add tests/nan.h.
57612
57613         * tests/test-truncf1.c: Include nan.h.
57614         (main): Use NaNf instead of NAN.
57615         * modules/truncf-tests (Files): Add tests/nan.h.
57616
57617         * tests/test-ceilf1.c: Include nan.h.
57618         (main): Use NaNf instead of NAN.
57619         * modules/ceilf-tests (Files): Add tests/nan.h.
57620
57621         * tests/test-floorf1.c: Include nan.h.
57622         (main): Use NaNf instead of NAN.
57623         * modules/floorf-tests (Files): Add tests/nan.h.
57624
57625         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
57626         (main): Use NaNf instead of NAN.
57627         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
57628
57629         * tests/test-isnand.c: Include nan.h instead of <math.h>.
57630         (main): Use NaNd instead of NAN.
57631         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
57632
57633         * tests/test-frexp.c: Include nan.h.
57634         (main): Use NaNd instead of NAN.
57635         * modules/frexp-tests (Files): Add tests/nan.h.
57636
57637         * lib/isnan.c: Don't include <math.h>.
57638         (FUNC): Don't use NAN macro.
57639         * modules/isnand-nolibm (Depends-on): Remove math.
57640         * modules/isnanf-nolibm (Depends-on): Remove math.
57641         * modules/isnanl (Depends-on): Remove math.
57642         * modules/isnanl-nolibm (Depends-on): Remove math.
57643
57644         * tests/nan.h: New file.
57645
57646 2008-04-01  Eric Blake  <ebb9@byu.net>
57647
57648         Fix typos.
57649         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
57650         values to be the right type.
57651
57652         For now, cater to gnulib strtod inaccuracies.
57653         * tests/test-strtod.c (main): Allow 1-ulp error on expected
57654         fractional results.  While not as nice from a QoI perspective, it
57655         is a quicker patch than correctly implementing decimal to binary
57656         rounding.
57657
57658 2008-03-31  Eric Blake  <ebb9@byu.net>
57659
57660         Guarantee a definition of NAN.
57661         * lib/math.in.h (NAN): Define if missing.
57662         * tests/test-math.c (main): Test it.
57663         * doc/posix-headers/math.texi (math.h): Document this.
57664         * lib/isnan.c (rpl_isnand): Use it.
57665         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
57666         * tests/test-floorf1.c (NaN): Likewise.
57667         * tests/test-frexp.c (NaN): Likewise.
57668         * tests/test-isnand.c (NaN): Likewise.
57669         * tests/test-isnanf.c (NaN): Likewise.
57670         * tests/test-round1.c (NaN): Likewise.
57671         * tests/test-roundf1.c (NaN): Likewise.
57672         * tests/test-snprintf-posix.h (NaN): Likewise.
57673         * tests/test-sprintf-posix.h (NaN): Likewise.
57674         * tests/test-trunc1.c (NaN): Likewise.
57675         * tests/test-truncf1.c (NaN): Likewise.
57676         * tests/test-vasnprintf-posix.c (NaN): Likewise.
57677         * tests/test-vasprintf-posix.c (NaN): Likewise.
57678         * modules/isnand-nolibm (Depends-on): Add math.
57679         * modules/isnanf-nolibm (Depends-on): Likewise.
57680         * modules/isnanl (Depends-on): Likewise.
57681         * modules/isnanl-nolibm (Depends-on): Likewise.
57682         * modules/snprintf-posix-tests (Depends-on): Likewise.
57683         * modules/sprintf-posix-tests (Depends-on): Likewise.
57684         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
57685         * modules/vsprintf-posix-tests (Depends-on): Likewise.
57686         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
57687         * modules/vasprintf-posix-tests (Depends-on): Likewise.
57688
57689 2008-03-31  Bruno Haible  <bruno@clisp.org>
57690
57691         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
57692         * doc/posix-functions/strtod.texi: Likewise.
57693
57694 2008-03-31  Bruno Haible  <bruno@clisp.org>
57695
57696         * tests/test-strtod.c (main): Don't use C99 syntax.
57697
57698 2008-03-31  Bruno Haible  <bruno@clisp.org>
57699
57700         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
57701         Reported by Eric Blake.
57702
57703 2008-03-31  Jim Meyering  <meyering@redhat.com>
57704
57705         Don't compare actual signbit return values.
57706         * tests/test-strtod.c (main): Rather, compare only their
57707         zero/non-zero nature.
57708
57709 2008-03-31  Eric Blake  <ebb9@byu.net>
57710
57711         More strtod documentation.
57712         * doc/posix-functions/strtod.texi (strtod): Interpret more test
57713         failures as distinct bugs.
57714
57715 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57716
57717         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
57718         Problem reported by Erik Benada in
57719         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
57720
57721 2008-03-30  Bruno Haible  <bruno@clisp.org>
57722
57723         * tests/test-strtod.c: Add comments about which assertion fails on which
57724         platform.
57725         * doc/posix-functions/strtod.texi: Add info about many more platforms.
57726
57727 2008-03-30  Eric Blake  <ebb9@byu.net>
57728
57729         Test signbit behavior on zeros.
57730         * tests/test-signbit.c (test_signbitf): Add tests for zero.
57731         (test_signbitd, test_signbitl): Likewise.
57732
57733         More strtod touchups.
57734         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
57735         sign of negative underflow, for now.  Use .5, not .1.
57736         * doc/posix-functions/strtod.texi (strtod): Mention these
57737         limitations.
57738         Reported by Jim Meyering.
57739
57740 2008-03-30  Bruno Haible  <bruno@clisp.org>
57741
57742         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
57743         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
57744
57745 2008-03-30  Bruno Haible  <bruno@clisp.org>
57746
57747         Avoid failure when attempting to return empty iconv results on some
57748         platforms.
57749         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
57750         allocation, don't report ENOMEM when the resulting string is empty.
57751
57752 2008-03-30  Bruno Haible  <bruno@clisp.org>
57753
57754         Fix buffer overrun.
57755         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
57756         Don't consider the width for tmp_length. Check count against tmp_length
57757         before doing the padding. Ensure enough allocation during padding.
57758
57759 2008-03-30  Eric Blake  <ebb9@byu.net>
57760
57761         strtod touchups.
57762         * lib/strtod.c (strtod): Avoid compiler warnings.
57763         Reported by Jim Meyering.
57764
57765 2008-03-30  Bruno Haible  <bruno@clisp.org>
57766
57767         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57768         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57769         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57770         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57771         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57772         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57773         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57774         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57775
57776         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57777         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57778         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57779         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57780         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57781         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57782         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57783         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57784
57785         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57786         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57787         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57788         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57789         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57790         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57791         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57792         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57793
57794         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57795         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57796
57797         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57798         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57799
57800         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57801         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57802
57803         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57804         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57805         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57806
57807         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57808         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57809         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57810
57811         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57812         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57813         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57814
57815         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57816         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57817         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57818
57819         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57820         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57822         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57823         (Depends-on): Add EOVERFLOW.
57824         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57825         (Depends-on): Add EOVERFLOW.
57826         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57827         (Depends-on): Add EOVERFLOW.
57828         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57829         (Depends-on): Add EOVERFLOW.
57830         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57831         (Depends-on): Add EOVERFLOW.
57832         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57833         (Depends-on): Add EOVERFLOW.
57834         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57835         (Depends-on): Add EOVERFLOW.
57836         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57837         (Depends-on): Add EOVERFLOW.
57838
57839         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57840         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57841         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57842
57843         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57844         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57845         * modules/snprintf (Depends-on): Add EOVERFLOW.
57846
57847         * lib/poll.c (EOVERFLOW): Remove fallback.
57848         * modules/poll (Depends-on): Add EOVERFLOW.
57849
57850         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57851         * modules/getugroups (Depends-on): Add EOVERFLOW.
57852
57853         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57854         * modules/getdelim (Depends-on): Add EOVERFLOW.
57855
57856         * lib/ftell.c (EOVERFLOW): Remove fallback.
57857         * modules/ftell (Depends-on): Add EOVERFLOW.
57858
57859         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57860         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57861         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57862
57863         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57864
57865         * modules/EOVERFLOW-tests: New file.
57866         * tests/test-EOVERFLOW.c: New file.
57867
57868         * modules/EOVERFLOW: New file.
57869         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57870
57871 2008-03-30  Bruno Haible  <bruno@clisp.org>
57872
57873         Fix bug introduced on 2007-06-10.
57874         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57875         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57876
57877 2008-03-30  Bruno Haible  <bruno@clisp.org>
57878
57879         Improve freadseek's efficiency after ungetc.
57880         * lib/freadseek.c: Include freadahead.h.
57881         (freadptrinc): New function, extracted from freadseek.
57882         (freadseek): Use it in a loop. Use freadahead to determine the number
57883         of loop iterations.
57884         * modules/freadseek (Depends-on): Add freadahead.
57885         (configure.ac): Require AC_C_INLINE.
57886
57887 2008-03-30  Bruno Haible  <bruno@clisp.org>
57888
57889         * lib/freadseek.c (freadseek): Don't ignore the return value of
57890         freadptr.
57891
57892 2008-03-29  Eric Blake  <ebb9@byu.net>
57893
57894         Add hex float support.
57895         * modules/strtod (Depends-on): Add c-ctype.
57896         (Link): Mention POW_LIB.
57897         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57898         whitespace between 'e' and exponent.
57899         * tests/test-strtod.c (main): Enable hex float tests.
57900         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57901         now provides.
57902
57903         Document various strtod bugs, with some fixes.
57904         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57905         "-0x", "inf", "nan", and hex constants.
57906         * doc/posix-functions/atof.texi (atof): Likewise.
57907         * modules/stdlib (Makefile.am): Support strtod.
57908         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57909         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57910         detect additional strtod bugs.
57911         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57912         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57913         bool where appropriate.  Parse 'inf' and 'nan'.
57914         * tests/test-strtod.c: New file.
57915         * modules/strtod (Depends-on): Add stdbool, stdlib.
57916         (configure.ac): Turn on module indicator.
57917         * modules/strtod-tests: New module.
57918
57919 2008-03-29  Eric Blake  <ebb9@byu.net>
57920
57921         Fix ftell on mingw.
57922         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57923         * modules/ftell-tests (Depends-on): Add binary-io.
57924         * modules/ftello-tests (Depends-on): Likewise.
57925         * tests/test-ftell.c (main): Enhance test to cover behavior after
57926         ungetc.  Enforce binary mode.
57927         * tests/test-ftello.c (main): Likewise.
57928
57929         Pass test-freadseek on cygwin.
57930         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57931         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57932         ungetc buffer.
57933
57934         * tests/test-fflush2.c (main): Fix typo.
57935
57936 2008-03-29  Bruno Haible  <bruno@clisp.org>
57937
57938         * tests/test-fflush2.c (main): Temporarily disable the contents of
57939         this test.
57940         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57941         Reported by Eric Blake.
57942
57943 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57944
57945         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57946         (GC_SHA224_DIGEST_SIZE): Add.
57947
57948         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57949         (gc_hash_digest_length): Likewise.
57950         (gc_hash_buffer): Likewise.
57951
57952 2008-03-25  Bruno Haible  <bruno@clisp.org>
57953
57954         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57955         detail which gettext release to use.
57956         Reported by Simon Josefsson.
57957
57958 2008-03-26  Jim Meyering  <meyering@redhat.com>
57959
57960         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57961         * modules/gnumakefile (clean-GNUmakefile): Also, use
57962         test ... && ... || : syntax rather than if-then ... fi.
57963
57964         gnumakefile: Don't double-quote-expand $(VPATH) value.
57965         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57966
57967 2008-03-24  Eric Blake  <ebb9@byu.net>
57968
57969         Alter GNUmakefile to install into top directory.
57970         * modules/maintainer-makefile: Split, and add dependency...
57971         * modules/gnumakefile: to this new module.
57972         * build-aux/GNUmakefile: Move...
57973         * top/GNUmakefile: ...here.
57974         * build-aux/maint.mk: Move...
57975         * top/maint.mk: ...here.
57976         * MODULES.html.sh (Support for maintaining...): Document new
57977         module.
57978
57979 2008-03-23  Bruno Haible  <bruno@clisp.org>
57980
57981         * gnulib-tool: New options --vc-files, --no-vc-files.
57982         (func_usage): Document them.
57983         (vc_files): New variable.
57984         (func_import): Consider vc_files.
57985         (func_create_testdir): Set vc_files to empty.
57986         Suggested by Jim Meyering and Karl Berry.
57987
57988 2008-03-23  Bruno Haible  <bruno@clisp.org>
57989
57990         Fix regex compilation error on HP-UX 11.
57991         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57992         * modules/regex (Files): Add m4/mbstate_t.m4.
57993         Reported by Ton Voon <ton.voon@altinity.com>.
57994
57995 2008-03-23  Bruno Haible  <bruno@clisp.org>
57996
57997         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57998
57999 2008-03-23  Eric Blake  <ebb9@byu.net>
58000             Bruno Haible  <bruno@clisp.org>
58001
58002         Install files from top/ in the destination directory.
58003         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58004         augmentation also for the files from top/.
58005         (func_import, func_create_testdir): Rewrite file names:
58006         top/filename -> filename.
58007
58008 2008-03-23  Bruno Haible  <bruno@clisp.org>
58009
58010         Tweak "gnulib --version" output.
58011         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58012
58013 2008-03-23  Bruno Haible  <bruno@clisp.org>
58014
58015         Tweak "gnulib --version" output.
58016         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58017         rather than contents of ChangeLog, when possible.
58018
58019 2008-03-21  Eric Blake  <ebb9@byu.net>
58020
58021         More --version tweaks.
58022         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58023         date of last ChangeLog entry.
58024
58025 2008-03-21  Jim Meyering  <meyering@redhat.com>
58026
58027         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58028
58029 2008-03-20  Eric Blake  <ebb9@byu.net>
58030
58031         VPATH fix.
58032         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58033
58034 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58035
58036         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58037         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58038
58039 2008-03-20  Eric Blake  <ebb9@byu.net>
58040
58041         Sync GNUmakefile with coreutils.
58042         * build-aux/GNUmakefile (have-Makefile): Rename...
58043         (_have-Makefile): ...to this, for namespace consideration.
58044         (GNUmakefile.cfg): Include, if present.
58045         (_autoreconf): Define a default.
58046         (_is-dist-target): New rule for rebuilds to pick up intra-release
58047         version.
58048         (maint-cfg.mk): Rename...
58049         (cfg.mk): ...to this.
58050
58051 2008-03-18  Jim Meyering  <meyering@redhat.com>
58052
58053         New script and module: mktempd
58054         * MODULES.html.sh (maint+release support): Add mktempd.
58055         * build-aux/mktempd: New file.
58056         * modules/mktempd: New file.
58057
58058 2008-03-15  Jim Meyering  <meyering@redhat.com>
58059
58060         Undo last change.
58061         * lib/sha1.c, lib/md5.c: 63 != ~63.
58062         Reported by Andreas Schwab.
58063
58064         sha1.c, md5.c: Hoist a redundant expression.
58065         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58066         "ctx->buflen" only once, before calling *_process_block.
58067         * lib/md5.c (md5_process_bytes): Likewise.
58068
58069 2008-03-14  Eric Blake  <ebb9@byu.net>
58070
58071         Bump copyright year in files generated by gnulib-tool.
58072         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58073         gnulib-tool, rather than hard-coding it.
58074
58075         Fix 'gnulib-tool --version' output to work with git.
58076         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58077         (startup): ...here.
58078         (func_version): Use it to invoke git-version-gen, rather than
58079         relying on CVS keyword expansion.  Modernize wording.
58080         (cvsdatestamp, last_checkin_date, version): Kill unused
58081         variables.
58082
58083 2008-03-12  Jim Meyering  <meyering@redhat.com>
58084
58085         Recognize optional cast of the argument to free.
58086         * build-aux/useless-if-before-free: Update regexps.
58087
58088         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58089
58090 2008-03-11  Bruno Haible  <bruno@clisp.org>
58091
58092         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58093         by a single package.
58094         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58095         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58096         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58097         Reported by Sam Steingold <sds@gnu.org>.
58098
58099 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58100
58101         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58102         repositories.
58103
58104 2008-03-11  Bruno Haible  <bruno@clisp.org>
58105
58106         Avoid conflicts between local macro definitions.
58107         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58108         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58109
58110 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58111             Bruno Haible  <bruno@clisp.org>
58112
58113         Make va_copy work with some version of xlc on AIX 5.1.
58114         * lib/stdarg.in.h: New file.
58115         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58116         On AIX, use a <stdarg.h> file substitute.
58117         * modules/stdarg (Files): Add lib/stdarg.in.h.
58118         (Depends-on): Add include_next.
58119         (Makefile.am): Build a stdarg.h substitute if requested.
58120         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58121
58122 2008-03-10  Bruno Haible  <bruno@clisp.org>
58123
58124         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58125         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58126         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58127
58128 2008-03-10  Bruno Haible  <bruno@clisp.org>
58129
58130         * modules/stdlib (Depends-on): Add include_next, remove
58131         absolute-header.
58132
58133 2008-03-09  Bruno Haible  <bruno@clisp.org>
58134
58135         * lib/freadahead.h (freadahead): Document more precisely.
58136         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58137         the sum of both buffer sizes.
58138         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58139         * NEWS: Document the change.
58140
58141 2008-03-09  Bruno Haible  <bruno@clisp.org>
58142
58143         Extend freadptr to return also the buffer size.
58144         * lib/freadptr.h (freadptr): Add sizep argument.
58145         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58146         (freadptr): Add sizep argument. Determine buffer size like freadahead
58147         does.
58148         * tests/test-freadptr.c: Don't include freadahead.h.
58149         (main): Adapt for new calling convention of freadptr.
58150         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58151         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58152         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58153         tests/test-freadptr2.sh.
58154         (Depends): Remove freadahead.
58155         (TESTS): Add test-freadptr2.sh.
58156         (check_PROGRAMS): Add test-freadptr2.
58157
58158 2008-03-09  Bruno Haible  <bruno@clisp.org>
58159
58160         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58161         Report and solution by Simon Josefsson.
58162
58163 2008-03-06  Bruno Haible  <bruno@clisp.org>
58164
58165         Make fflush after ungetc work on BSD platforms.
58166         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58167         * tests/test-fflush2.c: New file.
58168         * tests/test-fflush2.sh: New file.
58169         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58170         tests/test-fflush2.c.
58171         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58172         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58173
58174 2008-03-06  Eric Blake  <ebb9@byu.net>
58175
58176         Likewise for ftello.
58177         * modules/ftello (Dependencies): Add extensions.
58178         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58179
58180 2008-03-06  Bruno Haible  <bruno@clisp.org>
58181
58182         * modules/fseeko (Dependencies): Add extensions.
58183         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58184         Needed on glibc systems.
58185
58186 2008-03-06  Bruno Haible  <bruno@clisp.org>
58187
58188         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58189         email address.
58190         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58191
58192 2008-03-06  Bruno Haible  <bruno@clisp.org>
58193
58194         * users.txt: Add libgnupdf.
58195
58196 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58197
58198         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58199         (Header File Substitutes, Function Substitutes,
58200         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58201         (Build robot for gnulib): Fix typo.
58202
58203 2008-03-06  Bruno Haible  <bruno@clisp.org>
58204
58205         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58206         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58207
58208 2008-03-06  Bruno Haible  <bruno@clisp.org>
58209
58210         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58211         * doc/gnulib.texi: Include it.
58212
58213 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58214
58215         * modules/func (License): Change license to unlimited; there was
58216         no LGPL parts in the module anyway.
58217
58218 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58219
58220         * modules/__func__: Renamed to modules/func.
58221         * modules/__func__-tests: Renamed to modules/func-tests.
58222         * tests/test-__func__.c: Renamed to tests/test-func.c.
58223         * m4/__func__.m4: Renamed to m4/func.m4.
58224         * doc/gnulib.texi (__func__): Section renamed to func.
58225         Suggested by Eric Blake <ebb9@byu.net>.
58226
58227 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58228
58229         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58230         about __func__.  Make example self-contained.  Suggested by Eric
58231         Blake <ebb9@byu.net>.
58232
58233         * tests/test-__func__.c (main): Avoid extraneous () around __func.
58234         Suggested by Eric Blake <ebb9@byu.net>.
58235
58236 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58237
58238         * modules/__func__: New file.
58239         * modules/__func__-tests: New file.
58240         * tests/test-__func__.c: New file.
58241         * m4/__func__.m4: New file.
58242         * doc/gnulib.texi (__func__): Document __func__ module.
58243
58244 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58245
58246         * modules/byteswap (License): Re-license as LGPLv2+.
58247
58248 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58249
58250         * doc/Makefile: Add pdf target.
58251
58252 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58253
58254         * modules/inline (License): Use 'unlimited', since there are only
58255         *.m4 files in this module.
58256
58257 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58258             Bruno Haible  <bruno@clisp.org>
58259
58260         Add support for HP C 7.1 on OpenVMS 8.3.
58261         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58262
58263 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58264
58265         Update VMS specifics.
58266         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58267
58268 2008-03-02  Jim Meyering  <meyering@redhat.com>
58269
58270         Remove the last dependency on the "free" module.
58271         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58272         Reported by Bob Proulx.
58273
58274         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58275
58276         Remove useless "if" tests before free.  Deprecate "free" module.
58277         * doc/posix-functions/free.texi: Mention that this
58278         module is no longer useful.
58279         * modules/free (Notice): Say this module is obsolete.
58280         * modules/readutmp (Depends-on): Remove free.
58281         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58282         * lib/putenv.c (putenv): Likewise.
58283         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58284         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58285         * tests/test-c-strcasestr.c (main): Likewise.
58286         * tests/test-c-strstr.c (main): Likewise.
58287         * tests/test-mbscasestr1.c (main): Likewise.
58288         * tests/test-mbscasestr2.c (main): Likewise.
58289         * tests/test-mbsstr1.c (main): Likewise.
58290         * tests/test-mbsstr2.c (main): Likewise.
58291         * tests/test-memmem.c (main): Likewise.
58292         * tests/test-strcasestr.c (main): Likewise.
58293         * tests/test-striconv.c (main): Likewise.
58294         * tests/test-striconveh.c (main): Likewise.
58295         * tests/test-striconveha.c (main): Likewise.
58296         * tests/test-strstr.c (main): Likewise.
58297
58298         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58299
58300         bootstrap: sync from coreutils again
58301         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58302
58303 2008-03-01  Jim Meyering  <meyering@redhat.com>
58304
58305         bootstrap: sync from coreutils
58306         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58307         also when the target doesn't exist.
58308
58309 2008-03-01  Eric Blake  <ebb9@byu.net>
58310
58311         Fix bugs in last patch.
58312         * lib/memchr2.c (memchr2): Fix typo.
58313         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58314         extension.
58315         Reported by Bruce Korb.
58316
58317         New module 'memchr2'.
58318         * modules/memchr2: New file.
58319         * modules/memchr2-tests: Likewise.
58320         * lib/memchr2.h: Likewise.
58321         * lib/memchr2.c: Likewise, based on memchr.c.
58322         * tests/test-memchr2.c: New test.
58323         * MODULES.html.sh (String handling): Add memchr2.
58324
58325 2008-02-29  Bruno Haible  <bruno@clisp.org>
58326
58327         * modules/freadseek-tests: New file.
58328         * tests/test-freadseek.sh: New file.
58329         * tests/test-freadseek.c: New file.
58330
58331         New module 'freadseek'.
58332         * modules/freadseek: New file.
58333         * lib/freadseek.h: New file.
58334         * lib/freadseek.c: New file.
58335         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58336
58337 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58338
58339         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58340         wydawca.
58341
58342         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58343         program_invocation_name and program_invocation_short_name are
58344         present.
58345
58346 2008-02-28  Bruno Haible  <bruno@clisp.org>
58347
58348         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58349         * tests/test-freadptr.sh: Also test non-seekable stdin.
58350
58351 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58352
58353         * build-aux/bootstrap (source_base, m4_base)
58354         (doc_base, tests_base): New variables.
58355         (gnulib_tool_options): Do not hardcode base directories, use
58356         the above variables instead.
58357
58358 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58359
58360         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58361
58362 2008-02-28  Bruno Haible  <bruno@clisp.org>
58363
58364         * modules/freadptr-tests: New file.
58365         * tests/test-freadptr.sh: New file.
58366         * tests/test-freadptr.c: New file.
58367
58368         New module 'freadptr'.
58369         * modules/freadptr: New file.
58370         * lib/freadptr.h: New file.
58371         * lib/freadptr.c: New file.
58372         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58373
58374 2008-02-26  Karl Berry  <karl@freefriends.org>
58375
58376         Sync from Libtool:
58377         * libltdl/argz.c (argz_add, argz_count): New functions.
58378         * libltdl/argz.in.h: Declare them.
58379         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58380
58381 2008-02-22  Bruno Haible  <bruno@clisp.org>
58382
58383         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58384         is a pointer type.  Needed for HP-UX 10.
58385         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58386         * doc/posix-functions/gmtime_r.texi: Likewise.
58387         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58388
58389 2008-02-24  Bruno Haible  <bruno@clisp.org>
58390
58391         * modules/environ-tests: New file.
58392         * tests/test-environ.c: New file.
58393
58394         New module 'environ'.
58395         * modules/environ: New file.
58396         * lib/unistd.in.h (environ): New declaration.
58397         * m4/environ.m4: New file.
58398         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58399         after use.
58400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58401         HAVE_DECL_ENVIRON.
58402         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58403         HAVE_DECL_ENVIRON.
58404         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58405         wrong claim that 'environ' is missing on some systems.
58406         * modules/execute (Depends-on): Add environ.
58407         * lib/execute.c (environ): Remove fallback declaration.
58408         * modules/pipe (Depends-on): Add environ.
58409         * lib/pipe.c (environ): Remove fallback declaration.
58410         * modules/setenv (Depends-on): Add environ.
58411         * lib/setenv.c (environ): Remove fallback declaration.
58412         * modules/unsetenv (Depends-on): Add environ.
58413         * lib/unsetenv.c (environ): Remove fallback declaration.
58414         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58415         m4/environ.m4.
58416         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58417         (gl_PREREQ_UNSETENV): Likewise.
58418
58419 2008-02-24  Bruno Haible  <bruno@clisp.org>
58420
58421         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58422
58423 2008-02-20  Bob Proulx  <bob@proulx.com>
58424
58425         Enable use of older two part flavor 'git describe'.
58426         * build-aux/git-version-gen: If using the older two part flavor of
58427         git version then recreate the third part now present in the
58428         newer three part flavor of git describe.
58429
58430 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58431
58432         * lib/fts.c (fts_build): Typo correction to comment.
58433
58434 2008-02-17  Bruno Haible  <bruno@clisp.org>
58435
58436         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58437         generating no-op conflicts.
58438
58439 2008-02-17  Bruno Haible  <bruno@clisp.org>
58440
58441         Speed up by 10%.
58442         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58443         result_entries, rather than an index-based loop.
58444
58445 2008-02-17  Bruno Haible  <bruno@clisp.org>
58446
58447         Speed up by 25%.
58448         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58449         'hashcode_cached'.
58450         (entry_create): New function.
58451         (entry_hashcode): Use the cached hashcode if possible.
58452         (read_changelog_file, try_split_merged_entry): Use entry_create.
58453
58454 2008-02-17  Bruno Haible  <bruno@clisp.org>
58455
58456         Speed up from O(n^2) to O(n) for long ChangeLog files.
58457         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58458         (read_changelog_file): Change implementation of entries_reversed list
58459         to rbtreehash.
58460         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58461
58462 2008-02-17  Bruno Haible  <bruno@clisp.org>
58463
58464         New option --split-merged-entry.
58465         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58466         (find_paragraph_end, try_split_merged_entry): New functions.
58467         (long_options): Add option --split-merged-entry.
58468         (usage): Document option --split-merged-entry.
58469         (main): Implement option --split-merged-entry.
58470         Reported by Eric Blake.
58471
58472 2008-02-17  Bruno Haible  <bruno@clisp.org>
58473
58474         * lib/git-merge-changelog.c: Include c-strstr.h.
58475         (main): Support the "git pull --rebase" situation.
58476         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58477         Reported by Eric Blake.
58478
58479 2008-02-16  Eric Blake  <ebb9@byu.net>
58480
58481         Avoid doubling \ in common case of "c-maybe" quoting style.
58482         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58483         eliding outer quotes.
58484         * lib/quotearg.h: Document this.
58485         * tests/test-quotearg.c (result_strings, inputs, results_g)
58486         (flag_results, locale_results): Test it by adding a new string to
58487         each test group.
58488         (compare_strings): Test new string.
58489
58490 2008-02-13  Eric Blake  <ebb9@byu.net>
58491
58492         Avoid trigraph quoting in default output.
58493         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58494         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58495         unless explicitly requested.
58496         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58497
58498 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58499
58500         Don't rely on signed integer overflowing to negative value.
58501         * lib/getugroups.c (getugroups): Include <limits.h>.
58502         Instead, compare against INT_MAX, and increment only if the test passes.
58503
58504 2008-02-13  Jim Meyering  <meyering@redhat.com>
58505         and Eric Blake  <ebb9@byu.net>
58506
58507         Avoid shadowing warning and compile errors on Linux.
58508         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58509         forwarding macros on Linux.
58510         (dcgettext): Define a stub, for Linux.
58511         (results_g, main): Avoid warnings.
58512
58513 2008-02-12  Eric Blake  <ebb9@byu.net>
58514
58515         Silence warning in last patch.
58516         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58517
58518         Quotearg part 4: add tests, fix c-maybe colon quoting.
58519         * lib/quotearg.h: Improve documentation.
58520         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58521         escapes when adding outer quotes.  When quoting trigraphs, use
58522         valid C notation.  When quoting NUL, omit extra characters if next
58523         character is not digit.  Alter prototype.
58524         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58525         callers.
58526         * modules/quotearg-tests: New module.
58527         * tests/test-quotearg.c: New test.
58528
58529 2008-02-07  Eric Blake  <ebb9@byu.net>
58530
58531         Quotearg part 3: add flag to control outer quote elision.
58532         * lib/quotearg.h (c_maybe_quoting_style): New style.
58533         (enum quoting_flags): Better documentation of flags.
58534         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58535         c-maybe style.
58536         (quotearg_buffer_restyled): Handle new flag to elide outer
58537         quotes.
58538
58539         Quotearg part 2: add flag that can control NUL elision.
58540         * lib/quotearg.h (set_quoting_flags): New prototype.
58541         * lib/quotearg.c (struct quoting_options): Add flag field.
58542         (set_quoting_flags): New function.
58543         (quotearg_buffer_restyled): Add flags parameter.
58544         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58545         (quotearg_n_options): Set the flag, since length cannot be
58546         returned.
58547         (quoting_options_from_style): Default flags correctly.
58548
58549         Quotearg part 1: more wrappers, restore quotearg_char state.
58550         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58551         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58552         (quotearg_colon_mem): New wrappers.
58553         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58554         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58555         functions.
58556         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58557         (quotearg_colon_mem): New functions.
58558
58559 2008-02-11  Bruno Haible  <bruno@clisp.org>
58560
58561         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58562         library in the current directory: it does not work with parallel make.
58563         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58564
58565 2008-02-11  Bruno Haible  <bruno@clisp.org>
58566
58567         * .gitattributes: New file.
58568
58569 2008-02-11  Jim Meyering  <meyering@redhat.com>
58570
58571         useless-if-before-free: Fix reversed exit values.
58572         * build-aux/useless-if-before-free: Use correct values
58573         for EXIT_MATCH and EXIT_NO_MATCH.
58574
58575         * build-aux/useless-if-before-free: Close stdout carefully.
58576
58577 2008-02-10  Bruno Haible  <bruno@clisp.org>
58578
58579         New module 'git-merge-changelog'.
58580         * modules/git-merge-changelog: New file.
58581         * lib/git-merge-changelog.c: New file.
58582
58583 2008-02-10  Jim Meyering  <meyering@redhat.com>
58584
58585         useless-if-before-free: New option: --list (-l).
58586
58587         useless-if-before-free: Don't exit immediately upon open failure.
58588         * build-aux/useless-if-before-free: Exit 2 for errors.
58589         Upon failure to open a file, don't exit immediately.
58590         Rather, just warn and continue with any remaining files.
58591
58592 2008-02-10  Bruno Haible  <bruno@clisp.org>
58593
58594         New abstract list operation 'node_set_value'.
58595         * lib/gl_list.h (gl_list_node_set_value): New function.
58596         (struct gl_list_implementation): New field node_set_value.
58597         * lib/gl_list.c (gl_list_node_set_value): New function.
58598         * lib/gl_array_list.c (gl_array_node_set_value): New function.
58599         (gl_array_list_implementation): Update.
58600         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
58601         (gl_carray_list_implementation): Update.
58602         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
58603         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58604         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58605         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
58606         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58607         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58608         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58609         Update.
58610         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58611         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
58612         (gl_sublist_list_implementation): Update.
58613
58614 2008-02-10  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
58617         Needed when ELEMENT is #defined to 'some_type *'.
58618
58619 2008-02-10  Jim Meyering  <meyering@redhat.com>
58620
58621         New script and module: useless-if-before-free
58622         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
58623         * build-aux/useless-if-before-free: New file.
58624         * modules/useless-if-before-free: New file.
58625
58626         * build-aux/gitlog-to-changelog: Use committer date, not author date.
58627
58628         xstrtol_error: Fix typo.
58629         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
58630         s/exit_failure/exit_status/.
58631
58632 2008-02-09  Jim Meyering  <meyering@redhat.com>
58633
58634         New script and module: gitlog-to-changelog
58635         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
58636         * modules/gitlog-to-changelog: New file.
58637         * build-aux/gitlog-to-changelog: New file.
58638
58639 2008-02-08  Jim Meyering  <meyering@redhat.com>
58640
58641         Avoid two "parameter unused" warnings.
58642         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
58643         Mark "st" as used.
58644
58645         Use "git COMMAND", not "git-COMMAND".
58646         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
58647         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
58648         * build-aux/git-version-gen: Use "git status", not "git-status".
58649
58650 2008-02-07  Bruno Haible  <bruno@clisp.org>
58651
58652         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
58653         Avoids a crash on Windows Vista.
58654         Reported by Adam Strzelecki <ono@java.pl> via
58655         Simon Josefsson <simon@josefsson.org>.
58656
58657 2008-02-06  Bruno Haible  <bruno@clisp.org>
58658
58659         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
58660         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
58661         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
58662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
58663         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58664         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58665         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
58666         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
58667         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58668         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58669         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58670         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58671         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58672         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58673         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58674         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
58675         left-adjust flag.
58676         * tests/test-snprintf-posix.h (test_function): Likewise.
58677         * tests/test-sprintf-posix.h (test_function): Likewise.
58678         * tests/test-vasprintf-posix.c (test_function): Likewise.
58679         * doc/posix-functions/fprintf.texi: Update.
58680         * doc/posix-functions/printf.texi: Update.
58681         * doc/posix-functions/snprintf.texi: Update.
58682         * doc/posix-functions/sprintf.texi: Update.
58683         * doc/posix-functions/vfprintf.texi: Update.
58684         * doc/posix-functions/vprintf.texi: Update.
58685         * doc/posix-functions/vsnprintf.texi: Update.
58686         * doc/posix-functions/vsprintf.texi: Update.
58687         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58688
58689 2008-02-06  Bruno Haible  <bruno@clisp.org>
58690
58691         Fix bug introduced on 2008-01-26.
58692         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
58693
58694 2008-02-06  Bruno Haible  <bruno@clisp.org>
58695
58696         Fix bug introduced on 2007-06-10.
58697         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
58698         !NEED_PRINTF_FLAG_ZERO.
58699
58700 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
58701
58702         getloadavg: use libperfstat on AIX5
58703         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
58704
58705 2008-02-03  Bruno Haible  <bruno@clisp.org>
58706
58707         * lib/diffseq.h: Add comments about required #includes.
58708         Reported by Michael Biggs <gnulib@doubleplum.net>.
58709
58710 2008-02-01  Bruno Haible  <bruno@clisp.org>
58711
58712         * users.txt: Add gnuit.
58713
58714 2008-01-31  Bruno Haible  <bruno@clisp.org>
58715
58716         * lib/md4.c (set_uint32): Mark as inline.
58717         * lib/md5.c (set_uint32): Likewise.
58718         * lib/sha1.c (set_uint32): Likewise.
58719         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
58720         * m4/md5.m4 (gl_MD5): Likewise.
58721         * m4/sha1.m4 (gl_SHA1): Likewise.
58722
58723 2008-01-31  Jim Meyering  <meyering@redhat.com>
58724
58725         Use "sizeof VAR", rather than a literal "4".
58726         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
58727         * lib/md4.c (md4_read_ctx): Likewise.
58728         * lib/sha1.c (sha1_read_ctx): Likewise.
58729
58730 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58731
58732         * tests/test-sha1.c: New file, based on test-md5.c.
58733
58734         * modules/crypto/sha1-tests: New file.
58735
58736 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58737
58738         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
58739
58740 2008-01-31  Jim Meyering  <meyering@redhat.com>
58741
58742         Prefer "sizeof v" over the equivalent "4".
58743         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
58744         * lib/md5.c (set_uint32): Likewise.
58745         * lib/sha1.c (set_uint32): Likewise.
58746
58747 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58748
58749         * lib/sha1.c (set_uint32): Mark function as static.
58750
58751 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58752
58753         md2: clarify comments to say that alignment is not required.
58754         * lib/md2.h: Remove warning about alignment in comment.
58755         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
58756         never been required.
58757
58758 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58759
58760         md4: adapt alignment constraint fix from sha1.
58761         * lib/md4.c (set_uint32): New function, from sha1.c
58762         (md4_read_ctx): Use it.
58763         (md4_finish_ctx): Doc fix.
58764         * lib/md4.h: Doc fix.
58765
58766 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58767
58768         md5: adapt alignment constraint fix from sha1.
58769         * lib/md5.c (set_uint32): New function, from sha1.c
58770         (md5_read_ctx): Use it.
58771         (md5_finish_ctx): Doc fix.
58772         * lib/md5.h: Doc fix.
58773
58774 2008-01-30  Peter Palfrader  <weasel@debian.org>
58775
58776         sha1: remove the result buffer alignment constraint
58777         * lib/sha1.c (set_uint32): New function.
58778         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58779         constraint.
58780         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58781         * lib/sha1.h: Likewise.
58782
58783 2008-01-30  Andreas Schwab  <schwab@suse.de>
58784             Bruno Haible  <bruno@clisp.org>
58785
58786         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58787         correct definition of LDBL_MIN_EXP.
58788
58789 2008-01-30  Karl Berry  <karl@gnu.org>
58790
58791         * config/srclist-update: try to preserve x bit on updates.
58792         * config/srclistvars.sh: update for karl.
58793
58794 2008-01-29  Jim Meyering  <meyering@redhat.com>
58795
58796         vasnprintf.c: Avoid warning about unused label
58797         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58798         "overflow" label definition and associated code with the
58799         same cpp condition that guards the sole use of that label.
58800
58801 2008-01-26  Bruno Haible  <bruno@clisp.org>
58802
58803         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58804         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58805         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58806         * lib/isnanl-nolibm.h (isnanl): Likewise.
58807         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58808
58809 2008-01-26  Bruno Haible  <bruno@clisp.org>
58810
58811         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58812         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58813
58814 2008-01-26  Bruno Haible  <bruno@clisp.org>
58815
58816         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58817         GCC >= 4.0 built-in.
58818         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58819
58820 2008-01-26  Bruno Haible  <bruno@clisp.org>
58821
58822         Rename isnan, applicable to 'double' only, to isnand.
58823         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58824         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58825         (configure.ac): Update.
58826         (Include): Replace "isnan.h" with "isnand.h".
58827         * m4/isnand.m4: Renamed from m4/isnan.m4.
58828         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58829         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58830         instead of isnan.c.
58831         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58832         instead of HAVE_ISNAN_IN_LIBC.
58833         (isnand): Renamed from isnan.
58834         * lib/isnand.c: New file.
58835         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58836         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58837         (Makefile.am): Update.
58838         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58839         Include isnand.h instead of isnan.h.
58840         (main): Test isnand instead of isnan.
58841         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58842         isnan-nolibm.
58843         * modules/frexp (Depends-on): Likewise.
58844         * modules/frexp-tests (Depends-on): Likewise.
58845         * modules/frexp-nolibm (Depends-on): Likewise.
58846         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58847         * modules/isfinite (Depends-on): Likewise.
58848         * modules/round-tests (Depends-on): Likewise.
58849         * modules/signbit (Depends-on): Likewise.
58850         * modules/signbit-tests (Depends-on): Likewise.
58851         * modules/snprintf-posix (Depends-on): Likewise.
58852         * modules/sprintf-posix (Depends-on): Likewise.
58853         * modules/trunc-tests (Depends-on): Likewise.
58854         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58855         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58856         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58857         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58858         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58859         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58860         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58861         * modules/vasnprintf-posix (Depends-on): Likewise.
58862         * modules/vasprintf-posix (Depends-on): Likewise.
58863         * modules/vfprintf-posix (Depends-on): Likewise.
58864         * modules/vsnprintf-posix (Depends-on): Likewise.
58865         * modules/vsprintf-posix (Depends-on): Likewise.
58866         * lib/frexp.c: Include isnand.h instead of isnan.h.
58867         (ISNAN): Set to isnand instead of isnan.
58868         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58869         (gl_isfinited): Use isnand instead of isnan.
58870         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58871         (gl_signbitd): Use isnand instead of isnan.
58872         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58873         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58874         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58875         (main): Use isnand instead of isnan.
58876         * tests/test-round1.c: Include isnand.h.
58877         (main): Use isnand instead of isnan.
58878         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58879         (ISNAN): Set to isnand instead of isnan.
58880         * tests/test-trunc1.c: Include isnand.h.
58881         (main): Use isnand instead of isnan.
58882         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58883         (equal): Use isnand instead of isnan.
58884         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58885         isnand-nolibm.
58886         * NEWS: Mention the change.
58887
58888 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58889             Bruno Haible  <bruno@clisp.org>
58890
58891         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58892         the GCC builtins for signbits are present and set
58893         REPLACE_SIGNBIT_USING_GCC if so.
58894         * lib/math.in.h (signbit): Define using GCC builtins if
58895         REPLACE_SIGNBIT_USING_GCC is set.
58896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58897         REPLACE_SIGNBIT_USING_GCC.
58898         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58899
58900 2008-01-25  Jim Meyering  <meyering@redhat.com>
58901
58902         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58903         * lib/poll.c: Include <config.h>, not "config.h".
58904         * tests/test-getaddrinfo.c: Likewise.
58905
58906 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58907
58908         * modules/sockets-tests: New file.
58909
58910 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58911
58912         * modules/sockets: New module, can be used to call WSA_Startup and
58913         WSA_Cleanup when needed.
58914
58915         * lib/sockets.h, lib/sockets.c: New files.
58916
58917         * m4/sockets.m4: New file.
58918
58919         * tests/test-sockets.c: New file.
58920
58921 2008-01-19  Bruno Haible  <bruno@clisp.org>
58922
58923         * doc/posix-headers: Renamed from doc/headers.
58924         * doc/posix-functions: Renamed from doc/functions.
58925         * doc/gnulib.texi: Update.
58926
58927 2008-01-19  Bruno Haible  <bruno@clisp.org>
58928
58929         * doc/glibc-functions/strcasestr.texi: Include contents of
58930         doc/functions/strcasestr.texi, fixing the list of platforms.
58931         * doc/functions/strcasestr.texi: Remove file.
58932
58933 2008-01-19  Bruno Haible  <bruno@clisp.org>
58934
58935         * doc/glibc-functions/memmem.texi: Include contents of
58936         doc/functions/memmem.texi.
58937         * doc/functions/memmem.texi: Remove file.
58938
58939 2008-01-18  Bruno Haible  <bruno@clisp.org>
58940
58941         * doc/glibc-functions/*.texi: New files.
58942         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58943         to use the new files.
58944
58945 2008-01-17  Bruno Haible  <bruno@clisp.org>
58946
58947         * tests/test-gethostname.c (main): Fix printf statement.
58948
58949 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58950
58951         * modules/gethostname-tests: New file.
58952
58953         * tests/test-gethostname.c: New file.
58954
58955 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58956
58957         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58958         used by the UNAME case.  Reported by Bruno Haible
58959         <bruno@clisp.org>.
58960
58961 2008-01-17  Eric Blake  <ebb9@byu.net>
58962
58963         Convert c-strcasestr to be more efficient.
58964         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58965         (Depends-on): Add c-strcase, remove malloca, strnlen.
58966         * tests/test-c-strcasestr.c (main): Enhance test.
58967         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58968
58969 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58970
58971         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58972         Use it in creating po/Makevars.
58973
58974 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58975
58976         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58977         Applications that requires it should initialize libgcrypt
58978         manually.
58979
58980 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58981
58982         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58983
58984 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58985
58986         Fix problem with getdate on mingw32 reported by Simon Josefsson
58987         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58988         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58989         tzname", when deciding whether to declare tzname.
58990         * lib/strftime.c (tzname): Likewise.
58991
58992 2008-01-15  Bruno Haible  <bruno@clisp.org>
58993
58994         Work around a MacOS X 10.5 bug in frexpl().
58995         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58996         * doc/functions/frexpl.texi: Document the bug.
58997         Reported by Elias Pipping <pipping@gentoo.org>.
58998
58999 2008-01-14  Eric Blake  <ebb9@byu.net>
59000
59001         Touch up previous patch.
59002         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59003         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59004
59005         Convert strcasestr module to use Two-Way algorithm.
59006         * modules/strcasestr-simple: New module, based on the old
59007         strcasestr, but with Two-Way rather than KMP.
59008         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59009         * lib/string.in.h (rpl_strcasestr): Declare.
59010         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59011         performance.
59012         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59013         * modules/string (Makefile.am): Support strcasestr.
59014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59015         * modules/strcasestr-tests (Depends-on): Check for alarm.
59016         * tests/test-strcasestr.c: Augment test.
59017         * lib/str-two-way.h: Clean up stray macro.
59018         * NEWS: Document new module.
59019         * MODULES.html.sh (string handling): Likewise.
59020         * doc/functions/strcasestr.texi: New file.
59021         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59022         here, since it is not a POSIX function.
59023
59024 2008-01-14  Colin Watson  <cjwatson@debian.org>
59025             Bruno Haible  <bruno@clisp.org>
59026
59027         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59028         works fine; if not, set REPLACE_STRSIGNAL.
59029         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59030         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59031         REPLACE_STRSIGNAL.
59032         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59033         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59034         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59035
59036 2008-01-14  Bruno Haible  <bruno@clisp.org>
59037
59038         * modules/strsignal (Include): Change to <string.h>.
59039
59040 2008-01-14  Colin Watson  <cjwatson@debian.org>
59041
59042         * modules/argp (Notice): Add a notice recommending to change
59043         XGETTEXT_OPTIONS.
59044         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59045
59046 2008-01-13  Colin Watson  <cjwatson@debian.org>
59047
59048         * modules/strsignal-tests: New file.
59049         * tests/test-strsignal.c: New file.
59050
59051         * lib/strsignal.c: New file, from glibc with modifications.
59052         * lib/siglist.h: New file, from glibc with modifications.
59053         * lib/string.in.h (strsignal): New declaration.
59054         * m4/strsignal.m4: New file.
59055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59056         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59057         * modules/strsignal: New file.
59058         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59059         HAVE_DECL_STRSIGNAL.
59060
59061 2008-01-13  Bruno Haible  <bruno@clisp.org>
59062
59063         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59064         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59065         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59066         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59067
59068 2008-01-13  Bruno Haible  <bruno@clisp.org>
59069
59070         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59071         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59072         * lib/argp.h (__attribute__): Likewise.
59073         * lib/c-stack.c (__attribute__): Likewise.
59074         * lib/error.h (__attribute__): Likewise.
59075         * lib/fts.c (__attribute__): Likewise.
59076         * lib/openat.h (__attribute__): Likewise.
59077         * lib/stdio.in.h (__attribute__): Likewise.
59078         * lib/string.in.h (__attribute__): Likewise.
59079         * lib/utimens.c (__attribute__): Likewise.
59080         * lib/vasnprintf.h (__attribute__): Likewise.
59081         * lib/xalloc.h (__attribute__): Likewise.
59082         * lib/xprintf.h (__attribute__): Likewise.
59083         * lib/xstrtol.h (__attribute__): Likewise.
59084         * lib/xvasprintf.h (__attribute__): Likewise.
59085
59086 2008-01-12  Bruno Haible  <bruno@clisp.org>
59087
59088         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59089         * doc/glibc-headers/a.out.texi: New file.
59090         * doc/glibc-headers/aliases.texi: New file.
59091         * doc/glibc-headers/alloca.texi: New file.
59092         * doc/glibc-headers/ar.texi: New file.
59093         * doc/glibc-headers/argp.texi: New file.
59094         * doc/glibc-headers/argz.texi: New file.
59095         * doc/glibc-headers/byteswap.texi: New file.
59096         * doc/glibc-headers/crypt.texi: New file.
59097         * doc/glibc-headers/endian.texi: New file.
59098         * doc/glibc-headers/envz.texi: New file.
59099         * doc/glibc-headers/err.texi: New file.
59100         * doc/glibc-headers/error.texi: New file.
59101         * doc/glibc-headers/execinfo.texi: New file.
59102         * doc/glibc-headers/fpu_control.texi: New file.
59103         * doc/glibc-headers/fstab.texi: New file.
59104         * doc/glibc-headers/fts.texi: New file.
59105         * doc/glibc-headers/getopt.texi: New file.
59106         * doc/glibc-headers/ieee754.texi: New file.
59107         * doc/glibc-headers/ifaddrs.texi: New file.
59108         * doc/glibc-headers/libintl.texi: New file.
59109         * doc/glibc-headers/mcheck.texi: New file.
59110         * doc/glibc-headers/mntent.texi: New file.
59111         * doc/glibc-headers/obstack.texi: New file.
59112         * doc/glibc-headers/paths.texi: New file.
59113         * doc/glibc-headers/printf.texi: New file.
59114         * doc/glibc-headers/pty.texi: New file.
59115         * doc/glibc-headers/resolv.texi: New file.
59116         * doc/glibc-headers/shadow.texi: New file.
59117         * doc/glibc-headers/sysexits.texi: New file.
59118         * doc/glibc-headers/ttyent.texi: New file.
59119
59120 2008-01-12  Jim Meyering  <meyering@redhat.com>
59121
59122         announce-gen: emit Gnulib's git-based version string.
59123         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59124         New option --gnulib-version=V, where V is expected to be
59125         the output of running git describe in the gnulib directory.
59126         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59127         not useful, and plan to stop publishing an xdelta file with each
59128         coreutils release.
59129
59130         * build-aux/announce-gen: Also check for lzma-compressed files.
59131
59132 2008-01-11  Bruno Haible  <bruno@clisp.org>
59133
59134         * tests/test-memmem.c (main): Increase maximum allowed time.
59135         * tests/test-strstr.c (main): Likewise.
59136
59137 2008-01-11  Bruno Haible  <bruno@clisp.org>
59138
59139         * doc/functions/memmem.texi: Add more precisions about platforms.
59140         * doc/functions/strstr.texi: Likewise.
59141
59142 2008-01-10  Eric Blake  <ebb9@byu.net>
59143
59144         * m4/strstr.m4: Delete cruft from copy-n-paste.
59145         Reported by Bruno Haible.
59146
59147 2008-01-10  Bruno Haible  <bruno@clisp.org>
59148
59149         Make c-strstr rely on strstr.
59150         * lib/c-strstr.c: Don't include str-kmp.h.
59151         (c_strstr): Define in terms of strstr.
59152         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59153         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59154
59155 2008-01-10  Bruno Haible  <bruno@clisp.org>
59156
59157         * doc/gnulib.texi (String Functions in C Locale): New section.
59158         * doc/c-ctype.texi: New file.
59159         * doc/c-strcase.texi: New file.
59160         * doc/c-strcaseeq.texi: New file.
59161         * doc/c-strcasestr.texi: New file.
59162         * doc/c-strstr.texi: New file.
59163         * doc/c-strtod.texi: New file.
59164         * doc/c-strtold.texi: New file.
59165
59166 2008-01-10  Eric Blake  <ebb9@byu.net>
59167
59168         * lib/relocatable.h: Fix a comment.
59169
59170 2008-01-10  Eric Blake  <ebb9@byu.net>
59171
59172         Share two-way algorithm.
59173         * lib/str-two-way.h: New file, merged from...
59174         * lib/memmem.c: ...here...
59175         * lib/strstr.c: ...and here.
59176         * modules/memmem (Files): Use it.
59177         * modules/strstr (Files): Likewise.
59178
59179         Avoid quadratic strstr implementations.
59180         * lib/strstr.c: New file.
59181         * m4/strstr.m4: Likewise.
59182         * modules/strstr: Likewise.
59183         * modules/strstr-tests: Likewise.
59184         * tests/test-strstr.c: Likewise.
59185         * lib/string.in.h (rpl_strstr): Declare.
59186         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59188         * modules/string (Makefile.am): Likewise.
59189         * MODULES.html.sh (string handling): Mention new module.
59190         * doc/functions/strstr.texi (strstr): Document the bug.
59191
59192 2008-01-10  Bruno Haible  <bruno@clisp.org>
59193
59194         * lib/relocatable.h (relocate): State whether result is freshly
59195         allocated or not.
59196         * lib/relocatable.c (relocate): Return a freshly allocated string
59197         instead of a pointer to a privately held string.
59198         Reported by Sylvain Beucler <beuc@gnu.org>.
59199
59200 2008-01-10  Colin Watson  <cjwatson@debian.org>
59201
59202         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59203         s/S_ISNLK/S_ISLNK/.
59204
59205 2008-01-09  Bruno Haible  <bruno@clisp.org>
59206
59207         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59208         and other files.
59209         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59210         if it's only a guess.
59211         * modules/memmem: Simplify by depending on memmem-simple.
59212
59213 2008-01-09  Bruno Haible  <bruno@clisp.org>
59214
59215         Work around OpenBSD 4.0 tdelete() bug.
59216         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59217         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59218         macros and don't redefine the enum values.
59219         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59220         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59221         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59222
59223 2008-01-09  Bruno Haible  <bruno@clisp.org>
59224
59225         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59226         (main): Don't perform the tests if setlocale did not install a UTF-8
59227         locale. Needed on OpenBSD 4.0.
59228         * modules/wcwidth-tests (Depends-on): Add localcharset.
59229
59230 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59231
59232         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
59233         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
59234         * NEWS: announce this.
59235         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
59236
59237 2008-01-09  Simon Josefsson  <simon@josefsson.org>
59238         and Eric Blake  <ebb9@byu.net>
59239
59240         Add memmem-simple module.
59241         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
59242         (gl_FUNC_MEMMEM): Separate performance from presence checks.
59243         * modules/memmem-simple: New file.
59244         * modules/memmem (Description): Tweak.
59245         * MODULES.html.sh (string handling): Mention new module.
59246         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
59247         addressed by memmem-simple.
59248         * NEWS: Document the difference.
59249
59250 2008-01-09  Eric Blake  <ebb9@byu.net>
59251
59252         Give gcc some memmem optimization hints.
59253         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
59254         (strcasestr): Declare as pure.
59255         * modules/memmem (Maintainer): Claim my implementation.
59256
59257 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59258
59259         Support AIX 6.1 and higher.
59260         * build-aux/config.libpath: Likewise.
59261         * build-aux/config.rpath: Likewise.
59262
59263 2008-01-08  Jim Meyering  <meyering@redhat.com>
59264             Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59267         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59268         Reported by Peter Fales in
59269         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59270
59271 2008-01-08  Bruno Haible  <bruno@clisp.org>
59272
59273         * modules/unictype/category-of (Depends-on): Add
59274         unictype/category-none.
59275         * modules/unictype/category-and-tests (Depends-on): Add
59276         unictype/category-{L,N,Lu,Nd}.
59277         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59278         * modules/unictype/category-or-tests (Depends-on): Add
59279         unictype/category-{L,N}.
59280         * modules/unictype/category-name-tests (Depends-on): Add
59281         unictype/category-{Z,Nl}.
59282         Reported by Simon Josefsson.
59283
59284 2008-01-08  Bruno Haible  <bruno@clisp.org>
59285
59286         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59287         convention better.
59288         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59289         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59290         Reported by Peter Miller <millerp@canb.auug.org.au>.
59291
59292 2008-01-08  Eric Blake  <ebb9@byu.net>
59293
59294         Rewrite memmem to guarantee linear complexity without malloc.
59295         * lib/memmem.c (memmem): Use Two-Way rather than
59296         Knuth-Morris-Pratt, to allow O(1) space usage.
59297         (critical_factorization, two_way_short_needle)
59298         (two_way_long_needle): New functions.
59299         (knuth_morris_pratt): Delete.
59300         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59301         Add stdint.
59302         * tests/test-memmem.c (main): Add tests for periodic needle and
59303         sublinear performance.
59304         * doc/functions/memmem.texi (memmem): Document other deficiencies
59305         in cygwin and older glibc.
59306
59307 2008-01-08  Bruno Haible  <bruno@clisp.org>
59308
59309         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59310         augmentation.
59311
59312 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59313
59314         Add a configure time option: --disable-acl.
59315         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59316         AC_ARG_ENABLE(acl).
59317
59318 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59319
59320         * tests/test-localename.c: Don't include obsolete "setenv.h".
59321
59322         * modules/localename-tests (Depends-on): Need unsetenv.
59323
59324 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59325
59326         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59327
59328 2008-01-06  Colin Watson  <cjwatson@debian.org>
59329
59330         * users.txt: Add man-db.
59331
59332 2008-01-07  Bruno Haible  <bruno@clisp.org>
59333
59334         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59335         previous section name.
59336
59337 2008-01-07  Bruno Haible  <bruno@clisp.org>
59338
59339         * lib/progname.c (set_program_name): Don't strip off a leading
59340         "lt-" prefix outside a .libs directory.
59341         Suggested by Paul Eggert.
59342
59343 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59344             Bruno Haible  <bruno@clisp.org>
59345
59346         Improve memory cleanup in 'relocatable' module.
59347         * lib/relocatable.h (compute_curr_prefix): Change return type to
59348         'char *'.
59349         * lib/relocatable.c (compute_curr_prefix): Change return type to
59350         'char *'. Free curr_installdir after use.
59351         (relocate): Free curr_prefix_better after use.
59352         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59353
59354 2008-01-01  Bruno Haible  <bruno@clisp.org>
59355
59356         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59357         failure on older glibc systems.
59358         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59359
59360 2008-01-05  Eric Blake  <ebb9@byu.net>
59361
59362         Avoid quadratic system memmem.
59363         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59364         Reported by Ralf Wildenhues.
59365
59366         Fix memmem test for mingw.
59367         * modules/memmem-tests (configure.ac): Check for alarm.
59368         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59369         it.
59370         * doc/functions/memmem.texi: New file.
59371         * doc/gnulib.texi (Function Substitutes): Add memmem.
59372         Reported by Bruno Haible.
59373
59374 2008-01-04  Bruno Haible  <bruno@clisp.org>
59375
59376         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59377         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59378         gl_HEADER_STRING_H_DEFAULTS.
59379
59380 2008-01-04  Eric Blake  <ebb9@byu.net>
59381
59382         Shorten duration of memmem test.
59383         * tests/test-memmem.c (main): Use alarm to declare failure if test
59384         is taking too long.
59385         Reported by Ralf Wildenhues.
59386
59387 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59388
59389         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59390         string, needed by strerror.
59391
59392 2008-01-03  Colin Watson  <cjwatson@debian.org>
59393             Bruno Haible  <bruno@clisp.org>
59394
59395         * doc/gnulib-tool.texi (Localization): New section.
59396
59397 2008-01-02  Bruno Haible  <bruno@clisp.org>
59398
59399         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59400         variables to 'unsigned char *' type.
59401         Reported by Paul Eggert.
59402
59403 2008-01-02  Jim Meyering  <jim@meyering.net>
59404
59405         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59406
59407 2007-12-31  Jim Meyering  <jim@meyering.net>
59408
59409         Avoid use of private FTS type name.
59410         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59411
59412 2007-12-30  Karl Berry  <karl@gnu.org>
59413
59414         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59415         work around defect in Texinfo and/or the standalone Info browser.
59416
59417 2007-12-30  Bruno Haible  <bruno@clisp.org>
59418
59419         Unify 5 copies of the KMP code.
59420         * lib/str-kmp.h: New file.
59421         * lib/c-strcasestr.c: Include str-kmp.h.
59422         (knuth_morris_pratt): Remove function.
59423         (c_strcasestr): Update.
59424         * lib/c-strstr.c: Include str-kmp.h.
59425         (knuth_morris_pratt): Remove function.
59426         (c_strcasestr): Update.
59427         * lib/mbscasestr.c: Include str-kmp.h.
59428         (knuth_morris_pratt_unibyte): Remove function.
59429         * lib/mbsstr.c: Include str-kmp.h.
59430         (knuth_morris_pratt_unibyte): Remove function.
59431         * lib/strcasestr.c: Include str-kmp.h.
59432         (knuth_morris_pratt): Remove function.
59433         (strcasestr): Update.
59434         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59435         * modules/c-strstr (Files): Likewise.
59436         * modules/mbscasestr (Files): Likewise.
59437         * modules/mbsstr (Files): Likewise.
59438         * modules/strcasestr (Files): Likewise.
59439         Suggested by Paul Eggert.
59440
59441 2007-12-30  Bruno Haible  <bruno@clisp.org>
59442
59443         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59444         defined.
59445
59446 2007-12-30  Bruno Haible  <bruno@clisp.org>
59447
59448         * lib/xmalloca.h: Include xalloc.h.
59449         (xnmalloca): New macro.
59450
59451 2007-12-30  Bruno Haible  <bruno@clisp.org>
59452
59453         * lib/malloca.h (nmalloca): New macro.
59454         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59455         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59456         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59457         knuth_morris_pratt_multibyte): Likewise.
59458         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59459         knuth_morris_pratt_multibyte): Likewise.
59460         * lib/memmem.c (knuth_morris_pratt): Likewise.
59461         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59462
59463 2007-12-25  Bruno Haible  <bruno@clisp.org>
59464
59465         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59466         * lib/glob.c: Don't include openat.h.
59467         (link_exists2_p): Add back the code that deals with the
59468         !GLOB_ALTDIRFUNC case.
59469         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59470         let it do the filename concatenation.
59471         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59472         * modules/glob (Depends-on): Remove openat.
59473
59474 2007-12-31  Bruno Haible  <bruno@clisp.org>
59475
59476         * modules/dirfd (License): Change to LGPLv2+.
59477         Approved by Jim Meyering.
59478
59479 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59480
59481         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59482         when multiplying M by sizeof (size_t).
59483
59484 2007-12-10  Martin Lambers  <marlam@marlam.de>
59485
59486         Override getpagesize on mingw.
59487         * lib/getpagesize.c: New file.
59488         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59489         * modules/getpagesize (Files): Add lib/getpagesize.c.
59490         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59492         REPLACE_GETPAGESIZE.
59493         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59494
59495 2007-12-25  Bruno Haible  <bruno@clisp.org>
59496
59497         * modules/localcharset (Notice): New field.
59498         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59499         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59500
59501 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59502             Bruno Haible  <bruno@clisp.org>
59503
59504         Avoid using the syntax symbol() in formatted documentation.
59505         * MODULES.html.sh (func_module): When replacing symbol() with a
59506         hyperlink, remove the parentheses. Show an error if some remain.
59507         Recognize and render the '...' syntax.
59508         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59509         Rework. Add paragraph about GCC's inlining.
59510         * doc/alloca.texi: Likewise.
59511         * doc/error.texi: Remove parentheses from symbol reference.
59512         * doc/gnulib-intro.texi: Likewise.
59513         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59514         * modules/fnmatch (Description): Reword to say "the ... function".
59515         * modules/full-read (Description): Likewise.
59516         * modules/full-write (Description): Likewise.
59517         * modules/safe-read (Description): Likewise.
59518         * modules/safe-write (Description): Likewise.
59519         * modules/strchrnul (Description): Likewise.
59520         * modules/trim (Description): Likewise.
59521         * modules/error (Description): Remove parentheses from symbol
59522         references.
59523         * modules/verror (Description): Likewise.
59524         Reported by Karl Berry.
59525
59526 2007-12-25  Bruno Haible  <bruno@clisp.org>
59527
59528         Fixup after 2007-10-16 commit.
59529         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59530
59531 2007-12-24  Bruno Haible  <bruno@clisp.org>
59532
59533         Make --enable-relocatable work with DESTDIR.
59534         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59535         to compute installdir from destprog.
59536         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59537         also set the RELOC_DESTDIR variable.
59538         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59539
59540 2007-12-24  Bruno Haible  <bruno@clisp.org>
59541
59542         Fix link error due to xalloc_die().
59543         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59544         of xreadlink.
59545         * lib/relocwrapper.c: Update comments.
59546         * build-aux/install-reloc: Remove xreadlink.c from file list.
59547         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59548         xreadlink.c.
59549         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59550
59551 2007-12-24  Bruno Haible  <bruno@clisp.org>
59552
59553         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59554         * lib/setenv.h: Remove file.
59555         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59556         lib/setenv.h.
59557         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59558         (Depends-on): Add stdlib.
59559         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59560         gl_FUNC_UNSETENV.
59561         (Include): Replace setenv.h with <stdlib.h>.
59562         * modules/unsetenv: New file.
59563         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
59564         * lib/unsetenv.c: Include <stdlib.h> first.
59565         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
59566         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
59567         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
59568         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
59569         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
59570         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59571         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
59572         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59573         * doc/functions/unsetenv.texi: Update.
59574         * modules/xsetenv (Depends-on): Add unsetenv.
59575         * modules/getdate (Depends-on): Likewise.
59576         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
59577         * lib/xsetenv.c: Don't include setenv.h.
59578         * lib/getdate.y: Likewise.
59579         * lib/relocwrapper.c: Likewise.
59580         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
59581         (Depends-on): Add stdlib.
59582         * NEWS: Mention the changes.
59583         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59584
59585 2007-12-23  Bruno Haible  <bruno@clisp.org>
59586
59587         * lib/memmem.c (memmem): Use lowercase variable names. Tab
59588         indentation.
59589
59590 2007-12-23  Bruno Haible  <bruno@clisp.org>
59591
59592         * lib/c-strcasestr.c: Add more comments.
59593         * lib/c-strstr.c: Likewise.
59594         * lib/mbscasestr.c: Likewise.
59595         * lib/mbsstr.c: Likewise.
59596         * lib/strcasestr.c: Likewise.
59597         * lib/memmem.c: Likewise.
59598
59599 2007-12-23  Bruno Haible  <bruno@clisp.org>
59600
59601         * tests/test-memmem.c: Include <string.h> first.
59602
59603 2007-12-22  Bruno Haible  <bruno@clisp.org>
59604
59605         * gnulib-tool (func_create_testdir): Change $auxdir while generating
59606         the contents of $testsbase.
59607         Reported by Ralf Wildenhues.
59608
59609 2007-12-22  Bruno Haible  <bruno@clisp.org>
59610
59611         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
59612         two variables local_ldadd_before, local_ldadd_last.
59613
59614 2007-12-20  Eric Blake  <ebb9@byu.net>
59615
59616         Work around circular library issue when cross-compiling.
59617         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
59618         that progname.o does not need to pull in rpl_memcmp.
59619
59620 2007-12-19  Eric Blake  <ebb9@byu.net>
59621
59622         Fix memmem to avoid O(n^2) worst-case complexity.
59623         * lib/memmem.c (knuth_morris_pratt): New function.
59624         (memmem): Use it if first few naive iterations fail.
59625         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
59626         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
59627         * modules/memchr (License): Likewise.
59628         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
59629         malloca.
59630         * tests/test-memmem.c: Rewrite, borrowing ideas from
59631         test-mbsstr1.c; the old version wouldn't even compile!
59632         * modules/memmem-tests: New file.
59633         * lib/string.in.h (rpl_memmem): Add declaration.
59634         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
59635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
59636         REPLACE_MEMMEM.
59637
59638 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59639
59640         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
59641         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
59642         before any system include files, and undef after them all.  This
59643         should fix a problem on VMS reported by John E. Malmberg in
59644         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
59645
59646 2007-12-17  Eric Blake  <ebb9@byu.net>
59647
59648         Revert addition of verify, for BSD/OS.
59649         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
59650         can't handle large files, for the sake of obsolete platforms.
59651         * modules/fseeko (Depends-on): Remove verify.
59652         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
59653         * doc/functions/ftello.texi (ftello): Likewise.
59654         * doc/functions/fgetpos.texi (fgetpos): Likewise.
59655         Reported by Larry Jones.
59656
59657 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
59658
59659         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
59660         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
59661
59662 2007-12-17  Jim Meyering  <meyering@redhat.com>
59663
59664         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
59665         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
59666         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
59667         * modules/getcwd (Depends-on): Add openat.
59668         Reported by Petr Salinger.
59669
59670 2007-12-17  Bruno Haible  <bruno@clisp.org>
59671
59672         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
59673         avoid a segmentation fault of the configure test on x86_64 systems.
59674
59675 2007-12-15  Jim Meyering  <meyering@redhat.com>
59676
59677         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
59678
59679 2007-12-13  Eric Blake  <ebb9@byu.net>
59680
59681         Another fseek test.
59682         * tests/test-fseek.c (main): Also test ungetc handling.
59683         * tests/test-fseeko.c (main): Likewise.
59684         * modules/fseeko (Depends-on): Add verify.
59685         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
59686         large.
59687         Reported by Larry Jones.
59688
59689         Fix fseeko on mingw.
59690         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
59691         seek.
59692
59693         Beef up fseek tests.
59694         * tests/test-fseek.c (main): Also test eof handling.
59695         * tests/test-fseeko.c (main): Likewise.
59696         Reported by Larry Jones.
59697
59698 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
59699
59700         Fix fseeko on BSD-based platforms.
59701         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
59702         successful seek.
59703
59704 2007-12-12  Eric Blake  <ebb9@byu.net>
59705
59706         Allow circular dependency of separate libtests.a
59707         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
59708         when use_libtests.
59709
59710 2007-12-11  Eric Blake  <ebb9@byu.net>
59711
59712         Fix bug with -0.0L in previous patch.
59713         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
59714         * tests/test-isnan.c (main): Also test on zeroes.
59715         * tests/test-isnanf.c (main): Likewise.
59716         * tests/test-isnanl.h (main): Likewise.
59717
59718         Detect pseudo-denormals on x86 even when cross-compiling.
59719         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
59720         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
59721         invalid bit patterns that happen to satisfy ==.
59722
59723         Avoid link failures with separate libtests.a.
59724         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
59725         last, to satisfy circular dependencies.
59726
59727 2007-12-11  Eric Blake  <ebb9@byu.net>
59728         and Bruno Haible  <bruno@clisp.org>
59729
59730         Fix OpenBSD 4.0 <float.h> handling of long double.
59731         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
59732         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
59733         * doc/headers/float.texi (float.h): Document OpenBSD bug.
59734
59735 2007-12-11  Jim Meyering  <meyering@redhat.com>
59736
59737         * users.txt: Add libvirt.
59738
59739         Support versions of autoconf prior to 2.59c.
59740         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
59741         if it is not already defined.
59742
59743 2007-12-09  Bruno Haible  <bruno@clisp.org>
59744
59745         Let 'gnulib-tool --import' collect sources needed for the tests in
59746         tests/ rather than in lib/.
59747         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
59748         argument. If true, add rules to generate libtests.a, and put libtests.a
59749         into $(LDADD). Consider source files in subdirectories and set
59750         uses_subdirs.
59751         (func_emit_initmacro_start, func_emit_initmacro_end,
59752         func_emit_initmacro_done): Pass all arguments explicitly.
59753         (func_import): Determine two module lists main_modules,
59754         testsrelated_modules. Determine use_libtests. Determine two variables
59755         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
59756         instead of just sed_transform_lib_file. Determine two variables
59757         main_files and testsrelated_files. Compute 'files' as the union of
59758         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
59759         func_add_or_update. In the generated gnulib-comp.m4, collect the
59760         object files for tests/ in different variables than those for lib/.
59761         Substitute LIBTESTS_LIBDEPS.
59762         (func_create_testdir): Combine the uses_subdirs results from
59763         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
59764
59765 2007-12-09  Bruno Haible  <bruno@clisp.org>
59766
59767         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59768         the build-aux directory.
59769
59770 2007-12-09  Bruno Haible  <bruno@clisp.org>
59771
59772         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59773         introduced on 2006-09-09.
59774
59775 2007-12-07  Jim Meyering  <meyering@redhat.com>
59776
59777         Let these macros work also with autoconf-2.59.
59778         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59779         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59780         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59781
59782 2007-12-06  Jim Meyering  <meyering@redhat.com>
59783
59784         Avoid a configure-time syntax error in gl_FUNC_ACL.
59785         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59786         function in each branch, before testing the cache variable.
59787
59788 2007-12-04  Eric Blake  <ebb9@byu.net>
59789
59790         Make scripts executable.
59791         * build-aux/config.guess: Add execute permissions.
59792         * build-aux/config.sub: Likewise.
59793         * build-aux/gendocs.sh: Likewise.
59794
59795         Fix frexp on mingw.
59796         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59797         cross-compiling.
59798         * doc/functions/frexp.texi (frexp): Document the bug.
59799
59800         Make cygwin fseeko check more reliable.
59801         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59802         version numbers, rather than unrelated feature check.
59803         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59804         * doc/functions/ftello.texi (ftello): Likewise.
59805         Reported by Bruno Haible.
59806
59807         * m4/strerror.m4: Bump version number.
59808
59809 2007-12-03  Bruno Haible  <bruno@clisp.org>
59810
59811         * doc/functions/mprotect.texi: Mention the mingw problem.
59812
59813 2007-12-03  Eric Blake  <ebb9@byu.net>
59814
59815         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59816         REPLACE_STRERROR is initialized before this macro.
59817
59818 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59819
59820         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59821         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59822         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59823         put -lsec in even for programs other than 'ls'.  This fixes a problem
59824         for gettext reported by Bruno Haible in
59825         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59826         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59827         Add support for Solaris 10.  This isn't efficient, but should get the
59828         job done for now.
59829
59830 2007-12-03  James Youngman  <jay@gnu.org>
59831
59832         * doc/regexprops-generic.texi: change "an close-group" to "a
59833         close-group" and "illegal" to "not allowed".
59834
59835 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59836
59837         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59838         pr_byname.h. Needed for the rare case when the maintainer has done
59839         "make maintainer-clean" in the source directory and then attempts a
59840         build outside the source directory.
59841         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59842         scripts_byname.h.
59843
59844 2007-12-02  Martin Lambers <marlam@marlam.de>
59845             Bruno Haible  <bruno@clisp.org>
59846
59847         * lib/getpagesize.h: Remove file.
59848         * lib/unistd.in.h: Include declaration of getpagesize here.
59849         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59850         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59851         HAVE_SYS_PARAM_H.
59852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59853         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59854         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59855         (Depends-on): Add unistd.
59856         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59857         (Include): Use <unistd.h> instead of getpagesize.h.
59858         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59859         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59860         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59861         gl_GETPAGESIZE invocation, already handled by module dependency.
59862         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59863
59864 2007-12-02  Bruno Haible  <bruno@clisp.org>
59865
59866         * modules/strings-tests: New file.
59867         * tests/test-strings.c: New file.
59868
59869         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59870         * lib/strings.in.h: New file.
59871         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59872         * m4/strings_h.m4: New file.
59873         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59874         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59875         * modules/strings: New file.
59876         * modules/string (Makefile.am): Update.
59877         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59878         Reported by Karl Berry.
59879
59880 2007-12-01  Eric Blake  <ebb9@byu.net>
59881
59882         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59883         accommodate fix in cygwin 1.5.25.
59884
59885 2007-12-01  Jim Meyering  <meyering@redhat.com>
59886
59887         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59888         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59889         that would inhibit utf8-optimization of a regexp containing line-
59890         or buffer-anchors, e.g., `^', `$'.
59891
59892 2007-11-30  Bruno Haible  <bruno@clisp.org>
59893
59894         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59895         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59896         glthread_recursive_lock_init.
59897         * lib/lock.c (glthread_recursive_lock_init)
59898         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59899         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59900
59901 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59902
59903         New function qset_acl, like set_acl but with syscall semantics.
59904         * lib/acl.h (qset_acl): New decl.
59905         * lib/acl.c (qset_acl): New function.
59906         (set_acl): Use new function.  Use more-consistent diagnostics.
59907
59908 2007-11-28  Jim Meyering  <meyering@redhat.com>
59909
59910         * modules/physmem (License): Change from GPL to LGPLv2+.
59911
59912 2007-11-26  Bruno Haible  <bruno@clisp.org>
59913
59914         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59915         'long double' type has excess precision.
59916         Reported by Jim Meyering in
59917         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59918
59919 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59920
59921         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59922         Sync from <http://gnu.org/licenses>.
59923         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59924         with license text from same location.
59925         * doc/maintain.texi, doc/standards.texi:  Sync from
59926         <http://savannah.gnu.org/projects/gnustandards>.
59927
59928 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59929         and Jim Meyering  <meyering@redhat.com>
59930
59931         Adjust getdate' grammar to accept a slightly more regular language.
59932         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59933         Before, the former was rejected.
59934         * lib/getdate.y (digits_to_date_time): New function, factored
59935         out of ...
59936         (number): ...here.  Just call digits_to_date_time.
59937         (hybrid): New non-terminal to handle an <unsigned number,
59938         signed relative offset> sequence consistently.
59939
59940 2007-11-18  Jim Meyering  <meyering@redhat.com>
59941
59942         Pull my changes from coreutils:
59943         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59944         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59945         use of $gnulib_tool_option_extras, so that it's separated from the
59946         preceding argument.
59947
59948         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59949         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59950         parent destination directories before copying a file into place.
59951
59952 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59953
59954         bootstrap: work also with 4-argument variant of AC_INIT
59955         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59956
59957 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59958
59959         Port test-getaddrinfo to Solaris.
59960         Problem reported by Bruno Haible in
59961         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59962         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59963         explanation of setting 'hints'.
59964         Don't reject an implementation merely because it returns EAI_SERVICE.
59965         (EAI_SERVICE): Define to 0 if not defined.
59966
59967 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59968
59969         The license of gnu-make and posix-shell is now "GPLed build tool".
59970         * modules/gnu-make (License): Likewise.
59971         * modules/posix-shell (License): Likewise.
59972
59973         New module posix-shell, for determining a POSIX shell
59974         or perhaps something that is close enough to a POSIX shell.
59975         * m4/posix-shell.m4: New file.
59976         * modules/posix-shell: New file.
59977
59978         * MODULES.html.sh: Mention new module.
59979
59980         New module gnu-make, for determining whether we're using GNU Make.
59981         * m4/gnu-make.m4: New file.
59982         * modules/gnu-make: New file.
59983         * MODULES.html.sh: Mention new module.
59984
59985 2007-11-14  Jim Meyering  <meyering@redhat.com>
59986
59987         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59988         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59989         use this macro to create a function _definition_.
59990         Remove useless "#undef ARGMATCH_DIE".
59991
59992 2007-11-14  Bruno Haible  <bruno@clisp.org>
59993
59994         * lib/config.charset: Update for OpenBSD 4.1.
59995         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59996
59997 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59998
59999         Document 64-bit #if problems in stdint.texi.
60000         * doc/headers/stdint.texi (stdint.h): Mention problems with
60001         64-bit-#if, and how to work around them.
60002
60003         Don't insist on 'long long int' support in the preprocessor.  It
60004         breaks too many things.  For example, PRIdMAX still uses a 'long
60005         long int' format with the latest Sun compiler, even though
60006         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60007         preprocessor problem.  This causes the latest coreutils to dump
60008         core on Solaris 10 sparc with the Sun C compiler.
60009         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60010         the troublesome expressions at configure-time, not at #if-time.
60011         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60012         preprocessor.
60013         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60014         compile-time C checks, done at 'configure'-time.
60015         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60016         * modules/inttypes (Makefile): Substitute the new symbols that
60017         gl_INTTYPES_H now generates.
60018         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60019
60020 2007-11-12  Bruno Haible  <bruno@clisp.org>
60021
60022         Tests for Unicode character classification functions.
60023
60024         * modules/unictype/bidicategory-byname-tests: New file.
60025         * modules/unictype/bidicategory-name-tests: New file.
60026         * modules/unictype/bidicategory-of-tests: New file.
60027         * modules/unictype/bidicategory-test-tests: New file.
60028         * modules/unictype/block-list-tests: New file.
60029         * modules/unictype/block-of-tests: New file.
60030         * modules/unictype/block-test-tests: New file.
60031         * modules/unictype/category-C-tests: New file.
60032         * modules/unictype/category-Cc-tests: New file.
60033         * modules/unictype/category-Cf-tests: New file.
60034         * modules/unictype/category-Cn-tests: New file.
60035         * modules/unictype/category-Co-tests: New file.
60036         * modules/unictype/category-Cs-tests: New file.
60037         * modules/unictype/category-L-tests: New file.
60038         * modules/unictype/category-Ll-tests: New file.
60039         * modules/unictype/category-Lm-tests: New file.
60040         * modules/unictype/category-Lo-tests: New file.
60041         * modules/unictype/category-Lt-tests: New file.
60042         * modules/unictype/category-Lu-tests: New file.
60043         * modules/unictype/category-M-tests: New file.
60044         * modules/unictype/category-Mc-tests: New file.
60045         * modules/unictype/category-Me-tests: New file.
60046         * modules/unictype/category-Mn-tests: New file.
60047         * modules/unictype/category-N-tests: New file.
60048         * modules/unictype/category-Nd-tests: New file.
60049         * modules/unictype/category-Nl-tests: New file.
60050         * modules/unictype/category-No-tests: New file.
60051         * modules/unictype/category-P-tests: New file.
60052         * modules/unictype/category-Pc-tests: New file.
60053         * modules/unictype/category-Pd-tests: New file.
60054         * modules/unictype/category-Pe-tests: New file.
60055         * modules/unictype/category-Pf-tests: New file.
60056         * modules/unictype/category-Pi-tests: New file.
60057         * modules/unictype/category-Po-tests: New file.
60058         * modules/unictype/category-Ps-tests: New file.
60059         * modules/unictype/category-S-tests: New file.
60060         * modules/unictype/category-Sc-tests: New file.
60061         * modules/unictype/category-Sk-tests: New file.
60062         * modules/unictype/category-Sm-tests: New file.
60063         * modules/unictype/category-So-tests: New file.
60064         * modules/unictype/category-Z-tests: New file.
60065         * modules/unictype/category-Zl-tests: New file.
60066         * modules/unictype/category-Zp-tests: New file.
60067         * modules/unictype/category-Zs-tests: New file.
60068         * modules/unictype/category-and-not-tests: New file.
60069         * modules/unictype/category-and-tests: New file.
60070         * modules/unictype/category-byname-tests: New file.
60071         * modules/unictype/category-name-tests: New file.
60072         * modules/unictype/category-none-tests: New file.
60073         * modules/unictype/category-of-tests: New file.
60074         * modules/unictype/category-or-tests: New file.
60075         * modules/unictype/category-test-withtable-tests: New file.
60076         * modules/unictype/combining-class-tests: New file.
60077         * modules/unictype/ctype-alnum-tests: New file.
60078         * modules/unictype/ctype-alpha-tests: New file.
60079         * modules/unictype/ctype-blank-tests: New file.
60080         * modules/unictype/ctype-cntrl-tests: New file.
60081         * modules/unictype/ctype-digit-tests: New file.
60082         * modules/unictype/ctype-graph-tests: New file.
60083         * modules/unictype/ctype-lower-tests: New file.
60084         * modules/unictype/ctype-print-tests: New file.
60085         * modules/unictype/ctype-punct-tests: New file.
60086         * modules/unictype/ctype-space-tests: New file.
60087         * modules/unictype/ctype-upper-tests: New file.
60088         * modules/unictype/ctype-xdigit-tests: New file.
60089         * modules/unictype/decimal-digit-tests: New file.
60090         * modules/unictype/digit-tests: New file.
60091         * modules/unictype/mirror-tests: New file.
60092         * modules/unictype/numeric-tests: New file.
60093         * modules/unictype/property-alphabetic-tests: New file.
60094         * modules/unictype/property-ascii-hex-digit-tests: New file.
60095         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60096         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60097         * modules/unictype/property-bidi-block-separator-tests: New file.
60098         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60099         * modules/unictype/property-bidi-common-separator-tests: New file.
60100         * modules/unictype/property-bidi-control-tests: New file.
60101         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60102         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60103         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60104         * modules/unictype/property-bidi-european-digit-tests: New file.
60105         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60106         * modules/unictype/property-bidi-left-to-right-tests: New file.
60107         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60108         * modules/unictype/property-bidi-other-neutral-tests: New file.
60109         * modules/unictype/property-bidi-pdf-tests: New file.
60110         * modules/unictype/property-bidi-segment-separator-tests: New file.
60111         * modules/unictype/property-bidi-whitespace-tests: New file.
60112         * modules/unictype/property-byname-tests: New file.
60113         * modules/unictype/property-combining-tests: New file.
60114         * modules/unictype/property-composite-tests: New file.
60115         * modules/unictype/property-currency-symbol-tests: New file.
60116         * modules/unictype/property-dash-tests: New file.
60117         * modules/unictype/property-decimal-digit-tests: New file.
60118         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60119         * modules/unictype/property-deprecated-tests: New file.
60120         * modules/unictype/property-diacritic-tests: New file.
60121         * modules/unictype/property-extender-tests: New file.
60122         * modules/unictype/property-format-control-tests: New file.
60123         * modules/unictype/property-grapheme-base-tests: New file.
60124         * modules/unictype/property-grapheme-extend-tests: New file.
60125         * modules/unictype/property-grapheme-link-tests: New file.
60126         * modules/unictype/property-hex-digit-tests: New file.
60127         * modules/unictype/property-hyphen-tests: New file.
60128         * modules/unictype/property-id-continue-tests: New file.
60129         * modules/unictype/property-id-start-tests: New file.
60130         * modules/unictype/property-ideographic-tests: New file.
60131         * modules/unictype/property-ids-binary-operator-tests: New file.
60132         * modules/unictype/property-ids-trinary-operator-tests: New file.
60133         * modules/unictype/property-ignorable-control-tests: New file.
60134         * modules/unictype/property-iso-control-tests: New file.
60135         * modules/unictype/property-join-control-tests: New file.
60136         * modules/unictype/property-left-of-pair-tests: New file.
60137         * modules/unictype/property-line-separator-tests: New file.
60138         * modules/unictype/property-logical-order-exception-tests: New file.
60139         * modules/unictype/property-lowercase-tests: New file.
60140         * modules/unictype/property-math-tests: New file.
60141         * modules/unictype/property-non-break-tests: New file.
60142         * modules/unictype/property-not-a-character-tests: New file.
60143         * modules/unictype/property-numeric-tests: New file.
60144         * modules/unictype/property-other-alphabetic-tests: New file.
60145         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60146         * modules/unictype/property-other-grapheme-extend-tests: New file.
60147         * modules/unictype/property-other-id-continue-tests: New file.
60148         * modules/unictype/property-other-id-start-tests: New file.
60149         * modules/unictype/property-other-lowercase-tests: New file.
60150         * modules/unictype/property-other-math-tests: New file.
60151         * modules/unictype/property-other-uppercase-tests: New file.
60152         * modules/unictype/property-paired-punctuation-tests: New file.
60153         * modules/unictype/property-paragraph-separator-tests: New file.
60154         * modules/unictype/property-pattern-syntax-tests: New file.
60155         * modules/unictype/property-pattern-white-space-tests: New file.
60156         * modules/unictype/property-private-use-tests: New file.
60157         * modules/unictype/property-punctuation-tests: New file.
60158         * modules/unictype/property-quotation-mark-tests: New file.
60159         * modules/unictype/property-radical-tests: New file.
60160         * modules/unictype/property-sentence-terminal-tests: New file.
60161         * modules/unictype/property-soft-dotted-tests: New file.
60162         * modules/unictype/property-space-tests: New file.
60163         * modules/unictype/property-terminal-punctuation-tests: New file.
60164         * modules/unictype/property-test-tests: New file.
60165         * modules/unictype/property-titlecase-tests: New file.
60166         * modules/unictype/property-unassigned-code-value-tests: New file.
60167         * modules/unictype/property-unified-ideograph-tests: New file.
60168         * modules/unictype/property-uppercase-tests: New file.
60169         * modules/unictype/property-variation-selector-tests: New file.
60170         * modules/unictype/property-white-space-tests: New file.
60171         * modules/unictype/property-xid-continue-tests: New file.
60172         * modules/unictype/property-xid-start-tests: New file.
60173         * modules/unictype/property-zero-width-tests: New file.
60174         * modules/unictype/scripts-tests: New file.
60175         * modules/unictype/syntax-c-ident-tests: New file.
60176         * modules/unictype/syntax-c-whitespace-tests: New file.
60177         * modules/unictype/syntax-java-ident-tests: New file.
60178         * modules/unictype/syntax-java-whitespace-tests: New file.
60179         * tests/unictype/test-bidi_byname.c: New file.
60180         * tests/unictype/test-bidi_name.c: New file.
60181         * tests/unictype/test-bidi_of.c: New file.
60182         * tests/unictype/test-bidi_test.c: New file.
60183         * tests/unictype/test-block_list.c: New file.
60184         * tests/unictype/test-block_of.c: New file.
60185         * tests/unictype/test-block_test.c: New file.
60186         * tests/unictype/test-categ_and.c: New file.
60187         * tests/unictype/test-categ_and_not.c: New file.
60188         * tests/unictype/test-categ_byname.c: New file.
60189         * tests/unictype/test-categ_name.c: New file.
60190         * tests/unictype/test-categ_none.c: New file.
60191         * tests/unictype/test-categ_of.c: New file.
60192         * tests/unictype/test-categ_or.c: New file.
60193         * tests/unictype/test-categ_test_withtable.c: New file.
60194         * tests/unictype/test-combining.c: New file.
60195         * tests/unictype/test-decdigit.c: New file.
60196         * tests/unictype/test-digit.c: New file.
60197         * tests/unictype/test-mirror.c: New file.
60198         * tests/unictype/test-numeric.c: New file.
60199         * tests/unictype/test-pr_byname.c: New file.
60200         * tests/unictype/test-pr_test.c: New file.
60201         * tests/unictype/test-predicate-part1.h: New file.
60202         * tests/unictype/test-predicate-part2.h: New file.
60203         * tests/unictype/test-scripts.c: New file.
60204         * tests/unictype/test-sy_c_ident.c: New file.
60205         * tests/unictype/test-sy_java_ident.c: New file.
60206
60207         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60208         for Unicode 5.0.0.
60209         * tests/unictype/test-categ_Cc.c: Likewise.
60210         * tests/unictype/test-categ_Cf.c: Likewise.
60211         * tests/unictype/test-categ_Cn.c: Likewise.
60212         * tests/unictype/test-categ_Co.c: Likewise.
60213         * tests/unictype/test-categ_Cs.c: Likewise.
60214         * tests/unictype/test-categ_L.c: Likewise.
60215         * tests/unictype/test-categ_Ll.c: Likewise.
60216         * tests/unictype/test-categ_Lm.c: Likewise.
60217         * tests/unictype/test-categ_Lo.c: Likewise.
60218         * tests/unictype/test-categ_Lt.c: Likewise.
60219         * tests/unictype/test-categ_Lu.c: Likewise.
60220         * tests/unictype/test-categ_M.c: Likewise.
60221         * tests/unictype/test-categ_Mc.c: Likewise.
60222         * tests/unictype/test-categ_Me.c: Likewise.
60223         * tests/unictype/test-categ_Mn.c: Likewise.
60224         * tests/unictype/test-categ_N.c: Likewise.
60225         * tests/unictype/test-categ_Nd.c: Likewise.
60226         * tests/unictype/test-categ_Nl.c: Likewise.
60227         * tests/unictype/test-categ_No.c: Likewise.
60228         * tests/unictype/test-categ_P.c: Likewise.
60229         * tests/unictype/test-categ_Pc.c: Likewise.
60230         * tests/unictype/test-categ_Pd.c: Likewise.
60231         * tests/unictype/test-categ_Pe.c: Likewise.
60232         * tests/unictype/test-categ_Pf.c: Likewise.
60233         * tests/unictype/test-categ_Pi.c: Likewise.
60234         * tests/unictype/test-categ_Po.c: Likewise.
60235         * tests/unictype/test-categ_Ps.c: Likewise.
60236         * tests/unictype/test-categ_S.c: Likewise.
60237         * tests/unictype/test-categ_Sc.c: Likewise.
60238         * tests/unictype/test-categ_Sk.c: Likewise.
60239         * tests/unictype/test-categ_Sm.c: Likewise.
60240         * tests/unictype/test-categ_So.c: Likewise.
60241         * tests/unictype/test-categ_Z.c: Likewise.
60242         * tests/unictype/test-categ_Zl.c: Likewise.
60243         * tests/unictype/test-categ_Zp.c: Likewise.
60244         * tests/unictype/test-categ_Zs.c: Likewise.
60245         * tests/unictype/test-ctype_alnum.c: Likewise.
60246         * tests/unictype/test-ctype_alpha.c: Likewise.
60247         * tests/unictype/test-ctype_blank.c: Likewise.
60248         * tests/unictype/test-ctype_cntrl.c: Likewise.
60249         * tests/unictype/test-ctype_digit.c: Likewise.
60250         * tests/unictype/test-ctype_graph.c: Likewise.
60251         * tests/unictype/test-ctype_lower.c: Likewise.
60252         * tests/unictype/test-ctype_print.c: Likewise.
60253         * tests/unictype/test-ctype_punct.c: Likewise.
60254         * tests/unictype/test-ctype_space.c: Likewise.
60255         * tests/unictype/test-ctype_upper.c: Likewise.
60256         * tests/unictype/test-ctype_xdigit.c: Likewise.
60257         * tests/unictype/test-decdigit.h: Likewise.
60258         * tests/unictype/test-digit.h: Likewise.
60259         * tests/unictype/test-numeric.h: Likewise.
60260         * tests/unictype/test-pr_alphabetic.c: Likewise.
60261         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60262         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60263         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60264         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60265         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60266         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60267         * tests/unictype/test-pr_bidi_control.c: Likewise.
60268         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60269         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60270         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60271         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60272         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60273         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60274         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60275         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60276         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60277         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60278         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60279         * tests/unictype/test-pr_combining.c: Likewise.
60280         * tests/unictype/test-pr_composite.c: Likewise.
60281         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60282         * tests/unictype/test-pr_dash.c: Likewise.
60283         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60284         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60285         * tests/unictype/test-pr_deprecated.c: Likewise.
60286         * tests/unictype/test-pr_diacritic.c: Likewise.
60287         * tests/unictype/test-pr_extender.c: Likewise.
60288         * tests/unictype/test-pr_format_control.c: Likewise.
60289         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60290         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60291         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60292         * tests/unictype/test-pr_hex_digit.c: Likewise.
60293         * tests/unictype/test-pr_hyphen.c: Likewise.
60294         * tests/unictype/test-pr_id_continue.c: Likewise.
60295         * tests/unictype/test-pr_id_start.c: Likewise.
60296         * tests/unictype/test-pr_ideographic.c: Likewise.
60297         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60298         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60299         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60300         * tests/unictype/test-pr_iso_control.c: Likewise.
60301         * tests/unictype/test-pr_join_control.c: Likewise.
60302         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60303         * tests/unictype/test-pr_line_separator.c: Likewise.
60304         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60305         * tests/unictype/test-pr_lowercase.c: Likewise.
60306         * tests/unictype/test-pr_math.c: Likewise.
60307         * tests/unictype/test-pr_non_break.c: Likewise.
60308         * tests/unictype/test-pr_not_a_character.c: Likewise.
60309         * tests/unictype/test-pr_numeric.c: Likewise.
60310         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60311         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60312         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60313         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60314         * tests/unictype/test-pr_other_id_start.c: Likewise.
60315         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60316         * tests/unictype/test-pr_other_math.c: Likewise.
60317         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60318         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60319         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60320         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60321         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60322         * tests/unictype/test-pr_private_use.c: Likewise.
60323         * tests/unictype/test-pr_punctuation.c: Likewise.
60324         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60325         * tests/unictype/test-pr_radical.c: Likewise.
60326         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60327         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60328         * tests/unictype/test-pr_space.c: Likewise.
60329         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60330         * tests/unictype/test-pr_titlecase.c: Likewise.
60331         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60332         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60333         * tests/unictype/test-pr_uppercase.c: Likewise.
60334         * tests/unictype/test-pr_variation_selector.c: Likewise.
60335         * tests/unictype/test-pr_white_space.c: Likewise.
60336         * tests/unictype/test-pr_xid_continue.c: Likewise.
60337         * tests/unictype/test-pr_xid_start.c: Likewise.
60338         * tests/unictype/test-pr_zero_width.c: Likewise.
60339         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60340         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60341
60342 2007-11-12  Bruno Haible  <bruno@clisp.org>
60343
60344         Unicode character classification functions.
60345         * lib/unictype.h: New file.
60346         * modules/unictype/base: New file.
60347         * modules/unictype/category-L: New file.
60348         * modules/unictype/category-Lu: New file.
60349         * modules/unictype/category-Ll: New file.
60350         * modules/unictype/category-Lt: New file.
60351         * modules/unictype/category-Lm: New file.
60352         * modules/unictype/category-Lo: New file.
60353         * modules/unictype/category-M: New file.
60354         * modules/unictype/category-Mn: New file.
60355         * modules/unictype/category-Mc: New file.
60356         * modules/unictype/category-Me: New file.
60357         * modules/unictype/category-N: New file.
60358         * modules/unictype/category-Nd: New file.
60359         * modules/unictype/category-Nl: New file.
60360         * modules/unictype/category-No: New file.
60361         * modules/unictype/category-P: New file.
60362         * modules/unictype/category-Pc: New file.
60363         * modules/unictype/category-Pd: New file.
60364         * modules/unictype/category-Ps: New file.
60365         * modules/unictype/category-Pe: New file.
60366         * modules/unictype/category-Pi: New file.
60367         * modules/unictype/category-Pf: New file.
60368         * modules/unictype/category-Po: New file.
60369         * modules/unictype/category-S: New file.
60370         * modules/unictype/category-Sm: New file.
60371         * modules/unictype/category-Sc: New file.
60372         * modules/unictype/category-Sk: New file.
60373         * modules/unictype/category-So: New file.
60374         * modules/unictype/category-Z: New file.
60375         * modules/unictype/category-Zs: New file.
60376         * modules/unictype/category-Zl: New file.
60377         * modules/unictype/category-Zp: New file.
60378         * modules/unictype/category-C: New file.
60379         * modules/unictype/category-Cc: New file.
60380         * modules/unictype/category-Cf: New file.
60381         * modules/unictype/category-Cs: New file.
60382         * modules/unictype/category-Co: New file.
60383         * modules/unictype/category-Cn: New file.
60384         * modules/unictype/category-or: New file.
60385         * modules/unictype/category-of: New file.
60386         * modules/unictype/category-test: New file.
60387         * modules/unictype/category-test-withtable: New file.
60388         * modules/unictype/category-byname: New file.
60389         * modules/unictype/category-none: New file.
60390         * modules/unictype/category-and: New file.
60391         * modules/unictype/category-and-not: New file.
60392         * modules/unictype/category-name: New file.
60393         * modules/unictype/combining-class: New file.
60394         * modules/unictype/category-all: New file.
60395         * modules/unictype/bidicategory-all: New file.
60396         * modules/unictype/bidicategory-byname: New file.
60397         * modules/unictype/bidicategory-name: New file.
60398         * modules/unictype/bidicategory-of: New file.
60399         * modules/unictype/bidicategory-test: New file.
60400         * modules/unictype/decimal-digit: New file.
60401         * modules/unictype/digit: New file.
60402         * modules/unictype/numeric: New file.
60403         * modules/unictype/mirror: New file.
60404         * modules/unictype/property-white-space: New file.
60405         * modules/unictype/property-alphabetic: New file.
60406         * modules/unictype/property-other-alphabetic: New file.
60407         * modules/unictype/property-not-a-character: New file.
60408         * modules/unictype/property-default-ignorable-code-point: New file.
60409         * modules/unictype/property-other-default-ignorable-code-point: New
60410         file.
60411         * modules/unictype/property-deprecated: New file.
60412         * modules/unictype/property-logical-order-exception: New file.
60413         * modules/unictype/property-variation-selector: New file.
60414         * modules/unictype/property-private-use: New file.
60415         * modules/unictype/property-unassigned-code-value: New file.
60416         * modules/unictype/property-uppercase: New file.
60417         * modules/unictype/property-other-uppercase: New file.
60418         * modules/unictype/property-lowercase: New file.
60419         * modules/unictype/property-other-lowercase: New file.
60420         * modules/unictype/property-titlecase: New file.
60421         * modules/unictype/property-soft-dotted: New file.
60422         * modules/unictype/property-id-start: New file.
60423         * modules/unictype/property-other-id-start: New file.
60424         * modules/unictype/property-id-continue: New file.
60425         * modules/unictype/property-other-id-continue: New file.
60426         * modules/unictype/property-xid-start: New file.
60427         * modules/unictype/property-xid-continue: New file.
60428         * modules/unictype/property-pattern-white-space: New file.
60429         * modules/unictype/property-pattern-syntax: New file.
60430         * modules/unictype/property-join-control: New file.
60431         * modules/unictype/property-grapheme-base: New file.
60432         * modules/unictype/property-grapheme-extend: New file.
60433         * modules/unictype/property-other-grapheme-extend: New file.
60434         * modules/unictype/property-grapheme-link: New file.
60435         * modules/unictype/property-bidi-control: New file.
60436         * modules/unictype/property-bidi-left-to-right: New file.
60437         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60438         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60439         * modules/unictype/property-bidi-european-digit: New file.
60440         * modules/unictype/property-bidi-eur-num-separator: New file.
60441         * modules/unictype/property-bidi-eur-num-terminator: New file.
60442         * modules/unictype/property-bidi-arabic-digit: New file.
60443         * modules/unictype/property-bidi-common-separator: New file.
60444         * modules/unictype/property-bidi-block-separator: New file.
60445         * modules/unictype/property-bidi-segment-separator: New file.
60446         * modules/unictype/property-bidi-whitespace: New file.
60447         * modules/unictype/property-bidi-non-spacing-mark: New file.
60448         * modules/unictype/property-bidi-boundary-neutral: New file.
60449         * modules/unictype/property-bidi-pdf: New file.
60450         * modules/unictype/property-bidi-embedding-or-override: New file.
60451         * modules/unictype/property-bidi-other-neutral: New file.
60452         * modules/unictype/property-hex-digit: New file.
60453         * modules/unictype/property-ascii-hex-digit: New file.
60454         * modules/unictype/property-ideographic: New file.
60455         * modules/unictype/property-unified-ideograph: New file.
60456         * modules/unictype/property-radical: New file.
60457         * modules/unictype/property-ids-binary-operator: New file.
60458         * modules/unictype/property-ids-trinary-operator: New file.
60459         * modules/unictype/property-zero-width: New file.
60460         * modules/unictype/property-space: New file.
60461         * modules/unictype/property-non-break: New file.
60462         * modules/unictype/property-iso-control: New file.
60463         * modules/unictype/property-format-control: New file.
60464         * modules/unictype/property-dash: New file.
60465         * modules/unictype/property-hyphen: New file.
60466         * modules/unictype/property-punctuation: New file.
60467         * modules/unictype/property-line-separator: New file.
60468         * modules/unictype/property-paragraph-separator: New file.
60469         * modules/unictype/property-quotation-mark: New file.
60470         * modules/unictype/property-sentence-terminal: New file.
60471         * modules/unictype/property-terminal-punctuation: New file.
60472         * modules/unictype/property-currency-symbol: New file.
60473         * modules/unictype/property-math: New file.
60474         * modules/unictype/property-other-math: New file.
60475         * modules/unictype/property-paired-punctuation: New file.
60476         * modules/unictype/property-left-of-pair: New file.
60477         * modules/unictype/property-combining: New file.
60478         * modules/unictype/property-composite: New file.
60479         * modules/unictype/property-decimal-digit: New file.
60480         * modules/unictype/property-numeric: New file.
60481         * modules/unictype/property-diacritic: New file.
60482         * modules/unictype/property-extender: New file.
60483         * modules/unictype/property-ignorable-control: New file.
60484         * modules/unictype/property-test: New file.
60485         * modules/unictype/property-byname: New file.
60486         * modules/unictype/property-all: New file.
60487         * modules/unictype/scripts: New file.
60488         * modules/unictype/scripts-all: New file.
60489         * modules/unictype/block-of: New file.
60490         * modules/unictype/block-test: New file.
60491         * modules/unictype/block-list: New file.
60492         * modules/unictype/block-all: New file.
60493         * modules/unictype/syntax-c-whitespace: New file.
60494         * modules/unictype/syntax-java-whitespace: New file.
60495         * modules/unictype/syntax-c-ident: New file.
60496         * modules/unictype/syntax-java-ident: New file.
60497         * modules/unictype/ctype-alnum: New file.
60498         * modules/unictype/ctype-alpha: New file.
60499         * modules/unictype/ctype-cntrl: New file.
60500         * modules/unictype/ctype-digit: New file.
60501         * modules/unictype/ctype-graph: New file.
60502         * modules/unictype/ctype-lower: New file.
60503         * modules/unictype/ctype-print: New file.
60504         * modules/unictype/ctype-punct: New file.
60505         * modules/unictype/ctype-space: New file.
60506         * modules/unictype/ctype-upper: New file.
60507         * modules/unictype/ctype-xdigit: New file.
60508         * modules/unictype/ctype-blank: New file.
60509         * lib/unictype/bidi_byname.c: New file.
60510         * lib/unictype/bidi_name.c: New file.
60511         * lib/unictype/bidi_of.c: New file.
60512         * lib/unictype/bidi_test.c: New file.
60513         * lib/unictype/bitmap.h: New file.
60514         * lib/unictype/block_test.c: New file.
60515         * lib/unictype/blocks.c: New file.
60516         * lib/unictype/categ_C.c: New file.
60517         * lib/unictype/categ_Cc.c: New file.
60518         * lib/unictype/categ_Cf.c: New file.
60519         * lib/unictype/categ_Cn.c: New file.
60520         * lib/unictype/categ_Co.c: New file.
60521         * lib/unictype/categ_Cs.c: New file.
60522         * lib/unictype/categ_L.c: New file.
60523         * lib/unictype/categ_Ll.c: New file.
60524         * lib/unictype/categ_Lm.c: New file.
60525         * lib/unictype/categ_Lo.c: New file.
60526         * lib/unictype/categ_Lt.c: New file.
60527         * lib/unictype/categ_Lu.c: New file.
60528         * lib/unictype/categ_M.c: New file.
60529         * lib/unictype/categ_Mc.c: New file.
60530         * lib/unictype/categ_Me.c: New file.
60531         * lib/unictype/categ_Mn.c: New file.
60532         * lib/unictype/categ_N.c: New file.
60533         * lib/unictype/categ_Nd.c: New file.
60534         * lib/unictype/categ_Nl.c: New file.
60535         * lib/unictype/categ_No.c: New file.
60536         * lib/unictype/categ_P.c: New file.
60537         * lib/unictype/categ_Pc.c: New file.
60538         * lib/unictype/categ_Pd.c: New file.
60539         * lib/unictype/categ_Pe.c: New file.
60540         * lib/unictype/categ_Pf.c: New file.
60541         * lib/unictype/categ_Pi.c: New file.
60542         * lib/unictype/categ_Po.c: New file.
60543         * lib/unictype/categ_Ps.c: New file.
60544         * lib/unictype/categ_S.c: New file.
60545         * lib/unictype/categ_Sc.c: New file.
60546         * lib/unictype/categ_Sk.c: New file.
60547         * lib/unictype/categ_Sm.c: New file.
60548         * lib/unictype/categ_So.c: New file.
60549         * lib/unictype/categ_Z.c: New file.
60550         * lib/unictype/categ_Zl.c: New file.
60551         * lib/unictype/categ_Zp.c: New file.
60552         * lib/unictype/categ_Zs.c: New file.
60553         * lib/unictype/categ_and.c: New file.
60554         * lib/unictype/categ_and_not.c: New file.
60555         * lib/unictype/categ_byname.c: New file.
60556         * lib/unictype/categ_name.c: New file.
60557         * lib/unictype/categ_none.c: New file.
60558         * lib/unictype/categ_of.c: New file.
60559         * lib/unictype/categ_or.c: New file.
60560         * lib/unictype/categ_test.c: New file.
60561         * lib/unictype/combining.c: New file.
60562         * lib/unictype/ctype_alnum.c: New file.
60563         * lib/unictype/ctype_alpha.c: New file.
60564         * lib/unictype/ctype_blank.c: New file.
60565         * lib/unictype/ctype_cntrl.c: New file.
60566         * lib/unictype/ctype_digit.c: New file.
60567         * lib/unictype/ctype_graph.c: New file.
60568         * lib/unictype/ctype_lower.c: New file.
60569         * lib/unictype/ctype_print.c: New file.
60570         * lib/unictype/ctype_punct.c: New file.
60571         * lib/unictype/ctype_space.c: New file.
60572         * lib/unictype/ctype_upper.c: New file.
60573         * lib/unictype/ctype_xdigit.c: New file.
60574         * lib/unictype/decdigit.c: New file.
60575         * lib/unictype/digit.c: New file.
60576         * lib/unictype/identsyntaxmap.h: New file.
60577         * lib/unictype/mirror.c: New file.
60578         * lib/unictype/numeric.c: New file.
60579         * lib/unictype/pr_alphabetic.c: New file.
60580         * lib/unictype/pr_ascii_hex_digit.c: New file.
60581         * lib/unictype/pr_bidi_arabic_digit.c: New file.
60582         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
60583         * lib/unictype/pr_bidi_block_separator.c: New file.
60584         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
60585         * lib/unictype/pr_bidi_common_separator.c: New file.
60586         * lib/unictype/pr_bidi_control.c: New file.
60587         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
60588         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
60589         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
60590         * lib/unictype/pr_bidi_european_digit.c: New file.
60591         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
60592         * lib/unictype/pr_bidi_left_to_right.c: New file.
60593         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
60594         * lib/unictype/pr_bidi_other_neutral.c: New file.
60595         * lib/unictype/pr_bidi_pdf.c: New file.
60596         * lib/unictype/pr_bidi_segment_separator.c: New file.
60597         * lib/unictype/pr_bidi_whitespace.c: New file.
60598         * lib/unictype/pr_byname.c: New file.
60599         * lib/unictype/pr_byname.gperf: New file.
60600         * lib/unictype/pr_combining.c: New file.
60601         * lib/unictype/pr_composite.c: New file.
60602         * lib/unictype/pr_currency_symbol.c: New file.
60603         * lib/unictype/pr_dash.c: New file.
60604         * lib/unictype/pr_decimal_digit.c: New file.
60605         * lib/unictype/pr_default_ignorable_code_point.c: New file.
60606         * lib/unictype/pr_deprecated.c: New file.
60607         * lib/unictype/pr_diacritic.c: New file.
60608         * lib/unictype/pr_extender.c: New file.
60609         * lib/unictype/pr_format_control.c: New file.
60610         * lib/unictype/pr_grapheme_base.c: New file.
60611         * lib/unictype/pr_grapheme_extend.c: New file.
60612         * lib/unictype/pr_grapheme_link.c: New file.
60613         * lib/unictype/pr_hex_digit.c: New file.
60614         * lib/unictype/pr_hyphen.c: New file.
60615         * lib/unictype/pr_id_continue.c: New file.
60616         * lib/unictype/pr_id_start.c: New file.
60617         * lib/unictype/pr_ideographic.c: New file.
60618         * lib/unictype/pr_ids_binary_operator.c: New file.
60619         * lib/unictype/pr_ids_trinary_operator.c: New file.
60620         * lib/unictype/pr_ignorable_control.c: New file.
60621         * lib/unictype/pr_iso_control.c: New file.
60622         * lib/unictype/pr_join_control.c: New file.
60623         * lib/unictype/pr_left_of_pair.c: New file.
60624         * lib/unictype/pr_line_separator.c: New file.
60625         * lib/unictype/pr_logical_order_exception.c: New file.
60626         * lib/unictype/pr_lowercase.c: New file.
60627         * lib/unictype/pr_math.c: New file.
60628         * lib/unictype/pr_non_break.c: New file.
60629         * lib/unictype/pr_not_a_character.c: New file.
60630         * lib/unictype/pr_numeric.c: New file.
60631         * lib/unictype/pr_other_alphabetic.c: New file.
60632         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
60633         * lib/unictype/pr_other_grapheme_extend.c: New file.
60634         * lib/unictype/pr_other_id_continue.c: New file.
60635         * lib/unictype/pr_other_id_start.c: New file.
60636         * lib/unictype/pr_other_lowercase.c: New file.
60637         * lib/unictype/pr_other_math.c: New file.
60638         * lib/unictype/pr_other_uppercase.c: New file.
60639         * lib/unictype/pr_paired_punctuation.c: New file.
60640         * lib/unictype/pr_paragraph_separator.c: New file.
60641         * lib/unictype/pr_pattern_syntax.c: New file.
60642         * lib/unictype/pr_pattern_white_space.c: New file.
60643         * lib/unictype/pr_private_use.c: New file.
60644         * lib/unictype/pr_punctuation.c: New file.
60645         * lib/unictype/pr_quotation_mark.c: New file.
60646         * lib/unictype/pr_radical.c: New file.
60647         * lib/unictype/pr_sentence_terminal.c: New file.
60648         * lib/unictype/pr_soft_dotted.c: New file.
60649         * lib/unictype/pr_space.c: New file.
60650         * lib/unictype/pr_terminal_punctuation.c: New file.
60651         * lib/unictype/pr_test.c: New file.
60652         * lib/unictype/pr_titlecase.c: New file.
60653         * lib/unictype/pr_unassigned_code_value.c: New file.
60654         * lib/unictype/pr_unified_ideograph.c: New file.
60655         * lib/unictype/pr_uppercase.c: New file.
60656         * lib/unictype/pr_variation_selector.c: New file.
60657         * lib/unictype/pr_white_space.c: New file.
60658         * lib/unictype/pr_xid_continue.c: New file.
60659         * lib/unictype/pr_xid_start.c: New file.
60660         * lib/unictype/pr_zero_width.c: New file.
60661         * lib/unictype/scripts.c: New file.
60662         * lib/unictype/sy_c_ident.c: New file.
60663         * lib/unictype/sy_c_whitespace.c: New file.
60664         * lib/unictype/sy_java_ident.c: New file.
60665         * lib/unictype/sy_java_whitespace.c: New file.
60666
60667         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
60668         Unicode 5.0.0.
60669         * lib/unictype/blocks.h: Likewise.
60670         * lib/unictype/categ_C.h: Likewise.
60671         * lib/unictype/categ_Cc.h: Likewise.
60672         * lib/unictype/categ_Cf.h: Likewise.
60673         * lib/unictype/categ_Cn.h: Likewise.
60674         * lib/unictype/categ_Co.h: Likewise.
60675         * lib/unictype/categ_Cs.h: Likewise.
60676         * lib/unictype/categ_L.h: Likewise.
60677         * lib/unictype/categ_Ll.h: Likewise.
60678         * lib/unictype/categ_Lm.h: Likewise.
60679         * lib/unictype/categ_Lo.h: Likewise.
60680         * lib/unictype/categ_Lt.h: Likewise.
60681         * lib/unictype/categ_Lu.h: Likewise.
60682         * lib/unictype/categ_M.h: Likewise.
60683         * lib/unictype/categ_Mc.h: Likewise.
60684         * lib/unictype/categ_Me.h: Likewise.
60685         * lib/unictype/categ_Mn.h: Likewise.
60686         * lib/unictype/categ_N.h: Likewise.
60687         * lib/unictype/categ_Nd.h: Likewise.
60688         * lib/unictype/categ_Nl.h: Likewise.
60689         * lib/unictype/categ_No.h: Likewise.
60690         * lib/unictype/categ_P.h: Likewise.
60691         * lib/unictype/categ_Pc.h: Likewise.
60692         * lib/unictype/categ_Pd.h: Likewise.
60693         * lib/unictype/categ_Pe.h: Likewise.
60694         * lib/unictype/categ_Pf.h: Likewise.
60695         * lib/unictype/categ_Pi.h: Likewise.
60696         * lib/unictype/categ_Po.h: Likewise.
60697         * lib/unictype/categ_Ps.h: Likewise.
60698         * lib/unictype/categ_S.h: Likewise.
60699         * lib/unictype/categ_Sc.h: Likewise.
60700         * lib/unictype/categ_Sk.h: Likewise.
60701         * lib/unictype/categ_Sm.h: Likewise.
60702         * lib/unictype/categ_So.h: Likewise.
60703         * lib/unictype/categ_Z.h: Likewise.
60704         * lib/unictype/categ_Zl.h: Likewise.
60705         * lib/unictype/categ_Zp.h: Likewise.
60706         * lib/unictype/categ_Zs.h: Likewise.
60707         * lib/unictype/categ_of.h: Likewise.
60708         * lib/unictype/combining.h: Likewise.
60709         * lib/unictype/ctype_alnum.h: Likewise.
60710         * lib/unictype/ctype_alpha.h: Likewise.
60711         * lib/unictype/ctype_blank.h: Likewise.
60712         * lib/unictype/ctype_cntrl.h: Likewise.
60713         * lib/unictype/ctype_digit.h: Likewise.
60714         * lib/unictype/ctype_graph.h: Likewise.
60715         * lib/unictype/ctype_lower.h: Likewise.
60716         * lib/unictype/ctype_print.h: Likewise.
60717         * lib/unictype/ctype_punct.h: Likewise.
60718         * lib/unictype/ctype_space.h: Likewise.
60719         * lib/unictype/ctype_upper.h: Likewise.
60720         * lib/unictype/ctype_xdigit.h: Likewise.
60721         * lib/unictype/decdigit.h: Likewise.
60722         * lib/unictype/digit.h: Likewise.
60723         * lib/unictype/mirror.h: Likewise.
60724         * lib/unictype/numeric.h: Likewise.
60725         * lib/unictype/pr_alphabetic.h: Likewise.
60726         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60727         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60728         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60729         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60730         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60731         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60732         * lib/unictype/pr_bidi_control.h: Likewise.
60733         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60734         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60735         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60736         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60737         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60738         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60739         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60740         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60741         * lib/unictype/pr_bidi_pdf.h: Likewise.
60742         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60743         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60744         * lib/unictype/pr_combining.h: Likewise.
60745         * lib/unictype/pr_composite.h: Likewise.
60746         * lib/unictype/pr_currency_symbol.h: Likewise.
60747         * lib/unictype/pr_dash.h: Likewise.
60748         * lib/unictype/pr_decimal_digit.h: Likewise.
60749         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60750         * lib/unictype/pr_deprecated.h: Likewise.
60751         * lib/unictype/pr_diacritic.h: Likewise.
60752         * lib/unictype/pr_extender.h: Likewise.
60753         * lib/unictype/pr_format_control.h: Likewise.
60754         * lib/unictype/pr_grapheme_base.h: Likewise.
60755         * lib/unictype/pr_grapheme_extend.h: Likewise.
60756         * lib/unictype/pr_grapheme_link.h: Likewise.
60757         * lib/unictype/pr_hex_digit.h: Likewise.
60758         * lib/unictype/pr_hyphen.h: Likewise.
60759         * lib/unictype/pr_id_continue.h: Likewise.
60760         * lib/unictype/pr_id_start.h: Likewise.
60761         * lib/unictype/pr_ideographic.h: Likewise.
60762         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60763         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60764         * lib/unictype/pr_ignorable_control.h: Likewise.
60765         * lib/unictype/pr_iso_control.h: Likewise.
60766         * lib/unictype/pr_join_control.h: Likewise.
60767         * lib/unictype/pr_left_of_pair.h: Likewise.
60768         * lib/unictype/pr_line_separator.h: Likewise.
60769         * lib/unictype/pr_logical_order_exception.h: Likewise.
60770         * lib/unictype/pr_lowercase.h: Likewise.
60771         * lib/unictype/pr_math.h: Likewise.
60772         * lib/unictype/pr_non_break.h: Likewise.
60773         * lib/unictype/pr_not_a_character.h: Likewise.
60774         * lib/unictype/pr_numeric.h: Likewise.
60775         * lib/unictype/pr_other_alphabetic.h: Likewise.
60776         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60777         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60778         * lib/unictype/pr_other_id_continue.h: Likewise.
60779         * lib/unictype/pr_other_id_start.h: Likewise.
60780         * lib/unictype/pr_other_lowercase.h: Likewise.
60781         * lib/unictype/pr_other_math.h: Likewise.
60782         * lib/unictype/pr_other_uppercase.h: Likewise.
60783         * lib/unictype/pr_paired_punctuation.h: Likewise.
60784         * lib/unictype/pr_paragraph_separator.h: Likewise.
60785         * lib/unictype/pr_pattern_syntax.h: Likewise.
60786         * lib/unictype/pr_pattern_white_space.h: Likewise.
60787         * lib/unictype/pr_private_use.h: Likewise.
60788         * lib/unictype/pr_punctuation.h: Likewise.
60789         * lib/unictype/pr_quotation_mark.h: Likewise.
60790         * lib/unictype/pr_radical.h: Likewise.
60791         * lib/unictype/pr_sentence_terminal.h: Likewise.
60792         * lib/unictype/pr_soft_dotted.h: Likewise.
60793         * lib/unictype/pr_space.h: Likewise.
60794         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60795         * lib/unictype/pr_titlecase.h: Likewise.
60796         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60797         * lib/unictype/pr_unified_ideograph.h: Likewise.
60798         * lib/unictype/pr_uppercase.h: Likewise.
60799         * lib/unictype/pr_variation_selector.h: Likewise.
60800         * lib/unictype/pr_white_space.h: Likewise.
60801         * lib/unictype/pr_xid_continue.h: Likewise.
60802         * lib/unictype/pr_xid_start.h: Likewise.
60803         * lib/unictype/pr_zero_width.h: Likewise.
60804         * lib/unictype/scripts.h: Likewise.
60805         * lib/unictype/scripts_byname.gperf: Likewise.
60806         * lib/unictype/sy_c_ident.h: Likewise.
60807         * lib/unictype/sy_c_whitespace.h: Likewise.
60808         * lib/unictype/sy_java_ident.h: Likewise.
60809         * lib/unictype/sy_java_whitespace.h: Likewise.
60810
60811         * lib/unictype/Makefile: New file.
60812         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60813         glibc.
60814         * lib/unictype/3level.h: New file, copied from glibc.
60815         * lib/unictype/3levelbit.h: New file.
60816
60817 2007-11-11  Bruno Haible  <bruno@clisp.org>
60818
60819         * modules/gperf: New file.
60820         * modules/iconv_open (Depends-on): Add it.
60821         (Makefile.am): Remove the GPERF definition.
60822
60823 2007-11-11  Bruno Haible  <bruno@clisp.org>
60824
60825         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60826         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60827
60828 2007-11-11  Bruno Haible  <bruno@clisp.org>
60829
60830         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60831         (usage): Remove function.
60832
60833 2007-11-11  Bruno Haible  <bruno@clisp.org>
60834
60835         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60836         gl_FUNC_CEILF_LIBS.
60837         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60838         gl_FUNC_CEIL_LIBS.
60839         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60840         gl_FUNC_CEILL_LIBS.
60841         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60842         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60843         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60844
60845 2007-11-11  Bruno Haible  <bruno@clisp.org>
60846
60847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60848         roundf were declared but do not exist on functions.
60849         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60850         roundl were declared but do not exist on functions.
60851         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60852         HAVE_FLOORL_AND_CEILL, respectively.
60853         Needed for Sun C on Solaris 10.
60854
60855 2007-11-11  Bruno Haible  <bruno@clisp.org>
60856
60857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60858         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60859         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60860         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60861         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60862         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60863         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60864         HAVE_DECL_ROUNDF.
60865         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60866         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60867         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60868         of HAVE_DECL_ROUND*.
60869         * modules/math (Makefile.am): Update.
60870
60871 2007-11-10  Bruno Haible  <bruno@clisp.org>
60872
60873         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60874         ptrdiff_t as m4/intl.m4.
60875
60876 2007-11-10  Jim Meyering  <meyering@redhat.com>
60877
60878         Avoid link failure for the argmatch test.
60879         * tests/test-argmatch.c (usage): Define function to avoid a link
60880         failure: argmatch_die requires a usage function.
60881
60882 2007-11-09  Bruno Haible  <bruno@clisp.org>
60883
60884         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60885         * doc/functions/vsnprintf.texi: Likewise.
60886         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60887         with a size argument < 2.
60888
60889 2007-11-09  Bruno Haible  <bruno@clisp.org>
60890
60891         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60892         buffer. Fixes an inefficiency introduced on 2007-11-03.
60893
60894 2007-11-09  Bruno Haible  <bruno@clisp.org>
60895
60896         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60897         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60898
60899 2007-11-08  Jim Meyering  <meyering@redhat.com>
60900
60901         Change cache variable name prefix "jm_" to "gl_" everywhere.
60902         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60903         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60904         * m4/uptime.m4: s/gl_/jm_/
60905
60906 2007-11-07  Bruno Haible  <bruno@clisp.org>
60907
60908         Update to GNU gettext 0.17.
60909         * m4/intl.m4: Update to GNU gettext 0.17.
60910         * m4/po.m4: Likewise.
60911         * modules/gettext (Files): Remove m4/ulonglong.m4.
60912         (configure.ac): Require gettext infrastructure from version 0.17.
60913
60914 2007-11-06  Bruno Haible  <bruno@clisp.org>
60915
60916         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60917         symbolic values are not defined in a public header.
60918         * lib/freadable.c (freadable) [QNX]: Likewise.
60919         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60920         * lib/freading.c (freading) [QNX]: Likewise.
60921         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60922         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60923         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60924         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60925         Reported by Alain Magloire.
60926
60927         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60928
60929 2007-11-05  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60932         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60933         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60934         Reported by Eric Blake.
60935
60936 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60937             Bruno Haible  <bruno@clisp.org>
60938
60939         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60940         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60941         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60942         (malloc): Undefine also before including <stdlib.h>.
60943         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60944         Needed on OSF/1 4.0.
60945
60946 2007-11-05  Jim Meyering  <meyering@redhat.com>
60947
60948         git-version-gen: sync from coreutils.
60949         * build-aux/git-version-gen: Add comments.
60950         Change the first '-' to '.' in the snapshot version string,
60951         e.g., 6.9-377-08144 -> 6.9.377-08144
60952         Remove first parameter.
60953         Don't declare a version "-dirty" merely because a time
60954         stamp has changed.
60955
60956 2007-11-04  Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/lock.h: Protect all macro definitions containing an 'if'
60959         statement through a "do { ... } while (0)".
60960         * lib/tls.h: Likewise.
60961
60962 2007-11-04  Bruno Haible  <bruno@clisp.org>
60963
60964         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60965
60966 2007-11-04  Bruno Haible  <bruno@clisp.org>
60967
60968         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60969         * modules/fprintf-posix (Depends-on): Add nocrash.
60970         * modules/snprintf-posix (Depends-on): Likewise.
60971         * modules/sprintf-posix (Depends-on): Likewise.
60972         * modules/vasnprintf-posix (Depends-on): Likewise.
60973         * modules/vasprintf-posix (Depends-on): Likewise.
60974         * modules/vfprintf-posix (Depends-on): Likewise.
60975         * modules/vsnprintf-posix (Depends-on): Likewise.
60976         * modules/vsprintf-posix (Depends-on): Likewise.
60977         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60978         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60979         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60980         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60981         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60982         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60983         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60984
60985 2007-11-04  Bruno Haible  <bruno@clisp.org>
60986
60987         * modules/nocrash: New file.
60988         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60989         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60990
60991 2007-11-04  Bruno Haible  <bruno@clisp.org>
60992
60993         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60994         precision handling.
60995         * tests/test-vasprintf-posix.c (test_function): Likewise.
60996         * tests/test-snprintf-posix.h (test_function): Likewise.
60997         * tests/test-sprintf-posix.h (test_function): Likewise.
60998
60999         Fix *printf behaviour for large precisions on mingw and BeOS.
61000         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61001         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61002         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61003         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61004         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61005         gl_PRINTF_PRECISION and test its result. Invoke
61006         gl_PREREQ_VASNPRINTF_PRECISION.
61007         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61008         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61009         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61010         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61011         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61012         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61013         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61014         * doc/functions/fprintf.texi: Update.
61015         * doc/functions/printf.texi: Update.
61016         * doc/functions/snprintf.texi: Update.
61017         * doc/functions/sprintf.texi: Update.
61018         * doc/functions/vfprintf.texi: Update.
61019         * doc/functions/vprintf.texi: Update.
61020         * doc/functions/vsnprintf.texi: Update.
61021         * doc/functions/vsprintf.texi: Update.
61022
61023 2007-11-04  Bruno Haible  <bruno@clisp.org>
61024
61025         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61026
61027 2007-11-04  Bruno Haible  <bruno@clisp.org>
61028
61029         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61030         Reported by Sylvain Beucler <beuc@gnu.org>.
61031
61032 2007-11-03  Bruno Haible  <bruno@clisp.org>
61033
61034         * tests/test-fprintf-posix2.sh: New file.
61035         * tests/test-fprintf-posix2.c: New file.
61036         * modules/fprintf-posix-tests (Files): Add them.
61037         (TESTS): Add test-fprintf-posix2.sh.
61038         (configure.ac): Check for getrlimit and setrlimit.
61039         (check_PROGRAMS): Add test-fprintf-posix2.
61040
61041         * tests/test-printf-posix2.sh: New file.
61042         * tests/test-printf-posix2.c: New file.
61043         * modules/printf-posix-tests (Files): Add them.
61044         (TESTS): Add test-printf-posix2.sh.
61045         (configure.ac): Check for getrlimit and setrlimit.
61046         (check_PROGRAMS): Add test-printf-posix2.
61047
61048         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61049         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61050         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61051         (decode_double): New function, copied from decode_long_double.
61052         (scale10_round_decimal_decoded): New function, extracted from
61053         scale10_round_decimal_long_double.
61054         (scale10_round_decimal_long_double): Use it.
61055         (scale10_round_decimal_double): New function.
61056         (floorlog10): New function.
61057         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61058         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61059         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61060         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61061         gl_PRINTF_ENOMEM and test its result. Invoke
61062         gl_PREREQ_VASNPRINTF_ENOMEM.
61063         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61064         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61065         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61066         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61067         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61068         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61069         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61070         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61071         * modules/snprintf-posix (Depends-on): Likewise.
61072         * modules/sprintf-posix (Depends-on): Likewise.
61073         * modules/vasnprintf-posix (Depends-on): Likewise.
61074         * modules/vasprintf-posix (Depends-on): Likewise.
61075         * modules/vfprintf-posix (Depends-on): Likewise.
61076         * modules/vsnprintf-posix (Depends-on): Likewise.
61077         * modules/vsprintf-posix (Depends-on): Likewise.
61078         * doc/functions/fprintf.texi: Update.
61079         * doc/functions/printf.texi: Update.
61080         * doc/functions/snprintf.texi: Update.
61081         * doc/functions/sprintf.texi: Update.
61082         * doc/functions/vfprintf.texi: Update.
61083         * doc/functions/vprintf.texi: Update.
61084         * doc/functions/vsnprintf.texi: Update.
61085         * doc/functions/vsprintf.texi: Update.
61086
61087 2007-11-03  Bruno Haible  <bruno@clisp.org>
61088
61089         * modules/frexp-nolibm-tests: New file.
61090
61091         * modules/frexp-nolibm: New file.
61092         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61093
61094 2007-11-03  Bruno Haible  <bruno@clisp.org>
61095
61096         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61097         value is C99 compliant.
61098         Needed for OSF/1 5.1.
61099
61100 2007-11-03  Bruno Haible  <bruno@clisp.org>
61101
61102         Fix out-of-memory handling of vasnprintf.
61103         * lib/printf-parse.c: Include <errno.h>.
61104         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61105         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61106         is already set.
61107
61108 2007-11-02  Eric Blake  <ebb9@byu.net>
61109
61110         Fix tests on cygwin.
61111         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61112
61113 2007-11-01  Bruno Haible  <bruno@clisp.org>
61114
61115         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61116         warning.
61117         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61118         needed for POSIX compatibility.
61119
61120 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61121
61122         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61123         for compatibility with GNU.
61124
61125 2007-11-01  Bruno Haible  <bruno@clisp.org>
61126
61127         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61128         (putenv): Renamed from rpl_putenv. Change argument type from
61129         'const char *' to 'char *'.
61130         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61131         of defining putenv in config.h, just set REPLACE_PUTENV.
61132         * modules/putenv (Depends-on): Add stdlib.
61133         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61134         (Include): Use <stdlib.h>.
61135         * lib/stdlib.in.h (putenv): New declaration.
61136         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61137         REPLACE_PUTENV.
61138         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61139         REPLACE_PUTENV.
61140         Needed for MacOS X 10.5.0.
61141         Reported by Peter O'Gorman <peter@pogma.com>.
61142
61143 2007-11-01  Jim Meyering  <meyering@redhat.com>
61144
61145         Treat an empty date string exactly like "0".
61146         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61147         if the remaining date string (to be parsed) is empty, use "0".
61148         Reported by Mischa Molhoek and discussed in this thread:
61149         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61150
61151 2007-10-31  Bruno Haible  <bruno@clisp.org>
61152
61153         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61154         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61155         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61156         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61157         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61158         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61159
61160 2007-10-31  Bruno Haible  <bruno@clisp.org>
61161
61162         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61163         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61164         (AC_TYPE_LONG_LONG_INT): Use it.
61165         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61166         it as well.
61167         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61168         to m4/longlong.m4.
61169         * modules/stdint (Files): Remove m4/ulonglong.m4.
61170         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61171         m4/ulonglong.m4.
61172         * modules/strtoumax (Files): Likewise.
61173
61174 2007-10-30  Bruno Haible  <bruno@clisp.org>
61175
61176         * modules/xvasprintf-posix: New file.
61177         Suggested by Eric Blake.
61178
61179 2007-10-30  Bruno Haible  <bruno@clisp.org>
61180
61181         * modules/xprintf-posix-tests: New file.
61182         * tests/test-xprintf-posix.sh: New file.
61183         * tests/test-xprintf-posix.c: New file.
61184         * tests/test-xfprintf-posix.c: New file.
61185
61186         * modules/xprintf-posix: New file.
61187
61188 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61189
61190         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61191         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61192         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61193
61194 2007-10-29  Bruno Haible  <bruno@clisp.org>
61195
61196         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61197         contain the special marker '_cv_'.
61198         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61199         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61200         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61201         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61202         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61203         Reported by Ralf Wildenhues.
61204
61205 2007-10-29  Bruno Haible  <bruno@clisp.org>
61206
61207         * gnulib-tool (func_import): When --lgpl is not specified, set
61208         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61209         GPLv3.
61210         Reported by Simon Josefsson.
61211
61212 2007-10-28  Bruno Haible  <bruno@clisp.org>
61213
61214         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61215         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61216         HAVE_DECL_ISFINITE.
61217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61218         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61219         HAVE_DECL_ISFINITE.
61220
61221 2007-10-28  Bruno Haible  <bruno@clisp.org>
61222
61223         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61224         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61225
61226 2007-10-28  Bruno Haible  <bruno@clisp.org>
61227
61228         Fix link errors with Sun C 5.0 on Solaris 10.
61229         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61230         function is declared but not present in the compiler's libm.
61231         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61232         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
61233         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
61234         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
61235         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
61236         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
61237         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
61238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61239         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
61240         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
61241         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
61242         HAVE_DECL_FLOORL.
61243
61244 2007-10-28  Bruno Haible  <bruno@clisp.org>
61245
61246         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
61247         gl_FUNC_FLOORL. Cache the result.
61248         (gl_FUNC_FLOORL): Use it.
61249         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
61250         gl_FUNC_CEILL. Cache the result.
61251         (gl_FUNC_CEILL): Use it.
61252
61253         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
61254         gl_FUNC_FLOOR. Cache the result.
61255         (gl_FUNC_FLOOR): Use it.
61256         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61257         gl_FUNC_CEIL. Cache the result.
61258         (gl_FUNC_CEIL): Use it.
61259
61260         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61261         gl_FUNC_FLOORF. Cache the result.
61262         (gl_FUNC_FLOORF): Use it.
61263         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61264         gl_FUNC_CEILF. Cache the result.
61265         (gl_FUNC_CEILF): Use it.
61266
61267 2007-10-28  Bruno Haible  <bruno@clisp.org>
61268
61269         * gnulib-tool: Allow specifying the LGPL version number through
61270         --lgpl=2 or --lgpl=3.
61271         (func_usage): Document --lgpl with argument.
61272         Handle --lgpl=... arguments.
61273         (func_import): Recognize also gl_LGPL calls with an argument. When
61274         --lgpl=2 is used and the module's license is just LGPL, report an
61275         error. Set sed_transform_lib_file according to the lgpl variable. In
61276         the generated files, use --lgpl or gl_LGPL invocations with argument,
61277         if necessary.
61278         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61279         an LGPv2+ license.
61280         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61281         gl_LGPL macro.
61282
61283 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61284             Bruno Haible  <bruno@clisp.org>
61285
61286         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61287         (u16_uctomb_aux): Likewise.
61288         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61289         !HAVE_INLINE.
61290         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61291
61292 2007-10-28  Bruno Haible  <bruno@clisp.org>
61293
61294         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61295         Invoke AM_GETTEXT_OPTION if it exists.
61296         * modules/vasprintf: Likewise.
61297         * modules/verror: Likewise.
61298         * modules/xprintf: Likewise.
61299         * modules/xvasprintf: Likewise.
61300
61301 2007-10-27  Ben Pfaff  <blp@gnu.org>
61302
61303         * lib/math.in.h: Define isfinite macro and prototypes for
61304         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61305         implementations.
61306         * m4/math_h.m4: New substitutions for isfinite module.
61307         * lib/isfinite.c: New file.
61308         * m4/isfinite.m4: New file.
61309         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61310         * modules/isfinite: New file.
61311         * modules/isfinite-tests: New file.
61312         * tests/tests-isfinite.c: New file.
61313         * doc/functions/isfinite.texi: Mention isfinite module.
61314         * MODULES.html.sh: Mention new module.
61315
61316 2007-10-27  Ben Pfaff  <blp@gnu.org>
61317
61318         Ralf Wildenhues reported that Tru64 4.0D declares the round
61319         functions but does not have definitions.
61320         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61321         cannot be found in any library, set the output variable to
61322         "missing" instead of "".
61323         * m4/round.m4: Also use our substitute if we cannot find round in
61324         any library, even if it is declared.
61325         * m4/roundf.m4: Likewise for roundf.
61326         * m4/roundl.m4: Likewise for roundl.
61327         * lib/math.in.h: Undefine roundf, round, roundl before defining
61328         their replacements, to allow for hypothetical systems where these
61329         may be defined as macros but not available in libraries.
61330
61331 2007-10-27  Bruno Haible  <bruno@clisp.org>
61332
61333         * doc/gnulib.texi: Invoke @firstparagraphindent.
61334         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61335         changes in gnulib.
61336         (Source changes): New section.
61337
61338 2007-10-26  Bruno Haible  <bruno@clisp.org>
61339
61340         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61341         borrowed from autoconf.
61342
61343 2007-10-26  Bruno Haible  <bruno@clisp.org>
61344
61345         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61346         strerror returned the empty string. Needed on HP-UX 11.00.
61347
61348 2007-10-24  Micah Cowan  <micah@cowan.name>
61349
61350         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61351         * build-aux/bootstrap: Remove support for now-unnecessary option,
61352         --cvs-user, and envvars CVS_USER, CVS_RSH.
61353
61354 2007-10-24  Jim Meyering  <meyering@redhat.com>
61355
61356         Avoid diagnostics from sha1sum when there is no cached checksum.
61357         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61358         if the po.s1 file hasn't been created yet.
61359
61360         * build-aux/bootstrap: Sync from coreutils:
61361         2007-10-24  Jim Meyering  <meyering@redhat.com>
61362         Get gnulib from the git repository, not from an obsolete cvs one.
61363         * build-aux/bootstrap: Suggestion from Micah Cowan.
61364         2007-10-04  Jim Meyering  <jim@meyering.net>
61365         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61366         (update_po_files): Work also when there are no .po files in po/.
61367
61368 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         * README: Append ".git" to git and cg examples.
61371         Problem reported by Benoit Sigoure.
61372
61373 2007-10-23  Micah Cowan  <micah@cowan.name>
61374
61375         * users.txt: Add wget.
61376
61377 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61378
61379         Fix linking of some unistdio tests on FreeBSD.
61380         * modules/unistdio/u16-vsnprintf-tests
61381         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61382         * modules/unistdio/u16-vsprintf-tests
61383         (test_u16_vsnprintf1_LDADD): Likewise.
61384         * modules/unistdio/u32-vsnprintf-tests
61385         (test_u32_vsnprintf1_LDADD): Likewise.
61386         * modules/unistdio/u32-vsprintf-tests
61387         (test_u32_vsprintf1_LDADD): Likewise.
61388         * modules/unistdio/u8-vsnprintf-tests
61389         (test_u8_vsnprintf1_LDADD): Likewise.
61390         * modules/unistdio/u8-vsprintf-tests
61391         (test_u8_vsprintf1_LDADD): Likewise.
61392         * modules/unistdio/ulc-vsnprintf-tests
61393         (test_ulc_vsnprintf1_LDADD): Likewise.
61394         * modules/unistdio/ulc-vsprintf-tests
61395         (test_ulc_vsprintf1_LDADD): Likewise.
61396
61397         Fix linking of some uniconv tests on FreeBSD.
61398         * modules/uniconv/u16-conv-from-enc-tests
61399         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61400         * modules/uniconv/u16-conv-to-enc-tests
61401         (test_u16_conv_to_enc_LDADD): Likewise.
61402         * modules/uniconv/u16-strconv-from-enc-tests
61403         (test_u16_strconv_from_enc_LDADD): Likewise.
61404         * modules/uniconv/u16-strconv-to-enc-tests
61405         (test_u16_strconv_to_enc_LDADD): Likewise.
61406         * modules/uniconv/u32-conv-from-enc-tests
61407         (test_u32_conv_from_enc_LDADD): Likewise.
61408         * modules/uniconv/u32-conv-to-enc-tests
61409         (test_u32_conv_to_enc_LDADD): Likewise.
61410         * modules/uniconv/u32-strconv-from-enc-tests
61411         (test_u32_strconv_from_enc_LDADD): Likewise.
61412         * modules/uniconv/u32-strconv-to-enc-tests
61413         (test_u32_strconv_to_enc_LDADD): Likewise.
61414         * modules/uniconv/u8-conv-from-enc-tests
61415         (test_u8_conv_from_enc_LDADD): Likewise.
61416         * modules/uniconv/u8-conv-to-enc-tests
61417         (test_u8_conv_to_enc_LDADD): Likewise.
61418         * modules/uniconv/u8-strconv-from-enc-tests
61419         (test_u8_strconv_from_enc_LDADD): Likewise.
61420         * modules/uniconv/u8-strconv-to-enc-tests
61421         (test_u8_strconv_to_enc_LDADD): Likewise.
61422
61423 2007-10-22  Bruno Haible  <bruno@clisp.org>
61424
61425         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61426         size.
61427
61428 2007-10-22  Eric Blake  <ebb9@byu.net>
61429
61430         Tweak x*printf documentation.
61431         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61432         variable name and comments.
61433         Suggested by Bruno Haible.
61434
61435 2007-10-22  Bruno Haible  <bruno@clisp.org>
61436
61437         * lib/acl.c (copy_acl): Fix file name in comment.
61438
61439 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61440
61441         Fix Tru64 problem with stdbool.h.
61442         * lib/stdbool.in.h (false, true):
61443         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61444         Don't declare as an enum in this situation; it runs afoul of Tru64.
61445         Problem reported by Steven M. Schweda in
61446         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61447
61448 2007-10-22  Eric Blake  <ebb9@byu.net>
61449
61450         Also wrap vf?printf.
61451         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61452         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61453         (xvprintf, xvfprintf): New functions.
61454
61455 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61456
61457         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61458         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61459
61460         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61461         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61462
61463 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61464
61465         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61466         by Bruno Haible.
61467
61468 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61469
61470         * lib/getloadavg.c
61471         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61472         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61473
61474         * tests/test-i-ring.c: Work for C89.
61475
61476 2007-10-22  Bruno Haible  <bruno@clisp.org>
61477
61478         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61479         -1u, in preprocessor expression, so that we don't test for the bug
61480         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61481         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61482
61483 2007-10-22  Eric Blake  <ebb9@byu.net>
61484
61485         * tests/test-yesno.sh: Silence stderr during test.
61486
61487 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61488
61489         * modules/crypto/gc-camellia: New file.
61490
61491         * m4/gc-camellia.m4: New file.
61492
61493         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61494
61495         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61496
61497 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61498
61499         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61500         --help to stdout.  Reported by sms@antinode.org (Steven
61501         M. Schweda).
61502
61503 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61504
61505         * users.txt: Fix link to libksba.
61506
61507 2007-10-21  Ben Pfaff  <blp@gnu.org>
61508
61509         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61510         round.c roundf implementation that depends on floorf and ceilf to
61511         be tested unconditionally.
61512
61513 2007-10-21  Ben Pfaff  <blp@gnu.org>
61514
61515         * m4/check-libm-func.m4: Removed.
61516         * m4/check-math-lib.m4: New file.
61517         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61518         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61519         definition and lack of AC_LIBOBJ([roundf]).
61520         * m4/roundl.m4: Ditto, and similarly for roundl.
61521         * modules/round: Reference new m4 file.
61522         * modules/roundf: Ditto.
61523         * modules/roundl: Ditto.
61524         * tests/test-round2.c (main): Use ROUND instead of round.
61525         Bug report from Bruno Haible.
61526
61527 2007-10-21  Bruno Haible  <bruno@clisp.org>
61528
61529         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61530         context.
61531
61532 2007-10-21  Bruno Haible  <bruno@clisp.org>
61533
61534         * tests/test-wcwidth.c (main): Allow negative result for some control
61535         characters.
61536
61537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61538         Needed on OSF/1 5.1.
61539
61540 2007-10-21  Bruno Haible  <bruno@clisp.org>
61541
61542         * tests/test-floorf1.c: Include isnanf.h.
61543         (main): Use isnanf() instead of isnan().
61544         * tests/test-ceilf1.c: Include isnanf.h.
61545         (main): Use isnanf() instead of isnan().
61546         * tests/test-truncf1.c: Include isnanf.h.
61547         (main): Use isnanf() instead of isnan().
61548         * tests/test-roundf1.c: Include isnanf.h.
61549         (main): Use isnanf() instead of isnan().
61550
61551 2007-10-21  Eric Blake  <ebb9@byu.net>
61552
61553         * users.txt: Update URL for m4.
61554
61555 2007-10-21  Bruno Haible  <bruno@clisp.org>
61556
61557         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61558
61559 2007-10-21  Bruno Haible  <bruno@clisp.org>
61560
61561         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61562         Git's management files if the CVS files are not present.
61563
61564 2007-10-20  Bruno Haible  <bruno@clisp.org>
61565
61566         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
61567         gcc-3.4.x.
61568
61569 2007-10-20  Ben Pfaff  <blp@gnu.org>
61570
61571         * lib/math.in.h: Declare round, roundf, roundl if we are providing
61572         implementations.
61573         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
61574         * lib/round.c: New file.
61575         * lib/roundf.c: New file.
61576         * lib/roundl.c: New file.
61577         * m4/round.m4: New file.
61578         * m4/roundf.m4: New file.
61579         * m4/roundl.m4: New file.
61580         * m4/check-libm-func-m4: New file.
61581         * modules/math: Replace round, roundf, roundl related @VARS@ in
61582         math.in.h.
61583         * modules/round: New file.
61584         * modules/round-tests: New file.
61585         * modules/roundf: New file.
61586         * modules/roundf-tests: New file.
61587         * modules/roundl: New file.
61588         * modules/roundl-tests: New file.
61589         * tests/test-round1.c: New file.
61590         * tests/test-round2.c: New file.
61591         * tests/test-roundf1.c: New file.
61592         * tests/test-roundf2.c: New file.
61593         * tests/test-roundl.c: New file.
61594         * doc/functions/round.texi: Mention round module.
61595         * doc/functions/roundf.texi: Mention roundf module.
61596         * doc/functions/roundl.texi: Mention roundl module.
61597         * MODULES.html.sh: Mention new modules.
61598         Thanks to Bruno Haible for suggestions.
61599
61600 2007-10-20  Jim Meyering  <meyering@redhat.com>
61601
61602         * lib/xprintf.c: Include <config.h> unconditionally.
61603
61604         Change xprintf's license to GPL.
61605         * modules/xprintf (License): s/LGPL/GPL/, since this module
61606         depends on modules (exit and exitfail) which are GPL.
61607         Suggestion from Bruno Haible.
61608
61609         xprintf fixes.
61610         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
61611         Use a clearer diagnostic.
61612         Patch from Bruno Haible.
61613
61614 2007-10-20  Bruno Haible  <bruno@clisp.org>
61615
61616         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
61617         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
61618         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61619
61620 2007-10-20  Bruno Haible  <bruno@clisp.org>
61621
61622         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
61623         precision in the comparison result > x - 1 or similar.
61624         * tests/test-ceilf2.c (correct_result_p): Likewise.
61625         * tests/test-truncf2.c (correct_result_p): Likewise.
61626         * tests/test-trunc2.c (correct_result_p): Likewise.
61627         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61628
61629 2007-10-20  Bruno Haible  <bruno@clisp.org>
61630
61631         * modules/ceil: New file.
61632         * m4/ceil.m4: New file.
61633         * doc/functions/ceil.texi: Mention the 'ceil' module.
61634
61635 2007-10-20  Bruno Haible  <bruno@clisp.org>
61636
61637         * modules/floor: New file.
61638         * m4/floor.m4: New file.
61639         * doc/functions/floor.texi: Mention the 'floor' module.
61640
61641 2007-10-20  Bruno Haible  <bruno@clisp.org>
61642
61643         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
61644         of %a.
61645         * modules/floorf-tests (Depends-on): Likewise.
61646         * modules/truncf-tests (Depends-on): Likewise.
61647         * modules/trunc-tests (Depends-on): Likewise.
61648         Reported by Ben Pfaff.
61649
61650 2007-10-19  Jim Meyering  <meyering@redhat.com>
61651
61652         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
61653         Don't bother testing specific errno values.  Just test ferror.
61654
61655         New module: xprintf
61656         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
61657
61658 2007-10-19  Bruno Haible  <bruno@clisp.org>
61659
61660         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
61661         syntax.
61662         * modules/javaexec (Makefile.am): Likewise.
61663         * modules/relocatable-prog (Makefile.am): Likewise.
61664         Suggested by Jim Meyering.
61665
61666 2007-10-18  Bruno Haible  <bruno@clisp.org>
61667
61668         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
61669         Reported by Jim Meyering.
61670
61671 2007-10-18  Eric Blake  <ebb9@byu.net>
61672
61673         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
61674
61675 2007-10-18  Bruno Haible  <bruno@clisp.org>
61676
61677         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
61678         the format string into writable memory. Needed in Fortify conditions.
61679
61680 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
61681             Bruno Haible  <bruno@clisp.org>
61682
61683         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
61684         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
61685         * modules/trim (Depends-on): Add mbchar.
61686         (configure.ac): Add gl_FUNC_MBRTOWC.
61687         (Makefile.am): Augment lib_SOURCES.
61688
61689 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61690
61691         Modify glob.c to use fstatat and dirfd, to simplify it.
61692         Suggested by Eric Blake.
61693         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
61694         Don't include <stdbool.h>; not used.
61695         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
61696         (link_exists_p): Simplify implementation, since we can now assume
61697         dirfd and fstatat.
61698         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
61699
61700 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61701
61702         * gnulib-tool (func_get_dependencies): Fix sed script to
61703         match only tests.
61704
61705 2007-10-17  Bruno Haible  <bruno@clisp.org>
61706
61707         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
61708         allow locale names without encoding suffix.
61709         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61710         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61711
61712 2007-10-16  Bruno Haible  <bruno@clisp.org>
61713
61714         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
61715         * lib/getgroups.c (getgroups): Likewise.
61716         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
61717
61718 2007-10-16  Bruno Haible  <bruno@clisp.org>
61719
61720         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
61721         * modules/malloc-posix (License): Likewise.
61722         * modules/realloc-posix (License): Likewise.
61723         * modules/calloc-posix (License): Likewise.
61724         * modules/intprops (License): Change from GPL to LGPL, with
61725         Paul Eggert's approval.
61726
61727 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61728
61729         Merge glibc changes into lib/glob.c.
61730
61731         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
61732         2007-10-15 04:59:03 UTC.  Here are the changes:
61733
61734         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
61735
61736         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
61737
61738         * lib/glob.c: Add some branch prediction throughout.
61739
61740         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
61741
61742         [BZ #5103]
61743         * lib/glob.c (glob): Recognize patterns starting \/.
61744
61745         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
61746
61747         [BZ #3996]
61748         * lib/glob.c (attribute_hidden): Define if not defined.
61749         (glob): Unescape dirname, filename or username when needed and not
61750         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
61751         is NULL.  Handle unescaped [ in pattern without closing ].
61752         Don't pass GLOB_CHECK down to recursive glob for directories.
61753         (__glob_pattern_type): New function.
61754         (__glob_pattern_p): Implement using __glob_pattern_type.
61755         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
61756         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
61757         Remove unreachable code.
61758
61759         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
61760
61761         * lib/glob.c (glob_in_dir): Add some comments and asserts to
61762         explain why there are no leaks.
61763
61764         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
61765
61766         [BZ #3253]
61767         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61768         time, rather allocate increasingly bigger arrays of pointers, if
61769         possible with alloca, if too large with malloc.
61770
61771 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61772
61773         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61774         Problem reported by H.Merijn Brand in
61775         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61776         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61777         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61778
61779 2007-10-15  Bruno Haible  <bruno@clisp.org>
61780
61781         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61782         with explicit rpl_ prefix.
61783         * lib/fopen.c (fopen): Likewise.
61784         * lib/freopen.c (freopen): Likewise.
61785         * lib/iconv.c (iconv): Likewise.
61786         * lib/iconv_close.c (iconv_close): Likewise.
61787
61788 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61789
61790         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61791
61792 2007-10-15  Bruno Haible  <bruno@clisp.org>
61793
61794         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61795         <stddef.h> instead of <stdlib.h> since we only need NULL.
61796         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61797
61798 2007-10-15  Bruno Haible  <bruno@clisp.org>
61799
61800         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61801         Replace paragraph talking about LIBOBJS.
61802         Reported by Colin Watson <cjwatson@debian.org>.
61803
61804 2007-10-15  Bruno Haible  <bruno@clisp.org>
61805
61806         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61807         <stdlib.h> before using NULL.
61808
61809 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61810
61811         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61812         Reported by Albert Chin <china@thewrittenword.com>.
61813
61814 2007-10-14  Bruno Haible  <bruno@clisp.org>
61815
61816         * modules/iconv_open-utf-tests: New file.
61817         * tests/test-iconv-utf.c: New file.
61818
61819         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61820         * modules/iconv_open-utf: New file.
61821         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61822         (iconv, iconv_close): New declarations.
61823         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61824         be defined.
61825         (iconv_open): Add special handling of conversion between UTF-8 and
61826         UTF-{16,32}{BE,LE}.
61827         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61828         * lib/iconv_close.c: New file.
61829         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61830         gl_FUNC_ICONV_OPEN.
61831         (gl_FUNC_ICONV_OPEN): Use it.
61832         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61833         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61834         and REPLACE_ICONV_UTF.
61835         * modules/iconv_open (Depends-on): Add c-strcase.
61836         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61837         ICONV_CONST.
61838         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61839
61840 2007-10-13  Albert Chin  <china@thewrittenword.com>
61841             Bruno Haible  <bruno@clisp.org>
61842
61843         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61844         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61845
61846 2007-10-13  Bruno Haible  <bruno@clisp.org>
61847
61848         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61849         defined, use the ISO C99 inline semantics.
61850         * lib/argp.h (ARGP_EI): Likewise.
61851
61852 2007-10-13  Bruno Haible  <bruno@clisp.org>
61853
61854         Handle 'inline' change in gcc 4.3.0.
61855         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61856         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61857         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61858         argp_fmtstream_point): Disable 'extern' declaration if the function
61859         definition is going to be provided inline.
61860         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61861         semantics, not the ISO C99 inline semantics.
61862         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61863         'extern' declaration if the function definition is going to be provided
61864         inline.
61865         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61866         the GNU C inline semantics, not the ISO C99 inline semantics. With
61867         GCC 4.2, avoid a warning.
61868
61869 2007-10-13  Bruno Haible  <bruno@clisp.org>
61870
61871         * lib/freading.h (freading): Enable the use of __freading for
61872         glibc >= 2.7.
61873         * lib/freading.c (freading): Likewise.
61874
61875 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61876
61877         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61878         "warning: C99 inline functions are not supported; using GNU89".
61879
61880 2007-10-12  Bruno Haible  <bruno@clisp.org>
61881
61882         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61883         of 2.
61884         * tests/test-ceilf2.c: New file.
61885         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61886
61887         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61888         * modules/ceilf-tests: Update.
61889
61890 2007-10-12  Bruno Haible  <bruno@clisp.org>
61891
61892         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61893         of 2.
61894         * tests/test-floorf2.c: New file.
61895         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61896
61897         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61898         * modules/floorf-tests: Update.
61899
61900 2007-10-12  Bruno Haible  <bruno@clisp.org>
61901
61902         * tests/test-trunc2.c: New file.
61903         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61904
61905         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61906         * modules/trunc-tests: Update.
61907
61908 2007-10-12  Bruno Haible  <bruno@clisp.org>
61909
61910         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61911         of 2.
61912         * tests/test-truncf2.c: New file.
61913         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61914
61915         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61916         * modules/truncf-tests: Update.
61917
61918 2007-10-11  Eric Blake  <ebb9@byu.net>
61919
61920         Don't claim strerror is broken on Interix.
61921         * doc/functions/strerror.texi (strerror): Known broken systems are
61922         now Solaris 8, and not Interix.
61923         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61924         Interix on cross-compile.
61925         Reported by Martin Koeppe in
61926         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61927
61928 2007-10-11  Bruno Haible  <bruno@clisp.org>
61929
61930         * modules/i-ring-tests: New file.
61931         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61932         instead of assert.
61933
61934 2007-10-11  Bruno Haible  <bruno@clisp.org>
61935
61936         * modules/filenamecat-tests: New file.
61937         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61938         * lib/filenamecat.c: Remove test code.
61939
61940 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61941
61942         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61943
61944         * lib/strerror.c: Include <string.h> always, to test interface,
61945         and to remove the need for the dummy.
61946         Include intprops.h to compute width instead of doing it ourselves
61947         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61948         (strerror): Define it to return NULL if there's no system strerror.
61949         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61950         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61951         ancient pre-strerror Unix systems well any more.  Saying "unknown
61952         system error" is enough.
61953         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61954         simpler strerror.c implementation.
61955         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61956         Simplify the tests to reflect the simpler strerror implementation.
61957         * modules/strerror (Depends-on): Add intprops.
61958
61959 2007-10-09  Eric Blake  <ebb9@byu.net>
61960
61961         Silence test-fpending.
61962         * modules/fpending-tests (Files): Add wrapper script.
61963         * tests/test-fpending.sh: New file.
61964
61965 2007-10-09  Bruno Haible  <bruno@clisp.org>
61966
61967         * MODULES.html.sh (func_module): Don't create a hyperlink for
61968         function names like 'printf_frexp'.
61969         (Misc): Add crc, memxor.
61970         (Characteristics of floating types): New section.
61971         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61972         isnanf-nolibm, signbit, trunc, truncf, truncl.
61973         (Enhancements for ISO C 99 functions): New subsection Input/output.
61974         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61975         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61976         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61977         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61978         (Enhancements for POSIX:2001 functions): Add chdir-long.
61979         (File system functions): Add areadlink, chdir-safer, read-file.
61980         Remove cycle-check.
61981         (File system as inode set): New section.
61982         (Date and time): Add gethrxtime.
61983         (Multithreading): Add openmp.
61984         (Internationalization functions): Add localename.
61985         (Unicode string functions): Add unistr/u*-mbsnlen.
61986         (Support for maintaining and releasing projects): Add git-version-gen.
61987         (Lone files): Remove directories.
61988
61989 2007-10-08  Ben Pfaff  <blp@gnu.org>
61990
61991         * lib/xmalloca.h: Fix typo in comment.
61992
61993 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61994
61995         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61996         when avoiding problems with integer overflow.  Use a portable test
61997         instead.
61998
61999 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62000
62001         * modules/dummy (License): Change to LGPLv2+.
62002         * modules/float (License): Likewise
62003         * modules/realloc (License): Likewise
62004         * modules/stdlib (License): Likewise
62005
62006 2007-10-07  Bruno Haible  <bruno@clisp.org>
62007
62008         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62009         * floor.c (TWO_MANT_DIG): Likewise.
62010         * ceil.c (TWO_MANT_DIG): Likewise.
62011         Reported by Ben Pfaff.
62012
62013 2007-10-07  Bruno Haible  <bruno@clisp.org>
62014
62015         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62016         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62017         * lib/frexp.c (FUNC): Likewise.
62018         * lib/printf-frexp.h (printf_frexp): Likewise.
62019         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62020         * lib/printf-frexp.c (FUNC): Likewise.
62021         Suggested by Jim Meyering.
62022
62023 2007-10-07  Jim Meyering  <meyering@redhat.com>
62024
62025         Make xnanosleep's integer overflow test more robust.
62026         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62027         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62028
62029 2007-10-07  Bruno Haible  <bruno@clisp.org>
62030
62031         * NEWS: Mention the license change.
62032
62033         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62034         abbreviations in the modules files.
62035
62036         Change copyright notice from GPLv2+ to GPLv3+.
62037         * README: Change copyright notice.
62038         * MODULES.html.sh: Likewise.
62039         * build-aux/bootstrap.conf: Likewise.
62040         * build-aux/config.libpath: Likewise.
62041         * build-aux/csharpcomp.sh.in: Likewise.
62042         * build-aux/csharpexec.sh.in: Likewise.
62043         * build-aux/install-reloc: Likewise.
62044         * build-aux/javacomp.sh.in: Likewise.
62045         * build-aux/javaexec.sh.in: Likewise.
62046         * build-aux/ldd.sh.in: Likewise.
62047         * build-aux/reloc-ldflags: Likewise.
62048         * build-aux/relocatable.sh.in: Likewise.
62049         * build-aux/x-to-1.in: Likewise.
62050         * check-module: Likewise.
62051         * config/srclistvars.sh: Likewise.
62052         * gnulib-tool: Likewise.
62053         * lib/acl-internal.h: Likewise.
62054         * lib/acl.c: Likewise.
62055         * lib/acl.h: Likewise.
62056         * lib/acl_entries.c: Likewise.
62057         * lib/areadlink-with-size.c: Likewise.
62058         * lib/areadlink.c: Likewise.
62059         * lib/areadlink.h: Likewise.
62060         * lib/argmatch.c: Likewise.
62061         * lib/argmatch.h: Likewise.
62062         * lib/argp-ba.c: Likewise.
62063         * lib/argp-eexst.c: Likewise.
62064         * lib/argp-fmtstream.c: Likewise.
62065         * lib/argp-fmtstream.h: Likewise.
62066         * lib/argp-fs-xinl.c: Likewise.
62067         * lib/argp-help.c: Likewise.
62068         * lib/argp-namefrob.h: Likewise.
62069         * lib/argp-parse.c: Likewise.
62070         * lib/argp-pin.c: Likewise.
62071         * lib/argp-pv.c: Likewise.
62072         * lib/argp-pvh.c: Likewise.
62073         * lib/argp-xinl.c: Likewise.
62074         * lib/argp.h: Likewise.
62075         * lib/at-func.c: Likewise.
62076         * lib/atanl.c: Likewise.
62077         * lib/backupfile.c: Likewise.
62078         * lib/backupfile.h: Likewise.
62079         * lib/basename.c: Likewise.
62080         * lib/binary-io.h: Likewise.
62081         * lib/byteswap.in.h: Likewise.
62082         * lib/c-stack.c: Likewise.
62083         * lib/c-stack.h: Likewise.
62084         * lib/c-strcasestr.c: Likewise.
62085         * lib/c-strcasestr.h: Likewise.
62086         * lib/c-strstr.c: Likewise.
62087         * lib/c-strstr.h: Likewise.
62088         * lib/c-strtod.c: Likewise.
62089         * lib/calloc.c: Likewise.
62090         * lib/canon-host.c: Likewise.
62091         * lib/canon-host.h: Likewise.
62092         * lib/canonicalize-lgpl.c: Likewise.
62093         * lib/canonicalize.c: Likewise.
62094         * lib/canonicalize.h: Likewise.
62095         * lib/ceil.c: Likewise.
62096         * lib/ceilf.c: Likewise.
62097         * lib/ceill.c: Likewise.
62098         * lib/chdir-long.c: Likewise.
62099         * lib/chdir-long.h: Likewise.
62100         * lib/chdir-safer.c: Likewise.
62101         * lib/chdir-safer.h: Likewise.
62102         * lib/chown.c: Likewise.
62103         * lib/classpath.c: Likewise.
62104         * lib/classpath.h: Likewise.
62105         * lib/clean-temp.c: Likewise.
62106         * lib/clean-temp.h: Likewise.
62107         * lib/cloexec.c: Likewise.
62108         * lib/close-stream.c: Likewise.
62109         * lib/closein.c: Likewise.
62110         * lib/closein.h: Likewise.
62111         * lib/closeout.c: Likewise.
62112         * lib/closeout.h: Likewise.
62113         * lib/concat-filename.c: Likewise.
62114         * lib/copy-file.c: Likewise.
62115         * lib/copy-file.h: Likewise.
62116         * lib/count-one-bits.h: Likewise.
62117         * lib/crc.c: Likewise.
62118         * lib/crc.h: Likewise.
62119         * lib/creat-safer.c: Likewise.
62120         * lib/csharpcomp.c: Likewise.
62121         * lib/csharpcomp.h: Likewise.
62122         * lib/csharpexec.c: Likewise.
62123         * lib/csharpexec.h: Likewise.
62124         * lib/cycle-check.c: Likewise.
62125         * lib/cycle-check.h: Likewise.
62126         * lib/diacrit.c: Likewise.
62127         * lib/diacrit.h: Likewise.
62128         * lib/diffseq.h: Likewise.
62129         * lib/dirchownmod.c: Likewise.
62130         * lib/dirent.in.h: Likewise.
62131         * lib/dirfd.c: Likewise.
62132         * lib/dirfd.h: Likewise.
62133         * lib/dirname.c: Likewise.
62134         * lib/dirname.h: Likewise.
62135         * lib/dummy.c: Likewise.
62136         * lib/dup-safer.c: Likewise.
62137         * lib/dup2.c: Likewise.
62138         * lib/eealloc.h: Likewise.
62139         * lib/error.c: Likewise.
62140         * lib/error.h: Likewise.
62141         * lib/euidaccess.c: Likewise.
62142         * lib/exclude.c: Likewise.
62143         * lib/exclude.h: Likewise.
62144         * lib/execute.c: Likewise.
62145         * lib/execute.h: Likewise.
62146         * lib/exitfail.c: Likewise.
62147         * lib/exitfail.h: Likewise.
62148         * lib/expl.c: Likewise.
62149         * lib/fatal-signal.c: Likewise.
62150         * lib/fatal-signal.h: Likewise.
62151         * lib/fbufmode.c: Likewise.
62152         * lib/fbufmode.h: Likewise.
62153         * lib/fchdir.c: Likewise.
62154         * lib/fchmodat.c: Likewise.
62155         * lib/fchownat.c: Likewise.
62156         * lib/fcntl--.h: Likewise.
62157         * lib/fcntl-safer.h: Likewise.
62158         * lib/fcntl.in.h: Likewise.
62159         * lib/fd-safer.c: Likewise.
62160         * lib/fflush.c: Likewise.
62161         * lib/file-has-acl.c: Likewise.
62162         * lib/file-set.c: Likewise.
62163         * lib/file-type.c: Likewise.
62164         * lib/file-type.h: Likewise.
62165         * lib/fileblocks.c: Likewise.
62166         * lib/filemode.c: Likewise.
62167         * lib/filemode.h: Likewise.
62168         * lib/filename.h: Likewise.
62169         * lib/filenamecat.c: Likewise.
62170         * lib/filenamecat.h: Likewise.
62171         * lib/findprog.c: Likewise.
62172         * lib/findprog.h: Likewise.
62173         * lib/float.in.h: Likewise.
62174         * lib/floor.c: Likewise.
62175         * lib/floorf.c: Likewise.
62176         * lib/floorl.c: Likewise.
62177         * lib/fopen-safer.c: Likewise.
62178         * lib/fopen.c: Likewise.
62179         * lib/fpending.c: Likewise.
62180         * lib/fpending.h: Likewise.
62181         * lib/fprintf.c: Likewise.
62182         * lib/fprintftime.h: Likewise.
62183         * lib/fpucw.h: Likewise.
62184         * lib/fpurge.c: Likewise.
62185         * lib/fpurge.h: Likewise.
62186         * lib/freadable.c: Likewise.
62187         * lib/freadable.h: Likewise.
62188         * lib/freadahead.c: Likewise.
62189         * lib/freadahead.h: Likewise.
62190         * lib/freading.c: Likewise.
62191         * lib/freading.h: Likewise.
62192         * lib/free.c: Likewise.
62193         * lib/freopen.c: Likewise.
62194         * lib/frexp.c: Likewise.
62195         * lib/frexpl.c: Likewise.
62196         * lib/fseek.c: Likewise.
62197         * lib/fseterr.c: Likewise.
62198         * lib/fseterr.h: Likewise.
62199         * lib/fstatat.c: Likewise.
62200         * lib/fstrcmp.c: Likewise.
62201         * lib/fstrcmp.h: Likewise.
62202         * lib/fsusage.c: Likewise.
62203         * lib/fsusage.h: Likewise.
62204         * lib/ftell.c: Likewise.
62205         * lib/ftello.c: Likewise.
62206         * lib/fts-cycle.c: Likewise.
62207         * lib/fts.c: Likewise.
62208         * lib/fts_.h: Likewise.
62209         * lib/full-read.c: Likewise.
62210         * lib/full-read.h: Likewise.
62211         * lib/full-write.c: Likewise.
62212         * lib/full-write.h: Likewise.
62213         * lib/fwritable.c: Likewise.
62214         * lib/fwritable.h: Likewise.
62215         * lib/fwriteerror.c: Likewise.
62216         * lib/fwriteerror.h: Likewise.
62217         * lib/fwriting.c: Likewise.
62218         * lib/fwriting.h: Likewise.
62219         * lib/gcd.c: Likewise.
62220         * lib/gcd.h: Likewise.
62221         * lib/getcwd.c: Likewise.
62222         * lib/getdate.h: Likewise.
62223         * lib/getdate.y: Likewise.
62224         * lib/getdomainname.c: Likewise.
62225         * lib/getdomainname.h: Likewise.
62226         * lib/getgroups.c: Likewise.
62227         * lib/gethostname.c: Likewise.
62228         * lib/gethrxtime.c: Likewise.
62229         * lib/gethrxtime.h: Likewise.
62230         * lib/getloadavg.c: Likewise.
62231         * lib/getndelim2.c: Likewise.
62232         * lib/getndelim2.h: Likewise.
62233         * lib/getnline.c: Likewise.
62234         * lib/getnline.h: Likewise.
62235         * lib/getopt.c: Likewise.
62236         * lib/getopt.in.h: Likewise.
62237         * lib/getopt1.c: Likewise.
62238         * lib/getopt_int.h: Likewise.
62239         * lib/getpagesize.h: Likewise.
62240         * lib/getsubopt.c: Likewise.
62241         * lib/gettime.c: Likewise.
62242         * lib/getugroups.c: Likewise.
62243         * lib/getugroups.h: Likewise.
62244         * lib/getusershell.c: Likewise.
62245         * lib/gl_anyavltree_list1.h: Likewise.
62246         * lib/gl_anyavltree_list2.h: Likewise.
62247         * lib/gl_anyhash_list1.h: Likewise.
62248         * lib/gl_anyhash_list2.h: Likewise.
62249         * lib/gl_anylinked_list1.h: Likewise.
62250         * lib/gl_anylinked_list2.h: Likewise.
62251         * lib/gl_anyrbtree_list1.h: Likewise.
62252         * lib/gl_anyrbtree_list2.h: Likewise.
62253         * lib/gl_anytree_list1.h: Likewise.
62254         * lib/gl_anytree_list2.h: Likewise.
62255         * lib/gl_anytree_oset.h: Likewise.
62256         * lib/gl_anytreehash_list1.h: Likewise.
62257         * lib/gl_anytreehash_list2.h: Likewise.
62258         * lib/gl_array_list.c: Likewise.
62259         * lib/gl_array_list.h: Likewise.
62260         * lib/gl_array_oset.c: Likewise.
62261         * lib/gl_array_oset.h: Likewise.
62262         * lib/gl_avltree_list.c: Likewise.
62263         * lib/gl_avltree_list.h: Likewise.
62264         * lib/gl_avltree_oset.c: Likewise.
62265         * lib/gl_avltree_oset.h: Likewise.
62266         * lib/gl_avltreehash_list.c: Likewise.
62267         * lib/gl_avltreehash_list.h: Likewise.
62268         * lib/gl_carray_list.c: Likewise.
62269         * lib/gl_carray_list.h: Likewise.
62270         * lib/gl_linked_list.c: Likewise.
62271         * lib/gl_linked_list.h: Likewise.
62272         * lib/gl_linkedhash_list.c: Likewise.
62273         * lib/gl_linkedhash_list.h: Likewise.
62274         * lib/gl_list.c: Likewise.
62275         * lib/gl_list.h: Likewise.
62276         * lib/gl_oset.c: Likewise.
62277         * lib/gl_oset.h: Likewise.
62278         * lib/gl_rbtree_list.c: Likewise.
62279         * lib/gl_rbtree_list.h: Likewise.
62280         * lib/gl_rbtree_oset.c: Likewise.
62281         * lib/gl_rbtree_oset.h: Likewise.
62282         * lib/gl_rbtreehash_list.c: Likewise.
62283         * lib/gl_rbtreehash_list.h: Likewise.
62284         * lib/gl_sublist.c: Likewise.
62285         * lib/gl_sublist.h: Likewise.
62286         * lib/group-member.c: Likewise.
62287         * lib/group-member.h: Likewise.
62288         * lib/hard-locale.c: Likewise.
62289         * lib/hard-locale.h: Likewise.
62290         * lib/hash-pjw.c: Likewise.
62291         * lib/hash-pjw.h: Likewise.
62292         * lib/hash-triple.c: Likewise.
62293         * lib/hash.c: Likewise.
62294         * lib/hash.h: Likewise.
62295         * lib/human.c: Likewise.
62296         * lib/human.h: Likewise.
62297         * lib/i-ring.c: Likewise.
62298         * lib/i-ring.h: Likewise.
62299         * lib/idcache.c: Likewise.
62300         * lib/imaxabs.c: Likewise.
62301         * lib/imaxdiv.c: Likewise.
62302         * lib/inet_pton.c: Likewise.
62303         * lib/inet_pton.h: Likewise.
62304         * lib/intprops.h: Likewise.
62305         * lib/inttostr.c: Likewise.
62306         * lib/inttostr.h: Likewise.
62307         * lib/inttypes.in.h: Likewise.
62308         * lib/isapipe.c: Likewise.
62309         * lib/isdir.c: Likewise.
62310         * lib/isnan.c: Likewise.
62311         * lib/isnan.h: Likewise.
62312         * lib/isnanf.c: Likewise.
62313         * lib/isnanf.h: Likewise.
62314         * lib/isnanl-nolibm.h: Likewise.
62315         * lib/isnanl.c: Likewise.
62316         * lib/isnanl.h: Likewise.
62317         * lib/javacomp.c: Likewise.
62318         * lib/javacomp.h: Likewise.
62319         * lib/javaexec.c: Likewise.
62320         * lib/javaexec.h: Likewise.
62321         * lib/javaversion.c: Likewise.
62322         * lib/javaversion.h: Likewise.
62323         * lib/javaversion.java: Likewise.
62324         * lib/lbrkprop.h: Likewise.
62325         * lib/lchmod.h: Likewise.
62326         * lib/lchown.c: Likewise.
62327         * lib/ldexpl.c: Likewise.
62328         * lib/linebreak.c: Likewise.
62329         * lib/linebreak.h: Likewise.
62330         * lib/linebuffer.c: Likewise.
62331         * lib/linebuffer.h: Likewise.
62332         * lib/locale.in.h: Likewise.
62333         * lib/logl.c: Likewise.
62334         * lib/long-options.c: Likewise.
62335         * lib/long-options.h: Likewise.
62336         * lib/lstat.c: Likewise.
62337         * lib/lstat.h: Likewise.
62338         * lib/math.in.h: Likewise.
62339         * lib/mbchar.c: Likewise.
62340         * lib/mbchar.h: Likewise.
62341         * lib/mbfile.h: Likewise.
62342         * lib/mbiter.h: Likewise.
62343         * lib/mbscasecmp.c: Likewise.
62344         * lib/mbscasestr.c: Likewise.
62345         * lib/mbschr.c: Likewise.
62346         * lib/mbscspn.c: Likewise.
62347         * lib/mbslen.c: Likewise.
62348         * lib/mbsncasecmp.c: Likewise.
62349         * lib/mbsnlen.c: Likewise.
62350         * lib/mbspbrk.c: Likewise.
62351         * lib/mbspcasecmp.c: Likewise.
62352         * lib/mbsrchr.c: Likewise.
62353         * lib/mbssep.c: Likewise.
62354         * lib/mbsspn.c: Likewise.
62355         * lib/mbsstr.c: Likewise.
62356         * lib/mbstok_r.c: Likewise.
62357         * lib/mbswidth.c: Likewise.
62358         * lib/mbswidth.h: Likewise.
62359         * lib/mbuiter.h: Likewise.
62360         * lib/memcasecmp.c: Likewise.
62361         * lib/memcasecmp.h: Likewise.
62362         * lib/memchr.c: Likewise.
62363         * lib/memcmp.c: Likewise.
62364         * lib/memcoll.c: Likewise.
62365         * lib/memcoll.h: Likewise.
62366         * lib/memcpy.c: Likewise.
62367         * lib/memrchr.c: Likewise.
62368         * lib/mkancesdirs.c: Likewise.
62369         * lib/mkdir-p.c: Likewise.
62370         * lib/mkdir-p.h: Likewise.
62371         * lib/mkdir.c: Likewise.
62372         * lib/mkdirat.c: Likewise.
62373         * lib/mkdtemp.c: Likewise.
62374         * lib/mkstemp-safer.c: Likewise.
62375         * lib/mkstemp.c: Likewise.
62376         * lib/modechange.c: Likewise.
62377         * lib/modechange.h: Likewise.
62378         * lib/mountlist.c: Likewise.
62379         * lib/mountlist.h: Likewise.
62380         * lib/mpsort.c: Likewise.
62381         * lib/nanosleep.c: Likewise.
62382         * lib/obstack.c: Likewise.
62383         * lib/obstack.h: Likewise.
62384         * lib/open-safer.c: Likewise.
62385         * lib/open.c: Likewise.
62386         * lib/openat-die.c: Likewise.
62387         * lib/openat-priv.h: Likewise.
62388         * lib/openat-proc.c: Likewise.
62389         * lib/openat.c: Likewise.
62390         * lib/openat.h: Likewise.
62391         * lib/pagealign_alloc.c: Likewise.
62392         * lib/pagealign_alloc.h: Likewise.
62393         * lib/physmem.c: Likewise.
62394         * lib/physmem.h: Likewise.
62395         * lib/pipe-safer.c: Likewise.
62396         * lib/pipe.c: Likewise.
62397         * lib/pipe.h: Likewise.
62398         * lib/posixtm.c: Likewise.
62399         * lib/posixtm.h: Likewise.
62400         * lib/posixver.c: Likewise.
62401         * lib/printf-frexp.c: Likewise.
62402         * lib/printf-frexp.h: Likewise.
62403         * lib/printf-frexpl.c: Likewise.
62404         * lib/printf-frexpl.h: Likewise.
62405         * lib/printf.c: Likewise.
62406         * lib/progname.c: Likewise.
62407         * lib/progname.h: Likewise.
62408         * lib/progreloc.c: Likewise.
62409         * lib/putenv.c: Likewise.
62410         * lib/quote.c: Likewise.
62411         * lib/quote.h: Likewise.
62412         * lib/quotearg.c: Likewise.
62413         * lib/quotearg.h: Likewise.
62414         * lib/raise.c: Likewise.
62415         * lib/readline.c: Likewise.
62416         * lib/readline.h: Likewise.
62417         * lib/readlink.c: Likewise.
62418         * lib/readtokens.c: Likewise.
62419         * lib/readtokens.h: Likewise.
62420         * lib/readtokens0.c: Likewise.
62421         * lib/readtokens0.h: Likewise.
62422         * lib/readutmp.c: Likewise.
62423         * lib/readutmp.h: Likewise.
62424         * lib/realloc.c: Likewise.
62425         * lib/relocwrapper.c: Likewise.
62426         * lib/rename-dest-slash.c: Likewise.
62427         * lib/rename.c: Likewise.
62428         * lib/rmdir.c: Likewise.
62429         * lib/rpmatch.c: Likewise.
62430         * lib/safe-read.c: Likewise.
62431         * lib/safe-read.h: Likewise.
62432         * lib/safe-write.c: Likewise.
62433         * lib/safe-write.h: Likewise.
62434         * lib/same-inode.h: Likewise.
62435         * lib/same.c: Likewise.
62436         * lib/same.h: Likewise.
62437         * lib/save-cwd.c: Likewise.
62438         * lib/save-cwd.h: Likewise.
62439         * lib/savedir.c: Likewise.
62440         * lib/savedir.h: Likewise.
62441         * lib/savewd.c: Likewise.
62442         * lib/savewd.h: Likewise.
62443         * lib/search.in.h: Likewise.
62444         * lib/setenv.c: Likewise.
62445         * lib/setenv.h: Likewise.
62446         * lib/settime.c: Likewise.
62447         * lib/sh-quote.c: Likewise.
62448         * lib/sh-quote.h: Likewise.
62449         * lib/sig2str.c: Likewise.
62450         * lib/sig2str.h: Likewise.
62451         * lib/signal.in.h: Likewise.
62452         * lib/signbitd.c: Likewise.
62453         * lib/signbitf.c: Likewise.
62454         * lib/signbitl.c: Likewise.
62455         * lib/sigprocmask.c: Likewise.
62456         * lib/sincosl.c: Likewise.
62457         * lib/sleep.c: Likewise.
62458         * lib/sprintf.c: Likewise.
62459         * lib/sqrtl.c: Likewise.
62460         * lib/stat-time.h: Likewise.
62461         * lib/stdio--.h: Likewise.
62462         * lib/stdio-safer.h: Likewise.
62463         * lib/stdlib--.h: Likewise.
62464         * lib/stdlib-safer.h: Likewise.
62465         * lib/stdlib.in.h: Likewise.
62466         * lib/stpcpy.c: Likewise.
62467         * lib/stpncpy.c: Likewise.
62468         * lib/strchrnul.c: Likewise.
62469         * lib/strcspn.c: Likewise.
62470         * lib/strerror.c: Likewise.
62471         * lib/strftime.c: Likewise.
62472         * lib/strftime.h: Likewise.
62473         * lib/striconveh.c: Likewise.
62474         * lib/striconveh.h: Likewise.
62475         * lib/striconveha.c: Likewise.
62476         * lib/striconveha.h: Likewise.
62477         * lib/stripslash.c: Likewise.
62478         * lib/strnlen1.c: Likewise.
62479         * lib/strnlen1.h: Likewise.
62480         * lib/strtod.c: Likewise.
62481         * lib/strtoimax.c: Likewise.
62482         * lib/strtok_r.c: Likewise.
62483         * lib/strtol.c: Likewise.
62484         * lib/strtoll.c: Likewise.
62485         * lib/strtoul.c: Likewise.
62486         * lib/strtoull.c: Likewise.
62487         * lib/sysexits.in.h: Likewise.
62488         * lib/tempname.c: Likewise.
62489         * lib/tempname.h: Likewise.
62490         * lib/timespec.h: Likewise.
62491         * lib/tls.c: Likewise.
62492         * lib/tls.h: Likewise.
62493         * lib/tmpdir.c: Likewise.
62494         * lib/tmpdir.h: Likewise.
62495         * lib/tmpfile-safer.c: Likewise.
62496         * lib/tmpfile.c: Likewise.
62497         * lib/trigl.c: Likewise.
62498         * lib/trigl.h: Likewise.
62499         * lib/trim.c: Likewise.
62500         * lib/trim.h: Likewise.
62501         * lib/trunc.c: Likewise.
62502         * lib/truncf.c: Likewise.
62503         * lib/truncl.c: Likewise.
62504         * lib/tsearch.c: Likewise.
62505         * lib/unicodeio.c: Likewise.
62506         * lib/unicodeio.h: Likewise.
62507         * lib/unistd--.h: Likewise.
62508         * lib/unistd-safer.h: Likewise.
62509         * lib/unistdio/ulc-fprintf.c: Likewise.
62510         * lib/unistdio/ulc-vfprintf.c: Likewise.
62511         * lib/unlinkdir.c: Likewise.
62512         * lib/unlinkdir.h: Likewise.
62513         * lib/unlocked-io.h: Likewise.
62514         * lib/unsetenv.c: Likewise.
62515         * lib/userspec.c: Likewise.
62516         * lib/utime.c: Likewise.
62517         * lib/utimecmp.c: Likewise.
62518         * lib/utimecmp.h: Likewise.
62519         * lib/utimens.c: Likewise.
62520         * lib/verify.h: Likewise.
62521         * lib/verror.c: Likewise.
62522         * lib/verror.h: Likewise.
62523         * lib/version-etc-fsf.c: Likewise.
62524         * lib/version-etc.c: Likewise.
62525         * lib/version-etc.h: Likewise.
62526         * lib/vfprintf.c: Likewise.
62527         * lib/vprintf.c: Likewise.
62528         * lib/vsprintf.c: Likewise.
62529         * lib/w32spawn.h: Likewise.
62530         * lib/wait-process.c: Likewise.
62531         * lib/wait-process.h: Likewise.
62532         * lib/wcwidth.c: Likewise.
62533         * lib/write-any-file.c: Likewise.
62534         * lib/xalloc-die.c: Likewise.
62535         * lib/xalloc.h: Likewise.
62536         * lib/xasprintf.c: Likewise.
62537         * lib/xgetcwd.c: Likewise.
62538         * lib/xgetcwd.h: Likewise.
62539         * lib/xgetdomainname.c: Likewise.
62540         * lib/xgetdomainname.h: Likewise.
62541         * lib/xgethostname.c: Likewise.
62542         * lib/xmalloc.c: Likewise.
62543         * lib/xmalloca.c: Likewise.
62544         * lib/xmalloca.h: Likewise.
62545         * lib/xmemcoll.c: Likewise.
62546         * lib/xnanosleep.c: Likewise.
62547         * lib/xreadlink.c: Likewise.
62548         * lib/xreadlink.h: Likewise.
62549         * lib/xsetenv.c: Likewise.
62550         * lib/xsetenv.h: Likewise.
62551         * lib/xstriconv.c: Likewise.
62552         * lib/xstriconv.h: Likewise.
62553         * lib/xstrndup.c: Likewise.
62554         * lib/xstrndup.h: Likewise.
62555         * lib/xstrtod.c: Likewise.
62556         * lib/xstrtod.h: Likewise.
62557         * lib/xstrtol-error.c: Likewise.
62558         * lib/xstrtol.c: Likewise.
62559         * lib/xstrtol.h: Likewise.
62560         * lib/xtime.h: Likewise.
62561         * lib/xvasprintf.c: Likewise.
62562         * lib/xvasprintf.h: Likewise.
62563         * lib/yesno.c: Likewise.
62564         * lib/yesno.h: Likewise.
62565         * posix-modules: Likewise.
62566         * tests/test-alloca-opt.c: Likewise.
62567         * tests/test-arcfour.c: Likewise.
62568         * tests/test-arctwo.c: Likewise.
62569         * tests/test-argmatch.c: Likewise.
62570         * tests/test-argp-2.sh: Likewise.
62571         * tests/test-argp.c: Likewise.
62572         * tests/test-arpa_inet.c: Likewise.
62573         * tests/test-array_list.c: Likewise.
62574         * tests/test-array_oset.c: Likewise.
62575         * tests/test-atexit.c: Likewise.
62576         * tests/test-avltree_list.c: Likewise.
62577         * tests/test-avltree_oset.c: Likewise.
62578         * tests/test-avltreehash_list.c: Likewise.
62579         * tests/test-base64.c: Likewise.
62580         * tests/test-binary-io.c: Likewise.
62581         * tests/test-byteswap.c: Likewise.
62582         * tests/test-c-ctype.c: Likewise.
62583         * tests/test-c-strcasecmp.c: Likewise.
62584         * tests/test-c-strcasestr.c: Likewise.
62585         * tests/test-c-strncasecmp.c: Likewise.
62586         * tests/test-c-strstr.c: Likewise.
62587         * tests/test-canonicalize-lgpl.c: Likewise.
62588         * tests/test-canonicalize.c: Likewise.
62589         * tests/test-carray_list.c: Likewise.
62590         * tests/test-ceilf.c: Likewise.
62591         * tests/test-ceill.c: Likewise.
62592         * tests/test-count-one-bits.c: Likewise.
62593         * tests/test-crc.c: Likewise.
62594         * tests/test-dirname.c: Likewise.
62595         * tests/test-fbufmode.c: Likewise.
62596         * tests/test-fcntl.c: Likewise.
62597         * tests/test-fflush.c: Likewise.
62598         * tests/test-floorf.c: Likewise.
62599         * tests/test-floorl.c: Likewise.
62600         * tests/test-fopen.c: Likewise.
62601         * tests/test-fprintf-posix.c: Likewise.
62602         * tests/test-fprintf-posix.h: Likewise.
62603         * tests/test-fpurge.c: Likewise.
62604         * tests/test-freadable.c: Likewise.
62605         * tests/test-freadahead.c: Likewise.
62606         * tests/test-freading.c: Likewise.
62607         * tests/test-freopen.c: Likewise.
62608         * tests/test-frexp.c: Likewise.
62609         * tests/test-frexpl.c: Likewise.
62610         * tests/test-fseek.c: Likewise.
62611         * tests/test-fseeko.c: Likewise.
62612         * tests/test-fseterr.c: Likewise.
62613         * tests/test-fstrcmp.c: Likewise.
62614         * tests/test-ftell.c: Likewise.
62615         * tests/test-ftello.c: Likewise.
62616         * tests/test-fwritable.c: Likewise.
62617         * tests/test-fwriting.c: Likewise.
62618         * tests/test-getaddrinfo.c: Likewise.
62619         * tests/test-getpass.c: Likewise.
62620         * tests/test-gettimeofday.c: Likewise.
62621         * tests/test-hmac-md5.c: Likewise.
62622         * tests/test-hmac-sha1.c: Likewise.
62623         * tests/test-iconv.c: Likewise.
62624         * tests/test-iconvme.c: Likewise.
62625         * tests/test-inttypes.c: Likewise.
62626         * tests/test-isnan.c: Likewise.
62627         * tests/test-isnanf.c: Likewise.
62628         * tests/test-isnanl-nolibm.c: Likewise.
62629         * tests/test-isnanl.c: Likewise.
62630         * tests/test-isnanl.h: Likewise.
62631         * tests/test-ldexpl.c: Likewise.
62632         * tests/test-linked_list.c: Likewise.
62633         * tests/test-linkedhash_list.c: Likewise.
62634         * tests/test-locale.c: Likewise.
62635         * tests/test-localename.c: Likewise.
62636         * tests/test-lock.c: Likewise.
62637         * tests/test-lseek.c: Likewise.
62638         * tests/test-malloca.c: Likewise.
62639         * tests/test-math.c: Likewise.
62640         * tests/test-mbscasecmp.c: Likewise.
62641         * tests/test-mbscasestr1.c: Likewise.
62642         * tests/test-mbscasestr2.c: Likewise.
62643         * tests/test-mbscasestr3.c: Likewise.
62644         * tests/test-mbscasestr4.c: Likewise.
62645         * tests/test-mbschr.c: Likewise.
62646         * tests/test-mbscspn.c: Likewise.
62647         * tests/test-mbsncasecmp.c: Likewise.
62648         * tests/test-mbspbrk.c: Likewise.
62649         * tests/test-mbspcasecmp.c: Likewise.
62650         * tests/test-mbsrchr.c: Likewise.
62651         * tests/test-mbsspn.c: Likewise.
62652         * tests/test-mbsstr1.c: Likewise.
62653         * tests/test-mbsstr2.c: Likewise.
62654         * tests/test-mbsstr3.c: Likewise.
62655         * tests/test-md5.c: Likewise.
62656         * tests/test-memmem.c: Likewise.
62657         * tests/test-netinet_in.c: Likewise.
62658         * tests/test-open.c: Likewise.
62659         * tests/test-printf-frexp.c: Likewise.
62660         * tests/test-printf-frexpl.c: Likewise.
62661         * tests/test-printf-posix.c: Likewise.
62662         * tests/test-printf-posix.h: Likewise.
62663         * tests/test-rbtree_list.c: Likewise.
62664         * tests/test-rbtree_oset.c: Likewise.
62665         * tests/test-rbtreehash_list.c: Likewise.
62666         * tests/test-read-file.c: Likewise.
62667         * tests/test-rijndael.c: Likewise.
62668         * tests/test-search.c: Likewise.
62669         * tests/test-signbit.c: Likewise.
62670         * tests/test-sleep.c: Likewise.
62671         * tests/test-snprintf-posix.c: Likewise.
62672         * tests/test-snprintf-posix.h: Likewise.
62673         * tests/test-snprintf.c: Likewise.
62674         * tests/test-sprintf-posix.c: Likewise.
62675         * tests/test-sprintf-posix.h: Likewise.
62676         * tests/test-stat-time.c: Likewise.
62677         * tests/test-stdbool.c: Likewise.
62678         * tests/test-stdint.c: Likewise.
62679         * tests/test-stdio.c: Likewise.
62680         * tests/test-stdlib.c: Likewise.
62681         * tests/test-stpncpy.c: Likewise.
62682         * tests/test-strcasestr.c: Likewise.
62683         * tests/test-striconv.c: Likewise.
62684         * tests/test-striconveh.c: Likewise.
62685         * tests/test-striconveha.c: Likewise.
62686         * tests/test-string.c: Likewise.
62687         * tests/test-sys_select.c: Likewise.
62688         * tests/test-sys_socket.c: Likewise.
62689         * tests/test-sys_stat.c: Likewise.
62690         * tests/test-sys_time.c: Likewise.
62691         * tests/test-sysexits.c: Likewise.
62692         * tests/test-time.c: Likewise.
62693         * tests/test-tls.c: Likewise.
62694         * tests/test-trunc.c: Likewise.
62695         * tests/test-truncf.c: Likewise.
62696         * tests/test-truncl.c: Likewise.
62697         * tests/test-unistd.c: Likewise.
62698         * tests/test-vasnprintf-posix.c: Likewise.
62699         * tests/test-vasnprintf-posix2.c: Likewise.
62700         * tests/test-vasnprintf.c: Likewise.
62701         * tests/test-vasprintf-posix.c: Likewise.
62702         * tests/test-vasprintf.c: Likewise.
62703         * tests/test-verify.c: Likewise.
62704         * tests/test-vfprintf-posix.c: Likewise.
62705         * tests/test-vprintf-posix.c: Likewise.
62706         * tests/test-vsnprintf-posix.c: Likewise.
62707         * tests/test-vsnprintf.c: Likewise.
62708         * tests/test-vsprintf-posix.c: Likewise.
62709         * tests/test-wchar.c: Likewise.
62710         * tests/test-wctype.c: Likewise.
62711         * tests/test-wcwidth.c: Likewise.
62712         * tests/test-xstrtol.c: Likewise.
62713         * tests/test-xvasprintf.c: Likewise.
62714         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
62715         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
62716         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62717         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62718         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62719         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
62720         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62721         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62722         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62723         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
62724         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62725         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62726         * tests/uniname/test-uninames.c: Likewise.
62727         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
62728         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
62729         * tests/unistdio/test-u16-printf1.h: Likewise.
62730         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
62731         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
62732         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
62733         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
62734         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
62735         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
62736         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
62737         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
62738         * tests/unistdio/test-u32-printf1.h: Likewise.
62739         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
62740         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
62741         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
62742         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
62743         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
62744         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
62745         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
62746         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
62747         * tests/unistdio/test-u8-printf1.h: Likewise.
62748         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
62749         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
62750         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
62751         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
62752         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
62753         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
62754         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
62755         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
62756         * tests/unistdio/test-ulc-printf1.h: Likewise.
62757         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
62758         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
62759         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
62760         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
62761         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
62762         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
62763         * tests/uniwidth/test-u16-strwidth.c: Likewise.
62764         * tests/uniwidth/test-u16-width.c: Likewise.
62765         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62766         * tests/uniwidth/test-u32-width.c: Likewise.
62767         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62768         * tests/uniwidth/test-u8-width.c: Likewise.
62769         * tests/uniwidth/test-uc_width.c: Likewise.
62770         * config/srclist-update: Likewise.
62771         (fixlicense): Update to GPLv3+.
62772
62773         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62774         * tests/test-tsearch.c: Change copyright notice.
62775
62776         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62777         * lib/c-strcaseeq.h: Change copyright notice.
62778         * lib/streq.h: Likewise.
62779         * lib/uniconv.h: Likewise.
62780         * lib/uniconv/u-conv-from-enc.h: Likewise.
62781         * lib/uniconv/u-conv-to-enc.h: Likewise.
62782         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62783         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62784         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62785         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62786         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62787         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62788         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62789         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62790         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62791         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62792         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62793         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62794         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62795         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62796         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62797         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62798         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62799         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62800         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62801         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62802         * lib/uniname.h: Likewise.
62803         * lib/uniname/uniname.c: Likewise.
62804         * lib/unistdio.h: Likewise.
62805         * lib/unistdio/u-asnprintf.h: Likewise.
62806         * lib/unistdio/u-asprintf.h: Likewise.
62807         * lib/unistdio/u-printf-args.c: Likewise.
62808         * lib/unistdio/u-printf-args.h: Likewise.
62809         * lib/unistdio/u-printf-parse.h: Likewise.
62810         * lib/unistdio/u-snprintf.h: Likewise.
62811         * lib/unistdio/u-sprintf.h: Likewise.
62812         * lib/unistdio/u-vasprintf.h: Likewise.
62813         * lib/unistdio/u-vsnprintf.h: Likewise.
62814         * lib/unistdio/u-vsprintf.h: Likewise.
62815         * lib/unistdio/u16-asnprintf.c: Likewise.
62816         * lib/unistdio/u16-asprintf.c: Likewise.
62817         * lib/unistdio/u16-printf-parse.c: Likewise.
62818         * lib/unistdio/u16-snprintf.c: Likewise.
62819         * lib/unistdio/u16-sprintf.c: Likewise.
62820         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62821         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62822         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62823         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62824         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62825         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62826         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62827         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62828         * lib/unistdio/u16-vasnprintf.c: Likewise.
62829         * lib/unistdio/u16-vasprintf.c: Likewise.
62830         * lib/unistdio/u16-vsnprintf.c: Likewise.
62831         * lib/unistdio/u16-vsprintf.c: Likewise.
62832         * lib/unistdio/u32-asnprintf.c: Likewise.
62833         * lib/unistdio/u32-asprintf.c: Likewise.
62834         * lib/unistdio/u32-printf-parse.c: Likewise.
62835         * lib/unistdio/u32-snprintf.c: Likewise.
62836         * lib/unistdio/u32-sprintf.c: Likewise.
62837         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62838         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62839         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62840         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62841         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62842         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62843         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62844         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62845         * lib/unistdio/u32-vasnprintf.c: Likewise.
62846         * lib/unistdio/u32-vasprintf.c: Likewise.
62847         * lib/unistdio/u32-vsnprintf.c: Likewise.
62848         * lib/unistdio/u32-vsprintf.c: Likewise.
62849         * lib/unistdio/u8-asnprintf.c: Likewise.
62850         * lib/unistdio/u8-asprintf.c: Likewise.
62851         * lib/unistdio/u8-printf-parse.c: Likewise.
62852         * lib/unistdio/u8-snprintf.c: Likewise.
62853         * lib/unistdio/u8-sprintf.c: Likewise.
62854         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62855         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62856         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62857         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62858         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62859         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62860         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62861         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62862         * lib/unistdio/u8-vasnprintf.c: Likewise.
62863         * lib/unistdio/u8-vasprintf.c: Likewise.
62864         * lib/unistdio/u8-vsnprintf.c: Likewise.
62865         * lib/unistdio/u8-vsprintf.c: Likewise.
62866         * lib/unistdio/ulc-asnprintf.c: Likewise.
62867         * lib/unistdio/ulc-asprintf.c: Likewise.
62868         * lib/unistdio/ulc-printf-parse.c: Likewise.
62869         * lib/unistdio/ulc-snprintf.c: Likewise.
62870         * lib/unistdio/ulc-sprintf.c: Likewise.
62871         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62872         * lib/unistdio/ulc-vasprintf.c: Likewise.
62873         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62874         * lib/unistdio/ulc-vsprintf.c: Likewise.
62875         * lib/unistr.h: Likewise.
62876         * lib/unistr/u-cpy-alloc.h: Likewise.
62877         * lib/unistr/u-cpy.h: Likewise.
62878         * lib/unistr/u-endswith.h: Likewise.
62879         * lib/unistr/u-move.h: Likewise.
62880         * lib/unistr/u-set.h: Likewise.
62881         * lib/unistr/u-startswith.h: Likewise.
62882         * lib/unistr/u-stpcpy.h: Likewise.
62883         * lib/unistr/u-stpncpy.h: Likewise.
62884         * lib/unistr/u-strcat.h: Likewise.
62885         * lib/unistr/u-strcpy.h: Likewise.
62886         * lib/unistr/u-strcspn.h: Likewise.
62887         * lib/unistr/u-strdup.h: Likewise.
62888         * lib/unistr/u-strlen.h: Likewise.
62889         * lib/unistr/u-strncat.h: Likewise.
62890         * lib/unistr/u-strncpy.h: Likewise.
62891         * lib/unistr/u-strnlen.h: Likewise.
62892         * lib/unistr/u-strpbrk.h: Likewise.
62893         * lib/unistr/u-strspn.h: Likewise.
62894         * lib/unistr/u-strstr.h: Likewise.
62895         * lib/unistr/u-strtok.h: Likewise.
62896         * lib/unistr/u16-check.c: Likewise.
62897         * lib/unistr/u16-chr.c: Likewise.
62898         * lib/unistr/u16-cmp.c: Likewise.
62899         * lib/unistr/u16-cpy-alloc.c: Likewise.
62900         * lib/unistr/u16-cpy.c: Likewise.
62901         * lib/unistr/u16-endswith.c: Likewise.
62902         * lib/unistr/u16-mblen.c: Likewise.
62903         * lib/unistr/u16-mbsnlen.c: Likewise.
62904         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62905         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62906         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62907         * lib/unistr/u16-mbtouc.c: Likewise.
62908         * lib/unistr/u16-mbtoucr.c: Likewise.
62909         * lib/unistr/u16-move.c: Likewise.
62910         * lib/unistr/u16-next.c: Likewise.
62911         * lib/unistr/u16-prev.c: Likewise.
62912         * lib/unistr/u16-set.c: Likewise.
62913         * lib/unistr/u16-startswith.c: Likewise.
62914         * lib/unistr/u16-stpcpy.c: Likewise.
62915         * lib/unistr/u16-stpncpy.c: Likewise.
62916         * lib/unistr/u16-strcat.c: Likewise.
62917         * lib/unistr/u16-strchr.c: Likewise.
62918         * lib/unistr/u16-strcmp.c: Likewise.
62919         * lib/unistr/u16-strcpy.c: Likewise.
62920         * lib/unistr/u16-strcspn.c: Likewise.
62921         * lib/unistr/u16-strdup.c: Likewise.
62922         * lib/unistr/u16-strlen.c: Likewise.
62923         * lib/unistr/u16-strmblen.c: Likewise.
62924         * lib/unistr/u16-strmbtouc.c: Likewise.
62925         * lib/unistr/u16-strncat.c: Likewise.
62926         * lib/unistr/u16-strncmp.c: Likewise.
62927         * lib/unistr/u16-strncpy.c: Likewise.
62928         * lib/unistr/u16-strnlen.c: Likewise.
62929         * lib/unistr/u16-strpbrk.c: Likewise.
62930         * lib/unistr/u16-strrchr.c: Likewise.
62931         * lib/unistr/u16-strspn.c: Likewise.
62932         * lib/unistr/u16-strstr.c: Likewise.
62933         * lib/unistr/u16-strtok.c: Likewise.
62934         * lib/unistr/u16-to-u32.c: Likewise.
62935         * lib/unistr/u16-to-u8.c: Likewise.
62936         * lib/unistr/u16-uctomb-aux.c: Likewise.
62937         * lib/unistr/u16-uctomb.c: Likewise.
62938         * lib/unistr/u32-check.c: Likewise.
62939         * lib/unistr/u32-chr.c: Likewise.
62940         * lib/unistr/u32-cmp.c: Likewise.
62941         * lib/unistr/u32-cpy-alloc.c: Likewise.
62942         * lib/unistr/u32-cpy.c: Likewise.
62943         * lib/unistr/u32-endswith.c: Likewise.
62944         * lib/unistr/u32-mblen.c: Likewise.
62945         * lib/unistr/u32-mbsnlen.c: Likewise.
62946         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62947         * lib/unistr/u32-mbtouc.c: Likewise.
62948         * lib/unistr/u32-mbtoucr.c: Likewise.
62949         * lib/unistr/u32-move.c: Likewise.
62950         * lib/unistr/u32-next.c: Likewise.
62951         * lib/unistr/u32-prev.c: Likewise.
62952         * lib/unistr/u32-set.c: Likewise.
62953         * lib/unistr/u32-startswith.c: Likewise.
62954         * lib/unistr/u32-stpcpy.c: Likewise.
62955         * lib/unistr/u32-stpncpy.c: Likewise.
62956         * lib/unistr/u32-strcat.c: Likewise.
62957         * lib/unistr/u32-strchr.c: Likewise.
62958         * lib/unistr/u32-strcmp.c: Likewise.
62959         * lib/unistr/u32-strcpy.c: Likewise.
62960         * lib/unistr/u32-strcspn.c: Likewise.
62961         * lib/unistr/u32-strdup.c: Likewise.
62962         * lib/unistr/u32-strlen.c: Likewise.
62963         * lib/unistr/u32-strmblen.c: Likewise.
62964         * lib/unistr/u32-strmbtouc.c: Likewise.
62965         * lib/unistr/u32-strncat.c: Likewise.
62966         * lib/unistr/u32-strncmp.c: Likewise.
62967         * lib/unistr/u32-strncpy.c: Likewise.
62968         * lib/unistr/u32-strnlen.c: Likewise.
62969         * lib/unistr/u32-strpbrk.c: Likewise.
62970         * lib/unistr/u32-strrchr.c: Likewise.
62971         * lib/unistr/u32-strspn.c: Likewise.
62972         * lib/unistr/u32-strstr.c: Likewise.
62973         * lib/unistr/u32-strtok.c: Likewise.
62974         * lib/unistr/u32-to-u16.c: Likewise.
62975         * lib/unistr/u32-to-u8.c: Likewise.
62976         * lib/unistr/u32-uctomb.c: Likewise.
62977         * lib/unistr/u8-check.c: Likewise.
62978         * lib/unistr/u8-chr.c: Likewise.
62979         * lib/unistr/u8-cmp.c: Likewise.
62980         * lib/unistr/u8-cpy-alloc.c: Likewise.
62981         * lib/unistr/u8-cpy.c: Likewise.
62982         * lib/unistr/u8-endswith.c: Likewise.
62983         * lib/unistr/u8-mblen.c: Likewise.
62984         * lib/unistr/u8-mbsnlen.c: Likewise.
62985         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62986         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62987         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62988         * lib/unistr/u8-mbtouc.c: Likewise.
62989         * lib/unistr/u8-mbtoucr.c: Likewise.
62990         * lib/unistr/u8-move.c: Likewise.
62991         * lib/unistr/u8-next.c: Likewise.
62992         * lib/unistr/u8-prev.c: Likewise.
62993         * lib/unistr/u8-set.c: Likewise.
62994         * lib/unistr/u8-startswith.c: Likewise.
62995         * lib/unistr/u8-stpcpy.c: Likewise.
62996         * lib/unistr/u8-stpncpy.c: Likewise.
62997         * lib/unistr/u8-strcat.c: Likewise.
62998         * lib/unistr/u8-strchr.c: Likewise.
62999         * lib/unistr/u8-strcmp.c: Likewise.
63000         * lib/unistr/u8-strcpy.c: Likewise.
63001         * lib/unistr/u8-strcspn.c: Likewise.
63002         * lib/unistr/u8-strdup.c: Likewise.
63003         * lib/unistr/u8-strlen.c: Likewise.
63004         * lib/unistr/u8-strmblen.c: Likewise.
63005         * lib/unistr/u8-strmbtouc.c: Likewise.
63006         * lib/unistr/u8-strncat.c: Likewise.
63007         * lib/unistr/u8-strncmp.c: Likewise.
63008         * lib/unistr/u8-strncpy.c: Likewise.
63009         * lib/unistr/u8-strnlen.c: Likewise.
63010         * lib/unistr/u8-strpbrk.c: Likewise.
63011         * lib/unistr/u8-strrchr.c: Likewise.
63012         * lib/unistr/u8-strspn.c: Likewise.
63013         * lib/unistr/u8-strstr.c: Likewise.
63014         * lib/unistr/u8-strtok.c: Likewise.
63015         * lib/unistr/u8-to-u16.c: Likewise.
63016         * lib/unistr/u8-to-u32.c: Likewise.
63017         * lib/unistr/u8-uctomb-aux.c: Likewise.
63018         * lib/unistr/u8-uctomb.c: Likewise.
63019         * lib/unitypes.h: Likewise.
63020         * lib/uniwidth.h: Likewise.
63021         * lib/uniwidth/cjk.h: Likewise.
63022         * lib/uniwidth/u16-strwidth.c: Likewise.
63023         * lib/uniwidth/u16-width.c: Likewise.
63024         * lib/uniwidth/u32-strwidth.c: Likewise.
63025         * lib/uniwidth/u32-width.c: Likewise.
63026         * lib/uniwidth/u8-strwidth.c: Likewise.
63027         * lib/uniwidth/u8-width.c: Likewise.
63028         * lib/uniwidth/width.c: Likewise.
63029
63030 2007-10-07  Bruno Haible  <bruno@clisp.org>
63031
63032         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63033         The file is still under LGPL (see modules/inttypes).
63034
63035 2007-10-06  Bruno Haible  <bruno@clisp.org>
63036
63037         * modules/trunc (Dependencies): Add 'extensions'.
63038         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63039         Reported by Ben Pfaff <blp@gnu.org>.
63040
63041 2007-10-06  Bruno Haible  <bruno@clisp.org>
63042
63043         * modules/freopen-tests: New file.
63044         * tests/test-freopen.c: New file.
63045
63046         * modules/fopen-tests: New file.
63047         * tests/test-fopen.c: New file.
63048
63049         * modules/fopen: New file.
63050         * lib/fopen.c: New file.
63051         * m4/fopen.m4: New file.
63052         * modules/freopen: New file.
63053         * lib/freopen.c: New file.
63054         * m4/freopen.m4: New file.
63055         * lib/stdio.in.h (fopen, freopen): New declarations.
63056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63057         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63058         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63059         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63060         * doc/functions/fopen.texi: Mention the 'fopen' module.
63061         * doc/functions/freopen.texi: Mention the 'freopen' module.
63062
63063 2007-10-06  Bruno Haible  <bruno@clisp.org>
63064
63065         * modules/open-tests: New file.
63066         * tests/test-open.c: New file.
63067
63068         * modules/open: New file.
63069         * lib/open.c: New file.
63070         * m4/open.m4: New file.
63071         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63072         lib/open.c does.
63073         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63074         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63075         macros.
63076         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63077         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63078         REPLACE_OPEN.
63079         * doc/functions/open.texi: Mention the 'open' module.
63080
63081 2007-10-04  Bruno Haible  <bruno@clisp.org>
63082
63083         * modules/ceill-tests: New file.
63084         * tests/test-ceill.c: New file.
63085
63086         * modules/ceill: New file.
63087         * lib/ceill.c: Replace entire file.
63088         * m4/ceill.m4: New file.
63089         * lib/math.in.h (ceill): Replace declaration.
63090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63091         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63092         * doc/functions/ceill.texi: Mention the 'ceill' module.
63093         * modules/mathl (Files): Remove lib/ceill.c.
63094         (Depends-on): Add ceill.
63095
63096 2007-10-04  Bruno Haible  <bruno@clisp.org>
63097
63098         * modules/ceilf-tests: New file.
63099         * tests/test-ceilf.c: New file.
63100
63101         * modules/ceilf: New file.
63102         * lib/ceil.c: New file.
63103         * lib/ceilf.c: New file.
63104         * m4/ceilf.m4: New file.
63105         * lib/math.in.h (ceilf): New declaration.
63106         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63107         HAVE_DECL_CEILF.
63108         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63109         HAVE_DECL_CEILF.
63110         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63111
63112 2007-10-04  Bruno Haible  <bruno@clisp.org>
63113
63114         * modules/floorl-tests: New file.
63115         * tests/test-floorl.c: New file.
63116
63117         * modules/floorl: New file.
63118         * lib/floorl.c: Replace entire file.
63119         * m4/floorl.m4: New file.
63120         * lib/math.in.h (floorl): Replace declaration.
63121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63122         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63123         * doc/functions/floorl.texi: Mention the 'floorl' module.
63124         * modules/mathl (Files): Remove lib/floorl.c.
63125         (Depends-on): Add floorl.
63126
63127 2007-10-04  Bruno Haible  <bruno@clisp.org>
63128
63129         * modules/floorf-tests: New file.
63130         * tests/test-floorf.c: New file.
63131
63132         * modules/floorf: New file.
63133         * lib/floor.c: New file.
63134         * lib/floorf.c: New file.
63135         * m4/floorf.m4: New file.
63136         * lib/math.in.h (floorf): New declaration.
63137         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63138         HAVE_DECL_FLOORF.
63139         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63140         HAVE_DECL_FLOORF.
63141         * doc/functions/floorf.texi: Mention the 'floorf' module.
63142
63143 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63144             Bruno Haible  <bruno@clisp.org>
63145
63146         Advertise for the Git server instead of the CVS server.
63147         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63148         repository instead of the CVS one.
63149         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63150         about all VCS systems generically.
63151         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63152
63153 2007-10-04  Bruno Haible  <bruno@clisp.org>
63154
63155         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63156         means.
63157         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63158
63159 2007-10-04  Bruno Haible  <bruno@clisp.org>
63160
63161         * modules/truncl-tests: New file.
63162         * tests/test-truncl.c: New file.
63163
63164         * modules/truncl: New file.
63165         * lib/truncl.c: New file.
63166         * m4/truncl.m4: New file.
63167         * lib/math.in.h (truncl): New declaration.
63168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63169         HAVE_DECL_TRUNCL.
63170         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63171         HAVE_DECL_TRUNCL.
63172         * doc/functions/truncl.texi: Mention the 'truncl' module.
63173
63174 2007-10-04  Bruno Haible  <bruno@clisp.org>
63175
63176         * modules/truncf-tests: New file.
63177         * tests/test-truncf.c: New file.
63178
63179         * modules/truncf: New file.
63180         * lib/trunc.c: Make paramerizable through USE_* macros.
63181         * lib/truncf.c: New file.
63182         * m4/truncf.m4: New file.
63183         * lib/math.in.h (truncf): New declaration.
63184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63185         HAVE_DECL_TRUNCF.
63186         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63187         HAVE_DECL_TRUNCF.
63188         * doc/functions/truncf.texi: Mention the 'truncf' module.
63189
63190 2007-10-03  Bruno Haible  <bruno@clisp.org>
63191
63192         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63193         augmentation also for tests modules.
63194         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63195         * modules/atexit-tests (Makefile.am): Likewise.
63196         * modules/binary-io-tests (Makefile.am): Likewise.
63197         * modules/c-strcase-tests (Makefile.am): Likewise.
63198         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63199         * modules/canonicalize-tests (Makefile.am): Likewise.
63200         * modules/closein-tests (Makefile.am): Likewise.
63201         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63202         * modules/freadahead-tests (Makefile.am): Likewise.
63203         * modules/fseek-tests (Makefile.am): Likewise.
63204         * modules/fseeko-tests (Makefile.am): Likewise.
63205         * modules/ftell-tests (Makefile.am): Likewise.
63206         * modules/ftello-tests (Makefile.am): Likewise.
63207         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63208         * modules/isnanl-tests (Makefile.am): Likewise.
63209         * modules/lseek-tests (Makefile.am): Likewise.
63210         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63211         * modules/mbscasestr-tests (Makefile.am): Likewise.
63212         * modules/mbschr-tests (Makefile.am): Likewise.
63213         * modules/mbscspn-tests (Makefile.am): Likewise.
63214         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63215         * modules/mbspbrk-tests (Makefile.am): Likewise.
63216         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63217         * modules/mbsrchr-tests (Makefile.am): Likewise.
63218         * modules/mbsspn-tests (Makefile.am): Likewise.
63219         * modules/mbsstr-tests (Makefile.am): Likewise.
63220         * modules/printf-posix-tests (Makefile.am): Likewise.
63221         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63222         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63223         * modules/tsearch-tests (Makefile.am): Likewise.
63224         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63225         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63226         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63227         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63228         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63229         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63230         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63231         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63232         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
63233         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
63234         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63235         * modules/xstrtol-tests (Makefile.am): Likewise.
63236         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63237         * modules/yesno-tests (Makefile.am): Likewise.
63238
63239 2007-10-03  Bruno Haible  <bruno@clisp.org>
63240
63241         * modules/trunc-tests: New file.
63242         * tests/test-trunc.c: New file.
63243
63244         * modules/trunc: New file.
63245         * lib/trunc.c: New file.
63246         * m4/trunc.m4: New file.
63247         * lib/math.in.h (trunc): New declaration.
63248         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
63249         HAVE_DECL_TRUNC.
63250         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
63251         HAVE_DECL_TRUNC.
63252         * doc/functions/trunc.texi: Mention the 'trunc' module.
63253
63254 2007-10-03  Bruno Haible  <bruno@clisp.org>
63255
63256         * tests/test-fpending.c: New file, mostly copied
63257         from coreutils/lib/t-fpending.c.
63258         * modules/fpending-tests: New file.
63259
63260 2007-10-03  Bruno Haible  <bruno@clisp.org>
63261
63262         Port the stdio extensions to QNX (untested).
63263         * lib/fseterr.c (fseterr): Add support for QNX.
63264         * lib/fbufmode.c (fbufmode): Likewise.
63265         * lib/freadable.c (freadable): Likewise.
63266         * lib/fwritable.c (fwritable): Likewise.
63267         * lib/freading.c (freading): Likewise.
63268         * lib/fwriting.c (fwriting): Likewise.
63269         * lib/freadahead.c (freadahed): Likewise.
63270         * lib/fpurge.c (fpurge): Likewise.
63271         * lib/fseeko.c (rpl_fseeko): Likewise.
63272
63273 2007-10-03  Bruno Haible  <bruno@clisp.org>
63274             Jim Meyering  <jim@meyering.net>
63275             Eric Blake  <ebb9@byu.net>
63276
63277         * doc/relocatable.texi: Use @command instead of @program.
63278
63279 2007-10-02  Jim Meyering  <jim@meyering.net>
63280
63281         Perform one more "_.h" -> ".in.h" substitution.
63282         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63283         instead of unistd_.h here, too.
63284
63285 2007-10-01  Bruno Haible  <bruno@clisp.org>
63286
63287         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63288         Needed for the alloca-opt module.
63289
63290 2007-09-30  Bruno Haible  <bruno@clisp.org>
63291
63292         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63293         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63294         alloca_.h.
63295         * lib/argz.in.h: Renamed from lib/argz_.h.
63296         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63297         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63298         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63299         byteswap_.h.
63300         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63301         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63302         dirent_.h.
63303         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63304         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63305         fcntl_.h.
63306         * lib/float.in.h: Renamed from lib/float_.h.
63307         * modules/float (Files, Makefile.am): Use float.in.h instead of
63308         float_.h.
63309         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63310         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63311         fnmatch_.h.
63312         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63313         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63314         getopt_.h.
63315         * lib/glob.in.h: Renamed from lib/glob_.h.
63316         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63317         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63318         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63319         iconv_.h.
63320         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63321         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63322         inttypes_.h.
63323         * lib/locale.in.h: Renamed from lib/locale_.h.
63324         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63325         locale_.h.
63326         * lib/math.in.h: Renamed from lib/math_.h.
63327         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63328         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63329         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63330         of netinet_in_.h. Add dependency.
63331         * lib/poll.in.h: Renamed from lib/poll_.h.
63332         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63333         * lib/search.in.h: Renamed from lib/search_.h.
63334         * modules/search (Files, Makefile.am): Use search.in.h instead of
63335         search_.h.
63336         * lib/signal.in.h: Renamed from lib/signal_.h.
63337         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63338         _signal.h.
63339         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63340         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63341         stdbool_.h.
63342         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63343         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63344         stdint_.h.
63345         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63346         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63347         stdio_.h.
63348         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63349         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63350         stdlib_.h.
63351         * lib/string.in.h: Renamed from lib/string_.h.
63352         * modules/string (Files, Makefile.am): Use string.in.h instead of
63353         string_.h.
63354         * doc/gnulib-tool.texi (Initial import): Update.
63355         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63356         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63357         of sys_select_.h. Add dependency.
63358         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63359         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63360         of sys_socket_.h.
63361         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63362         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63363         sys_stat_.h.
63364         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63365         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63366         sys_time_.h.
63367         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63368         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63369         sysexits_.h.
63370         * lib/time.in.h: Renamed from lib/time_.h.
63371         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63372         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63373         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63374         unistd_.h.
63375         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63376         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63377         wchar_.h.
63378         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63379         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63380         wctype_.h.
63381         * build-aux/bootstrap (slurp): Update.
63382         * lib/.cppi-disable: Update.
63383
63384 2007-09-30  Bruno Haible  <bruno@clisp.org>
63385
63386         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63387         Needed on BeOS.
63388
63389 2007-09-30  Bruno Haible  <bruno@clisp.org>
63390
63391         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63392
63393 2007-09-29  Bruno Haible  <bruno@clisp.org>
63394
63395         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63396
63397 2007-09-29  Bruno Haible  <bruno@clisp.org>
63398
63399         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63400         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63401         * build-aux/install-reloc: Compile also areadlink.c.
63402         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63403
63404 2007-09-29  Bruno Haible  <bruno@clisp.org>
63405
63406         * gnulib-tool (func_emit_initmacro_done): Indentation.
63407
63408 2007-09-29  Bruno Haible  <bruno@clisp.org>
63409
63410         * README: Add CVS checkout update instructions.
63411         Info from Bob Proulx <bob@proulx.com>.
63412
63413 2007-09-28  Eric Blake  <ebb9@byu.net>
63414
63415         Provide move-if-change.
63416         * build-aux/move-if-change: New file, based on best practice
63417         rather than any canonical upstream location.
63418
63419 2007-09-28  Jim Meyering  <jim@meyering.net>
63420
63421         Fix canonicalize loop-detection corner case.
63422         Do not attempt to stat the symlink values stored via seen_triple.
63423         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63424         on linux-2.6.18, (but not 2.6.22).
63425         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63426         triple_compare.  The former compares dev,ino,filename, while the latter
63427         would actually stat dirname(filename) when dev and ino were equal.
63428         * lib/hash-triple.c: Install <string.h>.
63429         (STREQ): Define.
63430         (triple_compare_ino_str): New function.
63431         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63432
63433 2007-09-28  Eric Blake  <ebb9@byu.net>
63434
63435         Enforce that AC_REPLACE_FUNCS files exist.
63436         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63437         override check for typos.
63438
63439         Fix test-closein on Solaris 10.
63440         * tests/test-closein.c (main): Don't assume stdin can be inherited
63441         closed on all systems.
63442         * tests/test-closein.sh: Likewise.
63443         Reported by Piotr Tarnowski.
63444
63445 2007-09-28  Jim Meyering  <jim@meyering.net>
63446
63447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63448
63449 2007-09-27  Jim Meyering  <jim@meyering.net>
63450
63451         canonicalize: Avoid a false-positive cycle failure.
63452         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63453         Sort.  Remove cycle-check.
63454         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63455         not cycle-check.h.
63456         (seen_triple): New function.
63457         (canonicalize_filename_mode): Use it instead of cycle-check.
63458         * tests/test-canonicalize.c: Add a test for this bug.
63459         * tests/test-canonicalize.sh: Set up and run the test.
63460
63461         New module, file-set, from coreutils.
63462         * modules/file-set: Define it.
63463         * lib/file-set.c, lib/file-set.h: Implement.
63464
63465         New module, hash-triple, from coreutils.
63466         * modules/hash-triple: Define it.
63467         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63468
63469 2007-09-25  Eric Blake  <ebb9@byu.net>
63470
63471         Fix strerror on Interix.
63472         * lib/string_.h (strerror): Declare replacement.
63473         * doc/functions/strerror.texi (strerror): Document the Interix
63474         shortcoming.
63475         * modules/string (Makefile.am): Support new hooks.
63476         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63477         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63478         gl_FUNC_STRERROR_SEPARATE.
63479         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63480         * lib/strerror.c (rpl_strerror): Provide replacement.
63481         * modules/strerror (Depends-on): Add string.
63482         (configure.ac): Detect use of module.
63483         * tests/test-strerror.c: New file.
63484         * modules/strerror-tests: New test module.
63485         * modules/argp (Depends-on): Add strerror.
63486         * modules/error (Depends-on): Likewise.
63487         Reported by Martin Koeppe.
63488
63489 2007-09-24  Bruno Haible  <bruno@clisp.org>
63490
63491         * README: Update git instructions.
63492
63493 2007-09-24  Eric Blake  <ebb9@byu.net>
63494
63495         Revert fpending breakage from 2007-09-08.
63496         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63497         __fpending.c.
63498
63499 2007-09-24  Jim Meyering  <jim@meyering.net>
63500
63501         filenamecat.c: Add a test.
63502         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63503         showing how the function works when DIR is the empty string.
63504
63505 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63506
63507         * tests/test-canonicalize.sh: Turn on executable bit.
63508
63509 2007-09-19  Eric Blake  <ebb9@byu.net>
63510
63511         * README: Update CVS instructions.
63512
63513 2007-09-18  Bruno Haible  <bruno@clisp.org>
63514
63515         * modules/areadlink: New file.
63516         * lib/areadlink.h (areadlink): New declaration.
63517         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63518
63519 2007-09-17  Jim Meyering  <jim@meyering.net>
63520
63521         * lib/savewd.c (ESTALE) [!defined]: Define.
63522         Reported to be required on Interix by Martin Koeppe.
63523
63524 2007-09-17  Bruno Haible  <bruno@clisp.org>
63525
63526         * gnulib-tool (func_version): Use $version.
63527
63528 2007-09-16  Bruno Haible  <bruno@clisp.org>
63529
63530         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63531         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63532         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63533         Reported by Greg Schafer <gschafer@zip.com.au>.
63534
63535 2007-09-15  Bruno Haible  <bruno@clisp.org>
63536
63537         * gnulib-tool (sed): Try a little harder to make bash understand the
63538         alias.
63539         Reported by Bruce Korb <bruce.korb@gmail.com>.
63540
63541 2007-09-13  Eric Blake  <ebb9@byu.net>
63542
63543         * ChangeLog: Remove conflict markers.
63544
63545 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63546
63547         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63548         Reported by Bruno Haible <bruno@clisp.org>.
63549
63550 2007-09-12  Bruno Haible  <bruno@clisp.org>
63551
63552         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63553         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63554         is not defined.
63555
63556 2007-09-12  Eric Blake  <ebb9@byu.net>
63557
63558         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63559         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63560         Autoconf definition.
63561         * modules/euidaccess (Depends-on): Add extensions, for
63562         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63563         * modules/fnmatch (Depends-on): Likewise.
63564         * modules/getaddrinfo (Depends-on): Likewise.
63565         * modules/getdelim (Depends-on): Likewise.
63566         * modules/getline (Depends-on): Likewise.
63567         * modules/getsubopt (Depends-on): Likewise.
63568         * modules/gettext (Depends-on): Likewise.
63569         * modules/group-member (Depends-on): Likewise.
63570         * modules/mbchar (Depends-on): Likewise.
63571         * modules/memmem (Depends-on): Likewise.
63572         * modules/mempcpy (Depends-on): Likewise.
63573         * modules/memrchr (Depends-on): Likewise.
63574         * modules/pagealign_alloc (Depends-on): Likewise.
63575         * modules/readutmp (Depends-on): Likewise.
63576         * modules/stpcpy (Depends-on): Likewise.
63577         * modules/stpncpy (Depends-on): Likewise.
63578         * modules/strchrnul (Depends-on): Likewise.
63579         * modules/strndup (Depends-on): Likewise.
63580         * modules/strsep (Depends-on): Likewise.
63581         * modules/strverscmp (Depends-on): Likewise.
63582         * modules/vasprintf (Depends-on): Likewise.
63583         * modules/wcwidth (Depends-on): Likewise.
63584         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
63585         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
63586         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
63587         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
63588         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63589         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63590         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
63591         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63592         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
63593         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
63594         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63595         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63596         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63597         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63598         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
63599         * m4/readutmp.m4 (gl_READUTMP): Likewise.
63600         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63601         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63602         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63603         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63604         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63605         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63606         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63607         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
63608         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
63609         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63610         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
63611         so that lock.m4 can be used in gettext without extensions module.
63612
63613 2007-09-11  Bruno Haible  <bruno@clisp.org>
63614
63615         * m4/isc-posix.m4: Remove file.
63616         Suggested by Eric Blake.
63617
63618 2007-09-11  Eric Blake  <ebb9@byu.net>
63619
63620         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
63621
63622 2007-09-10  Bruno Haible  <bruno@clisp.org>
63623
63624         * posix-modules: Fix typo in error message.
63625         Reported by Matt <mkraai@beckman.com>.
63626
63627 2007-09-09  Bruno Haible  <bruno@clisp.org>
63628
63629         * doc/functions/getdelim.texi: Update list of platforms lacking the
63630         function.
63631         * doc/functions/getline.texi: Likewise.
63632
63633 2007-09-09  Jim Meyering  <jim@meyering.net>
63634
63635         * lib/hash.c (hash_initialize): Detect calloc failure.
63636         Reported by Bruno Haible.
63637
63638 2007-09-09  Bruno Haible  <bruno@clisp.org>
63639
63640         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
63641         malloc or realloc fails.
63642
63643 2007-09-09  Bruno Haible  <bruno@clisp.org>
63644
63645         * modules/getcwd (Depends-on): Add malloc-posix.
63646         * modules/glob (Depends-on): Likewise.
63647         * modules/putenv (Depends-on): Likewise.
63648         * modules/strdup (Depends-on): Likewise.
63649         * modules/getdelim (Depends-on): Add realloc-posix.
63650         * modules/read-file (Depends-on): Likewise.
63651
63652 2007-09-09  Bruno Haible  <bruno@clisp.org>
63653
63654         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
63655         (gl_FUNC_MALLOC_POSIX): Require it.
63656         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
63657         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
63658         * modules/realloc (Files): Add m4/malloc.m4.
63659         * modules/calloc (Files): Likewise.
63660
63661 2007-09-09  Bruno Haible  <bruno@clisp.org>
63662
63663         * modules/malloc-posix: New file.
63664         * modules/malloc (Depends-on): Add malloc-posix.
63665         * lib/malloc.c: Include errno.h.
63666         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
63667         and a POSIX-compatible malloc into a single function. Set ENOMEM
63668         when returning NULL.
63669         * m4/malloc.m4: New file.
63670         * doc/functions/malloc.texi: Mention the malloc-posix module.
63671         * lib/stdlib_.h (malloc): New declaration.
63672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63673         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
63674         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
63675         and HAVE_MALLOC_POSIX.
63676
63677 2007-09-09  Bruno Haible  <bruno@clisp.org>
63678
63679         * modules/realloc-posix: New file.
63680         * modules/realloc (Depends-on): Add realloc-posix.
63681         * lib/realloc.c: Include errno.h.
63682         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
63683         and a POSIX-compatible realloc into a single function. Set ENOMEM
63684         when returning NULL.
63685         * m4/realloc.m4: New file.
63686         * doc/functions/realloc.texi: Mention the realloc-posix module.
63687         * lib/stdlib_.h (realloc): New declaration.
63688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63689         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
63690         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
63691         and HAVE_REALLOC_POSIX.
63692
63693 2007-09-09  Bruno Haible  <bruno@clisp.org>
63694
63695         * modules/calloc-posix: New file.
63696         * modules/calloc (Depends-on): Add calloc-posix.
63697         * lib/calloc.c: Include errno.h.
63698         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
63699         and a POSIX-compatible calloc into a single function. Set ENOMEM
63700         when returning NULL.
63701         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
63702         * doc/functions/calloc.texi: Mention the calloc-posix module.
63703         * lib/stdlib_.h (calloc): New declaration.
63704         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63705         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
63706         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
63707         and HAVE_CALLOC_POSIX.
63708
63709 2007-09-09  Bruno Haible  <bruno@clisp.org>
63710
63711         Allow for modules to show an arbitrary notice.
63712         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
63713         * gnulib-tool: New option --extract-notice.
63714         (func_usage): Document it.
63715         (sed_extract_prog): Update.
63716         (func_get_notice): New function.
63717         (func_modules_notice): New function.
63718         (func_import, func_create_testdir): Invoke it.
63719         Suggested by Jim Meyering.
63720
63721 2007-09-09  Bruno Haible  <bruno@clisp.org>
63722
63723         * gnulib-tool: New options --verbose, --quiet.
63724         (func_usage): Document them.
63725         (verbose): New variable.
63726         (func_execute_command): New function.
63727         (func_import): Don't show the module list and the file list if
63728         $verbose < 0.
63729         (func_create_testdir): Likewise. Use func_execute_command.
63730         (func_create_megatestdir): Use func_execute_command.
63731
63732 2007-09-08  Bruno Haible  <bruno@clisp.org>
63733
63734         * gnulib-tool (func_import): Prefer rsync over wget when available,
63735         for fetching the PO files.
63736
63737 2007-09-08  Bruno Haible  <bruno@clisp.org>
63738
63739         * posix-modules: New file. Portions copied from gnulib-tool.
63740         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
63741
63742 2007-09-08  Jim Meyering  <jim@meyering.net>
63743
63744         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
63745         * lib/fpending.h: Rename from __fpending.h.
63746         * lib/fpending.c: Rename from __fpending.c.
63747         Include "fpending.h", not "__fpending.h".
63748         * lib/__fpending.h, lib/__fpending.c: Remove files.
63749         * modules/fpending (Files): Reflect new file names.
63750         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
63751
63752 2007-09-08  Bruno Haible  <bruno@clisp.org>
63753
63754         * m4/inttypes-h.m4: Remove stub file.
63755
63756 2007-09-07  Simon Josefsson  <simon@josefsson.org>
63757
63758         * doc/headers/stdint.texi: Discuss #include_next issue.
63759
63760 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63761
63762         * build-aux/bootstrap: Remove obsolete comment about wget --help.
63763
63764 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63765
63766         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63767         in variable name.
63768
63769 2007-09-03  Jim Meyering  <jim@meyering.net>
63770
63771         New module: git-version-gen.
63772         * modules/git-version-gen: New file.
63773
63774         Import changes from coreutils for bootstrap script.
63775
63776         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63777
63778         bootstrap: uses rsync to download the .po files
63779         * build-aux/bootstrap (po_download_command_format): New global.
63780         (download_po_files): Use rsync.
63781         (update_po_files): Don't remove .po files after download,
63782         so future rsync runs can take advantage of the copies.
63783
63784         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63785
63786         Solve the unnecessary-.po-file-regeneration problem once and for all.
63787         * build-aux/bootstrap (download_po_files): New function, renamed from
63788         get_translations.  Now, downloads, but doesn't update LINGUAS.
63789         (update_po_files): New function.
63790
63791         bootstrap: Ignore more.
63792         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63793         uniwidth to e.g., lib/.gitignore.
63794         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63795
63796         * build-aux/bootstrap: New setting: vc_ignore.
63797         (insert_sorted_if_absent): Create $file if absent.
63798         Adapt to new, possibly empty, list: $vc_ignore.
63799
63800         bootstrap: generate more ignorable names
63801         * build-aux/bootstrap (slurp): When generating ignorable names,
63802         also map .sin to .sed, .gperf to .c, and .y to .c.
63803
63804 2007-09-03  Jim Meyering  <jim@meyering.net>
63805
63806         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63807         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63808
63809 2007-09-02  Bruno Haible  <bruno@clisp.org>
63810
63811         Fix mis-recognition of 'mcs' on QNX 6.
63812         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63813         output contains the string "Mono".
63814         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63815         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63816
63817 2007-09-01  Bruno Haible  <bruno@clisp.org>
63818
63819         Fix collision between uniwidth/* and linebreak modules.
63820         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63821         u32_width): Remove declarations.
63822         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63823         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63824         streq3, streq2, streq1, streq0): Remove functions.
63825         (STREQ): Remove macro.
63826         (is_cjk_encoding): Remove function.
63827         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63828         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63829         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63830         * NEWS: Document the change.
63831
63832 2007-09-01  Bruno Haible  <bruno@clisp.org>
63833
63834         * lib/streq.h: Add double-inclusion guard.
63835
63836 2007-09-01  Karl Berry  <karl@gnu.org>
63837
63838         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63839
63840 2007-08-28  Jim Meyering  <jim@meyering.net>
63841
63842         Rename mreadlink_with_size to areadlink_with_size.
63843         * NEWS: Document the change.
63844         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63845         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63846         * lib/mreadlink.h: Rename this to...
63847         * lib/areadlink.h: ...this.
63848         * modules/mreadlink-with-size: Rename this to...
63849         * modules/areadlink-with-size: ...this.
63850         * lib/canonicalize.c: Reflect the renaming.
63851         * modules/canonicalize: Likewise.
63852
63853 2007-08-26  Bruno Haible  <bruno@clisp.org>
63854
63855         * gnulib-tool (func_import): When deciding which files to remove,
63856         consider also dangling symbolic links.
63857         Reported by Eric Blake.
63858
63859 2007-08-26  Bruno Haible  <bruno@clisp.org>
63860
63861         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63862
63863 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63864
63865         * lib/readline.c: Don't include getline.h, the prototype is now
63866         found in stdio.h.
63867
63868 2007-08-23  Jim Meyering  <jim@meyering.net>
63869
63870         Getdelim touchup.
63871         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63872         around the funlockfile call, since funlockfile never sets errno.
63873         Don't set errno upon failed realloc.
63874
63875 2007-08-22  Eric Blake  <ebb9@byu.net>
63876
63877         Getline touchups.
63878         * lib/getdelim.c (getdelim): Revert regression that required *n to
63879         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63880         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63881         getdelim, rather than whether implementation is missing.
63882         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63883         * lib/stdio_.h (getline): Also declare if replacement is
63884         required.
63885         * doc/functions/getdelim.texi: New file.
63886         * doc/functions/getline.texi: Likewise.
63887         * doc/gnulib.texi (Function Substitutes): Add new files.
63888         Reported by Bruno Haible.
63889
63890 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63891
63892         * users.txt: Add Guile.
63893
63894 2007-08-22  Eric Blake  <ebb9@byu.net>
63895
63896         * tests/test-getdelim.c (main): Use remove, not unlink.
63897         * tests/test-getline.c (main): Likewise.
63898
63899         Move getline and getdelim into stdio.h, per POSIX 200x.
63900         * modules/getline (Files): Remove getline.h.
63901         (Depends-on): Add stdio.
63902         (configure.ac): Add module indicator.
63903         * modules/getdelim (Files): Remove getdelim.h.
63904         (Depends-on): Add stdio.
63905         (configure.ac): Add module indicator.
63906         * modules/stdio (Makefile.am): Work with new indicators.
63907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63908         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63909         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63910         * lib/getdelim.h: Delete.
63911         * lib/getline.h: Delete.
63912         * lib/stdio_.h (getdelim, getline): Declare.
63913         * modules/getdelim-tests: New module.
63914         * modules/getline-tests: Likewise.
63915         * tests/test-getdelim.c: New file.
63916         * tests/test-getline.c: Likewise.
63917         * NEWS: Document the change.
63918         * lib/getline.c: Update choice of header.
63919         * lib/csharpcomp.c: Likewise.
63920         * lib/getpass.c: Likewise.
63921         * lib/javacomp.c: Likewise.
63922         * lib/javaversion.c: Likewise.
63923         * lib/yesno.c: Likewise.
63924         * lib/getdelim.c: Likewise.
63925         (getdelim): Set errno on failure, and avoid memory leak.
63926
63927 2007-08-19  Bruno Haible  <bruno@clisp.org>
63928
63929         * modules/closein (Depends-on): Add freadahead.
63930         * lib/closein.c: Include freadahead.h.
63931         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63932         is zero.
63933
63934 2007-08-19  Bruno Haible  <bruno@clisp.org>
63935
63936         * modules/freadahead-tests: New file.
63937         * tests/test-freadahead.sh: New file.
63938         * tests/test-freadahead.c: New file.
63939
63940         * modules/freadahead: New file.
63941         * lib/freadahead.h: New file.
63942         * lib/freadahead.c: New file.
63943         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63944         fbufmode, fpurge, freadable, fwritable.
63945
63946 2007-08-19  Eric Blake  <ebb9@byu.net>
63947
63948         Test yesno in combination with closein.
63949         * lib/yesno.c (yesno): Document use of stdin.
63950         * modules/yesno-tests (Files): New module.
63951         * tests/test-yesno.c (main): New file.
63952         * tests/test-yesno.sh: Likewise.
63953
63954 2007-08-19  Bruno Haible  <bruno@clisp.org>
63955
63956         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63957         * lib/fseeko.c (rpl_fseeko): Likewise.
63958         * lib/fseterr.c (fseterr): Likewise.
63959
63960 2007-08-19  Bruno Haible  <bruno@clisp.org>
63961
63962         * tests/test-lseek.c (main): Disable a test for BeOS.
63963         * doc/functions/lseek.texi: Document the BeOS bug.
63964
63965 2007-08-19  Bruno Haible  <bruno@clisp.org>
63966             Eric Blake  <ebb9@byu.net>
63967
63968         * lib/lseek.c: Include <sys/stat.h>.
63969         (rpl_lseek): Add workaround code also for Unix platforms.
63970         Needed for BeOS.
63971         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63972         * doc/functions/lseek.texi: Document BeOS definiency.
63973
63974 2007-08-18  Bruno Haible  <bruno@clisp.org>
63975
63976         * modules/fstrcmp-tests: New file.
63977         * tests/test-fstrcmp.c: New file.
63978
63979 2007-08-18  Bruno Haible  <bruno@clisp.org>
63980
63981         * modules/fstrcmp: New file, from GNU gettext with modifications.
63982         * lib/fstrcmp.h: New file, from GNU gettext.
63983         * lib/fstrcmp.c: New file, from GNU gettext.
63984         * MODULES.html.sh (String handling): Add fstrcmp.
63985
63986 2007-08-18  Bruno Haible  <bruno@clisp.org>
63987
63988         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63989         'bool'.
63990         (diag, compareseq): Remove const from the ctxt argument.
63991         (USE_HEURISTIC): Undefine at the end.
63992
63993 2007-08-18  Jim Meyering  <jim@meyering.net>
63994
63995         New file: lib/idcache.h
63996         * NEWS: Mention the addition.
63997         * modules/idcache (Files): Add lib/idcache.h
63998         * lib/idcache.c: Include "idcache.h".
63999         Don't include <sys/types.h>.
64000         Add a FIXME comment.
64001         Move file-scoped "static" declarations to the top.
64002         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64003
64004 2007-08-17  Bruno Haible  <bruno@clisp.org>
64005         and Paul Eggert  <eggert@cs.ucla.edu>
64006
64007         * MODULES.html.sh: Add diffseq.
64008         * modules/diffseq: New file.
64009         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64010         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64011
64012 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64013
64014         Import changes from coreutils for bootstrap script.
64015
64016         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64017
64018         * build-aux/bootstrap (slurp): Work even in environments where
64019         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64020         current code does not slurp files whose names start with ".", and
64021         this looks like it might be a troublesome area.
64022
64023         2007-07-11  Jim Meyering  <jim@meyering.net>
64024
64025         If there's a GPL vN copyright comment, require that N == 3.
64026
64027         2007-07-08  Jim Meyering  <jim@meyering.net>
64028
64029         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64030         * build-aux/bootstrap (mam_template): Move definition out of loop.
64031
64032         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64033
64034         * build-aux/bootstrap (symlink_to_dir): Rename function from
64035         symlink_to_gnulib.  Add a directory parameter.  Update all
64036         callers.
64037         (cp_mark_as_generated): Also check for -- and link to -- files in
64038         gl/.
64039
64040         2007-07-08  Jim Meyering  <jim@meyering.net>
64041
64042         Adapt to deeper hierarchy in gnulib.
64043         * build-aux/bootstrap (symlink_to_dir): If the destination
64044         directory doesn't exist, create it. This is required at least for
64045         "lib/uniwidth/cjk.h".
64046
64047         2007-05-15  Jim Meyering  <jim@meyering.net>
64048
64049         * build-aux/bootstrap: Now that generated Makefile.am files
64050         are no longer under version control, they must be created at
64051         bootstrap time.
64052
64053 2007-08-14  Ben Pfaff  <blp@gnu.org>
64054
64055         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64056
64057 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64058
64059         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64060         given the changes below.
64061         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64062         even on hosts that have padding bits beyond the supported 64.
64063
64064 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64065
64066         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64067         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64068         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64069         depends on it.
64070         (xstrtol_error): Remove.
64071         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64072         but with a different signature.
64073         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64074         * lib/xstrtol-error.c: Include exitfail.h.
64075         (xstrtol_fatal): New function, with a different signature from the
64076         old xstrtol_error, so that the caller need not worry about passing
64077         in an exit status, or about storage management of the option argument.
64078         (xstrtol_error): Now a static function.  Redo signature to
64079         implement xstrtol_fatal.  Output the correct number of hyphens in
64080         front of the option so that the caller need not worry about
64081         storage management.
64082         (N_): New macro.
64083         (_): Remove; not used now.
64084         * modules/xstrtol: Depend on getopt.
64085         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64086         of old STRTOL_FATAL_ERROR macro.
64087         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64088         of test program.
64089         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64090         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64091
64092 2007-08-08  Eric Blake  <ebb9@byu.net>
64093
64094         * lib/xstrtol-error.c: Add missing include.
64095
64096         Move xstrtol messages into gnulib domain, when --pobase is used.
64097         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64098         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64099         * modules/xstrtol (Files): Distribute new file.
64100         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64101         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64102         * tests/test-xstrtol.c: ...into new file.
64103         * tests/test-xstrtoul.c: Also test xstrtoul.
64104         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64105         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64106         * tests/test-xstrtol.sh: Drive the tests.
64107         * tests/test-xstrtoimax.sh: Likewise.
64108         * tests/test-xstrtoumax.sh: Likewise.
64109         * modules/xstrtol-tests: New module.
64110         * modules/xstrtoimax-tests: Likewise.
64111         * modules/xstrtoumax-tests: Likewise.
64112
64113 2007-08-08  Jim Meyering  <jim@meyering.net>
64114
64115         New function: mfile_name_concat.
64116         * lib/filenamecat.c (mfile_name_concat): New function, just like
64117         file_name_concat, but return NULL upon failure rather than exiting
64118         with a diagnostic.
64119         * lib/filenamecat.h: Declare it.
64120
64121 2007-08-07  Bruno Haible  <bruno@clisp.org>
64122
64123         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64124         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64125         warning from gcc.
64126         Reported by Eric Blake.
64127
64128 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64129
64130         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64131         * modules/crypto/arcfour (License): Likewise.
64132         * modules/crypto/des-tests (License): Likewise.
64133         * modules/crypto/gc-arctwo-tests (License): Likewise.
64134         * modules/crypto/gc-des-tests (License): Likewise.
64135         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64136         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64137         * modules/crypto/gc-md2-tests (License): Likewise.
64138         * modules/crypto/gc-md4-tests (License): Likewise.
64139         * modules/crypto/gc-md5-tests (License): Likewise.
64140         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64141         * modules/crypto/gc-rijndael-tests (License): Likewise.
64142         * modules/crypto/gc-sha1-tests (License): Likewise.
64143         * modules/crypto/gc-tests (License): Likewise.
64144         * modules/crypto/hmac-md5 (License): Likewise.
64145         * modules/crypto/hmac-sha1 (License): Likewise.
64146         * modules/crypto/md2-tests (License): Likewise.
64147         * modules/crypto/md4-tests (License): Likewise.
64148         * modules/crypto/md5 (License): Likewise.
64149         * modules/crypto/rijndael (License): Likewise.
64150         * modules/crypto/sha1 (License): Likewise.
64151         * modules/memxor (License): Likewise.
64152
64153 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64154         and Bruno Haible  <bruno@clisp.org>
64155
64156         * NEWS: Describe interface changes to human, xstrtol.
64157         * lib/human.h: Include <xstrtol.h>.
64158         (human_options): Return enum strtol_error, not int.  Remove
64159         bool arg; take int * instead.
64160         * lib/human.c: Don't include "gettext.h".
64161         (_): Remove; no longer used.
64162         Don't include <xstrtol.h>, since human.h does it.
64163         (human_options): Adjust to abovementioned interface changes.
64164         Do not report error to stderr; that's now the caller's
64165         responsibility.
64166         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64167         interface change.
64168         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64169         Str, Argument_type_string.  All uses changed.  Put " argument"
64170         in diagnostics to make them clearer.  Change wording of suffix
64171         message for clarity.
64172         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64173         Argument_type_string.
64174         (STRTOL_FATAL_WARN): Remove; no longer used.
64175         * modules/human (Depends-on): Remove gettext-h.
64176
64177 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64178
64179         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64180
64181 2007-07-31  Bruno Haible  <bruno@clisp.org>
64182
64183         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64184         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64185         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64186
64187 2007-07-31  Bruno Haible  <bruno@clisp.org>
64188
64189         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64190         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64191
64192 2007-07-30  Bruno Haible  <bruno@clisp.org>
64193
64194         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64195         * modules/c-ctype (License): Likewise.
64196         * modules/c-strcase (License): Likewise.
64197         * modules/check-version (License): Likewise.
64198         * modules/iconv (License): Likewise.
64199         * modules/iconv_open (License): Likewise.
64200         * modules/read-file (License): Likewise.
64201         * modules/striconv (License): Likewise.
64202         * modules/strverscmp (License): Likewise.
64203         * modules/vasprintf (License): Likewise.
64204         * modules/crypto/des (License): Likewise.
64205         * modules/crypto/gc (License): Likewise.
64206         * modules/crypto/gc-arcfour (License): Likewise.
64207         * modules/crypto/gc-arctwo (License): Likewise.
64208         * modules/crypto/gc-des (License): Likewise.
64209         * modules/crypto/gc-hmac-md5 (License): Likewise.
64210         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64211         * modules/crypto/gc-md2 (License): Likewise.
64212         * modules/crypto/gc-md4 (License): Likewise.
64213         * modules/crypto/gc-md5 (License): Likewise.
64214         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64215         * modules/crypto/gc-random (License): Likewise.
64216         * modules/crypto/gc-rijndael (License): Likewise.
64217         * modules/crypto/gc-sha1 (License): Likewise.
64218         * modules/crypto/md2 (License): Likewise.
64219         * modules/crypto/md4 (License): Likewise.
64220
64221 2007-07-30  Jim Meyering  <jim@meyering.net>
64222
64223         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64224         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64225         it has valid stat data.  This bug would cause du not to count the
64226         sizes of inaccessible directories.
64227         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64228         in <http://bugzilla.redhat.com/250077>.
64229
64230 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64231             Bruno Haible  <bruno@clisp.org>
64232
64233         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
64234         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
64235         #include_next, gives a diagnostic about it, but reports no error in
64236         the exit code.
64237         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
64238
64239 2007-07-24  Ben Pfaff  <blp@gnu.org>
64240
64241         Improve name: "count-one-bits" is better than "popcount".
64242         * MODULES.html.sh: Update name.
64243         * lib/popcount.h: Renamed lib/count-one-bits.h.
64244         (popcount): Renamed count_one_bits.
64245         (popcountl): Renamed count_one_bits_l.
64246         (popcountll): Renamed count_one_bits_ll.
64247         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
64248         * modules/popcount: Renamed module/count-one-bits.
64249         * modules/popcount-tests: Renamed module/count-one-bits-tests.
64250         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
64251
64252 2007-07-23  Ben Pfaff  <blp@gnu.org>
64253
64254         * lib/popcount.h (popcount32): Reduce size of constants, to allow
64255         better code generation, and add U to large constants to avoid
64256         warnings, in non-GCC case.
64257         Suggested by Bruno Haible.
64258
64259 2007-07-23  Ben Pfaff  <blp@gnu.org>
64260
64261         * lib/popcount.h: Use verify_true instead of if...abort.
64262         * modules/popcount: Depend on verify module.
64263         Suggested by Jim Meyering.
64264
64265 2007-07-23  Bruno Haible  <bruno@clisp.org>
64266
64267         * gnulib-tool (func_import): Create a .cvsignore file also when the
64268         directory is not yet in CVS but the toplevel directory is. When
64269         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64270         Reported by Karl Berry.
64271
64272 2007-07-22  Ben Pfaff  <blp@gnu.org>
64273
64274         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64275         case.
64276         Suggested by Eric Blake.
64277
64278 2007-07-22  Ben Pfaff  <blp@gnu.org>
64279
64280         New module: popcount.
64281         * MODULES.html.sh: Add popcount.
64282         * modules/popcount: New file.
64283         * modules/popcount-tests: New file.
64284         * tests/test-popcount.c: New file.
64285         * lib/popcount.h: New file.
64286         * m4/popcount.m4: New file.
64287
64288 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64289
64290         * build-aux/announce-gen: Update to GPLv3.
64291
64292         * build-aux/config.guess: Update from config.
64293
64294 2007-07-21  Bruno Haible  <bruno@clisp.org>
64295
64296         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64297         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64298
64299 2007-07-20  Jim Meyering  <jim@meyering.net>
64300
64301         * check-module: Diagnose a self-dependency.
64302
64303 2007-07-19  Bruno Haible  <bruno@clisp.org>
64304
64305         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64306         empty.
64307         Reported by Eric Blake.
64308
64309 2007-07-18  Bruno Haible  <bruno@clisp.org>
64310
64311         * gnulib-tool: New options --po-base, --po-domain.
64312         (func_usage): Document them.
64313         (pobase, po_domain): New variables.
64314         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64315         DEFAULT_TEXT_DOMAIN.
64316         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64317         (func_import): Consider pobase and po_domain. Create a po/ directory.
64318         (func_create_testdir): Set pobase and po_domain to empty.
64319         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64320         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64321
64322 2007-07-18  Bruno Haible  <bruno@clisp.org>
64323
64324         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64325         EXTRA_DIST augmentation for files in build-aux/.
64326
64327 2007-07-16  Bruno Haible  <bruno@clisp.org>
64328
64329         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64330         * modules/getdelim (License): Likewise.
64331
64332 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64333
64334         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64335         * modules/d-type (License): Likewise.
64336         * modules/extensions (License): Likewise.
64337         * modules/fnmatch (License): Likewise.
64338         * modules/fseeko (License): Likewise.
64339         * modules/getaddrinfo (License): Likewise.
64340         * modules/getline (License): Likewise.
64341         * modules/getlogin_r (License): Likewise.
64342         * modules/getpass (License): Likewise.
64343         * modules/gettimeofday (License): Likewise.
64344         * modules/glob (License): Likewise.
64345         * modules/inet_ntop (License): Likewise.
64346         * modules/malloc (License): Likewise.
64347         * modules/malloca (License): Likewise.
64348         * modules/memmem (License): Likewise.
64349         * modules/mempcpy (License): Likewise.
64350         * modules/memset (License): Likewise.
64351         * modules/minmax (License): Likewise.
64352         * modules/mktime (License): Likewise.
64353         * modules/netinet_in (License): Likewise.
64354         * modules/pathmax (License): Likewise.
64355         * modules/poll (License): Likewise.
64356         * modules/regex (License): Likewise.
64357         * modules/snprintf (License): Likewise.
64358         * modules/stdbool (License): Likewise.
64359         * modules/stdint (License): Likewise.
64360         * modules/stdio (License): Likewise.
64361         * modules/strcase (License): Likewise.
64362         * modules/strcasestr (License): Likewise.
64363         * modules/strdup (License): Likewise.
64364         * modules/string (License): Likewise.
64365         * modules/strndup (License): Likewise.
64366         * modules/strnlen (License): Likewise.
64367         * modules/strpbrk (License): Likewise.
64368         * modules/strptime (License): Likewise.
64369         * modules/strsep (License): Likewise.
64370         * modules/sys_select (License): Likewise.
64371         * modules/sys_socket (License): Likewise.
64372         * modules/sys_stat (License): Likewise.
64373         * modules/sys_time (License): Likewise.
64374         * modules/time (License): Likewise.
64375         * modules/time_r (License): Likewise.
64376         * modules/timegm (License): Likewise.
64377         * modules/unistd (License): Likewise.
64378         * modules/vsnprintf (License): Likewise.
64379         * modules/wctype (License): Likewise.
64380
64381 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64382
64383         * modules/argz (License): LGPLv2+.
64384
64385 2007-07-15  Karl Berry  <karl@gnu.org>
64386
64387         * doc/gnulib.texi: revise node structure per new fdl.texi.
64388
64389 2007-07-14  Bruno Haible  <bruno@clisp.org>
64390
64391         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64392         the output file.
64393         * lib/uniname/uninames.h: Regenerated.
64394
64395 2007-07-14  Karl Berry  <karl@gnu.org>
64396
64397         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64398         omitting sectioning and index commands.
64399
64400 2007-07-13  Bruno Haible  <bruno@clisp.org>
64401
64402         New gnulib-tool option --more-symlinks.
64403         * gnulib-tool (func_usage): Document --more-symlinks.
64404         (do_copyrights): New variable.
64405         Recognize option --more-symlinks.
64406         (func_import): Don't add a copyright notice transform to
64407         sed_transform_lib_file if do_copyrights is empty.
64408
64409 2007-07-13  Bruno Haible  <bruno@clisp.org>
64410
64411         * lib/vasnprintf.c (decimal_point_char): Define also if
64412         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64413         && !NEED_PRINTF_DIRECTIVE_A.
64414         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64415         Gary V. Vaughan <gary@gnu.org>.
64416
64417 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64418
64419         * lib/inttypes_.h: Undo previous change, since it was fixed
64420         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64421
64422 2007-07-13  Bruno Haible  <bruno@clisp.org>
64423
64424         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64425         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64426
64427 2007-07-13  Jim Meyering  <jim@meyering.net>
64428
64429         df: Don't fail for Tru64's "file-on-file mount".
64430         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64431         so we fall through and use statfs instead.  Details here:
64432         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64433         Reported by Albert Chin.
64434
64435 2007-07-13  Bruno Haible  <bruno@clisp.org>
64436
64437         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64438         * modules/configmake (License): Likewise.
64439         * modules/gettext (License): Likewise.
64440         * modules/gettext-h (License): Likewise.
64441         * modules/include_next (License): Likewise.
64442         * modules/link-warning (License): Likewise.
64443         * modules/localcharset (License): Likewise.
64444         * modules/localename (License): Likewise.
64445         * modules/lock (License): Likewise.
64446         * modules/relocatable-lib-lgpl (License): Likewise.
64447         * modules/size_max (License): Likewise.
64448         * modules/vasnprintf (License): Likewise.
64449         * modules/wchar (License): Likewise.
64450         * modules/xsize (License): Likewise.
64451
64452 2007-07-13  Bruno Haible  <bruno@clisp.org>
64453
64454         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64455         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64456
64457 2007-07-12  Bruno Haible  <bruno@clisp.org>
64458
64459         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64460         in the modules files.
64461
64462 2007-07-11  Karl Berry  <karl@gnu.org>
64463
64464         * MODULES.html.sh (func_module): use
64465          sed -e '\|^'"${includefile}"'$|d'
64466          instead of /.../d, to avoid errors on $includefile's containing /.
64467
64468 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64469
64470         * gnulib-tool (func_import): Avoid duplication of --avoid
64471         statements
64472         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64473         names to `_' in variable names.
64474
64475 2007-07-10  Eric Blake  <ebb9@byu.net>
64476
64477         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64478         * NEWS: Document this change.
64479
64480 2007-07-08  Bruno Haible  <bruno@clisp.org>
64481
64482         Update to Unicode 5.0.
64483         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64484         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64485         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64486         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64487         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64488         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64489         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64490         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64491         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64492         U+10A3F, U+1D242..U+1D244.
64493         (nonspacing_table_ind): Update.
64494         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64495         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64496
64497 2007-07-08  Bruno Haible  <bruno@clisp.org>
64498
64499         Update to Unicode 5.0.
64500         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64501         code transform. Extend the name index field of unicode_name_to_code and
64502         unicode_code_to_name from 16 to 24 bits.
64503         * lib/uniname/uniname.c (unicode_character_name,
64504         unicode_name_character): Add the range 0x12xxx to the code transform.
64505         * lib/uniname/uninames.h: Regenerated.
64506         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64507
64508 2007-07-07  Bruno Haible  <bruno@clisp.org>
64509
64510         * modules/wcwidth-tests: New file.
64511         * tests/test-wcwidth.c: New file.
64512
64513         Work around MacOS X wcwidth() bug.
64514         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64515         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64516         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64517         original wcwidth in non-UTF-8 locales.
64518         * modules/wcwidth (Depends-on): Add localcharset, streq,
64519         uniwidth/width.
64520         * doc/functions/wcwidth.texi: Update.
64521
64522 2007-07-07  Bruno Haible  <bruno@clisp.org>
64523
64524         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64525         (wcwidth): New declaration.
64526         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64527         macros.
64528         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64529         here. Prepare for creating <wchar.h> unconditionally.
64530         * modules/wchar (Depends-on): Add link-warning.
64531         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64532         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64533         * lib/wcwidth.h: Remove file.
64534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64535         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64536         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64537         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64538         (Include): Replace wcwidth.h with <wchar.h>.
64539         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64540         * lib/mbchar.h: Don't include wcwidth.h.
64541         * lib/mbswidth.c: Likewise.
64542         * NEWS: Mention the change.
64543
64544 2007-07-07  Bruno Haible  <bruno@clisp.org>
64545
64546         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64547         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64548         definition with an external declaration.
64549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64550         defined as a function. Remove AC_C_INLINE requirement.
64551         * modules/wcwidth (Files): Add lib/wcwidth.c.
64552         (Makefile.am): Remove redundant statement.
64553
64554 2007-07-07  Bruno Haible  <bruno@clisp.org>
64555
64556         * MODULES.html.sh (Unicode string functions): Add the new modules.
64557
64558         * tests/uniwidth/test-u32-strwidth.c: New file.
64559         * modules/uniwidth/u32-strwidth-tests: New file.
64560
64561         * lib/uniwidth/u32-strwidth.c: New file.
64562         * modules/uniwidth/u32-strwidth: New file.
64563
64564         * tests/uniwidth/test-u16-strwidth.c: New file.
64565         * modules/uniwidth/u16-strwidth-tests: New file.
64566
64567         * lib/uniwidth/u16-strwidth.c: New file.
64568         * modules/uniwidth/u16-strwidth: New file.
64569
64570         * tests/uniwidth/test-u8-strwidth.c: New file.
64571         * modules/uniwidth/u8-strwidth-tests: New file.
64572
64573         * lib/uniwidth/u8-strwidth.c: New file.
64574         * modules/uniwidth/u8-strwidth: New file.
64575
64576         * tests/uniwidth/test-u32-width.c: New file.
64577         * modules/uniwidth/u32-width-tests: New file.
64578
64579         * lib/uniwidth/u32-width.c: New file.
64580         * modules/uniwidth/u32-width: New file.
64581
64582         * tests/uniwidth/test-u16-width.c: New file.
64583         * modules/uniwidth/u16-width-tests: New file.
64584
64585         * lib/uniwidth/u16-width.c: New file.
64586         * modules/uniwidth/u16-width: New file.
64587
64588         * tests/uniwidth/test-u8-width.c: New file.
64589         * modules/uniwidth/u8-width-tests: New file.
64590
64591         * lib/uniwidth/u8-width.c: New file.
64592         * modules/uniwidth/u8-width: New file.
64593
64594         * tests/uniwidth/test-uc_width.c: New file.
64595         * modules/uniwidth/width-tests: New file.
64596
64597         * lib/uniwidth/width.c: New file, from GNU libiconv.
64598         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
64599         * modules/uniwidth/width: New file.
64600
64601         * lib/uniwidth.h: New file, from GNU libiconv.
64602         * modules/uniwidth/base: New file.
64603
64604 2007-07-07  Bruno Haible  <bruno@clisp.org>
64605
64606         * lib/uniname.h: New file, from GNU gettext.
64607         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
64608         * lib/uniname/uninames.h: New file, from GNU gettext.
64609         * lib/uniname/uniname.c: New file, from GNU gettext.
64610         * tests/uniname/test-uninames.sh: New file.
64611         * tests/uniname/test-uninames.c: New file, from GNU gettext.
64612         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
64613         * modules/uniname/base: New file.
64614         * modules/uniname/uniname: New file.
64615         * modules/uniname/uniname-tests: New file.
64616         * MODULES.html.sh (Unicode string functions): Add the new modules.
64617
64618 2007-07-06  Bruno Haible  <bruno@clisp.org>
64619
64620         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
64621
64622 2007-07-06  Bruno Haible  <bruno@clisp.org>
64623
64624         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
64625         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
64626         includes <cygwin/sys_time.h> which includes <sys/select.h> which
64627         include <sys/time.h>.
64628         Reported by Eric Blake.
64629
64630 2007-07-06  Eric Blake  <ebb9@byu.net>
64631
64632         Fix testing canonicalize on cygwin.
64633         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64634         Revert patch from 2007-06-19.
64635         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
64636         canonicalize module is also in use.
64637         * tests/test-canonicalize.c: New file.
64638         * tests/test-canonicalize.sh: Likewise.
64639         * modules/canonicalize-tests: Likewise.
64640
64641 2007-07-06  Jim Meyering  <jim@meyering.net>
64642
64643         * lib/getugroups.c (getugroups): Detect getgrent failure.
64644         Adjust comment to reflect reality: this function may return -1.
64645
64646 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
64647
64648         * build-aux/bootstrap (TP_URL,get_translations): Update to use
64649         the new TP address.
64650         (usage): Fix typo
64651         (gnulib_mk): New variable.
64652
64653 2007-07-05  Jim Meyering  <jim@meyering.net>
64654
64655         Don't let endgrent clobber errno, no matter how improbable.
64656         * lib/getugroups.c (getugroups): Save and restore errno around
64657         endgrent call.
64658
64659         Close the group DB even when failing with 2^31 or more members.
64660         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
64661
64662 2007-07-04  Jim Meyering  <jim@meyering.net>
64663
64664         * lib/getugroups.h: New file.
64665         * lib/getugroups.c: Include "getugroups.h".
64666         Remove uses of "register" keyword.
64667         Move local variable, "cp", down into scope where used.
64668         Give "username" parameter the "const" attribute.
64669         * modules/getugroups (Files): Add lib/getugroups.h
64670
64671 2007-07-04  Karl Berry  <karl@gnu.org>
64672
64673         * MODULES.html.sh (func_all_modules): Complete rename of
64674         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
64675
64676 2007-07-02  Bruno Haible  <bruno@clisp.org>
64677
64678         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
64679         mode, when inttypes.h comes from gnulib.
64680         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
64681
64682 2007-07-02  Simon Josefsson  <simon@josefsson.org>
64683
64684         * NEWS: Mention lgpl module name change.
64685
64686         * modules/lgpl-2.1: Renamed from lgpl.
64687
64688         * NEWS: Mention gpl module name change.
64689
64690         * modules/gpl-3.0: New file, based on gpl-2.0.
64691
64692         * modules/gpl-2.0: Renamed from gpl.
64693
64694         * modules/gpl: Fix filename, doc/gpl.texi is now found at
64695         doc/gpl-2.0.texi.
64696
64697 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64698
64699         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
64700         #define __STDC_LIMIT_MACROS temporarily while including
64701         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
64702         Problem reported by Joel E. Denny in
64703         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
64704
64705 2007-07-01  Bruno Haible  <bruno@clisp.org>
64706
64707         * lib/unistdio.h: New file.
64708         * lib/unistdio/u-asnprintf.h: New file.
64709         * lib/unistdio/u-asprintf.h: New file.
64710         * lib/unistdio/u-printf-args.c: New file.
64711         * lib/unistdio/u-printf-args.h: New file.
64712         * lib/unistdio/u-printf-parse.h: New file.
64713         * lib/unistdio/u-snprintf.h: New file.
64714         * lib/unistdio/u-sprintf.h: New file.
64715         * lib/unistdio/u-vasprintf.h: New file.
64716         * lib/unistdio/u-vsnprintf.h: New file.
64717         * lib/unistdio/u-vsprintf.h: New file.
64718         * lib/unistdio/ulc-asnprintf.c: New file.
64719         * lib/unistdio/ulc-asprintf.c: New file.
64720         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
64721         * lib/unistdio/ulc-printf-parse.c: New file.
64722         * lib/unistdio/ulc-snprintf.c: New file.
64723         * lib/unistdio/ulc-sprintf.c: New file.
64724         * lib/unistdio/ulc-vasnprintf.c: New file.
64725         * lib/unistdio/ulc-vasprintf.c: New file.
64726         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
64727         * lib/unistdio/ulc-vsnprintf.c: New file.
64728         * lib/unistdio/ulc-vsprintf.c: New file.
64729         * lib/unistdio/u8-asnprintf.c: New file.
64730         * lib/unistdio/u8-asprintf.c: New file.
64731         * lib/unistdio/u8-printf-parse.c: New file.
64732         * lib/unistdio/u8-snprintf.c: New file.
64733         * lib/unistdio/u8-sprintf.c: New file.
64734         * lib/unistdio/u8-vasnprintf.c: New file.
64735         * lib/unistdio/u8-vasprintf.c: New file.
64736         * lib/unistdio/u8-vsnprintf.c: New file.
64737         * lib/unistdio/u8-vsprintf.c: New file.
64738         * lib/unistdio/u8-u8-asnprintf.c: New file.
64739         * lib/unistdio/u8-u8-asprintf.c: New file.
64740         * lib/unistdio/u8-u8-snprintf.c: New file.
64741         * lib/unistdio/u8-u8-sprintf.c: New file.
64742         * lib/unistdio/u8-u8-vasnprintf.c: New file.
64743         * lib/unistdio/u8-u8-vasprintf.c: New file.
64744         * lib/unistdio/u8-u8-vsnprintf.c: New file.
64745         * lib/unistdio/u8-u8-vsprintf.c: New file.
64746         * lib/unistdio/u16-asnprintf.c: New file.
64747         * lib/unistdio/u16-asprintf.c: New file.
64748         * lib/unistdio/u16-printf-parse.c: New file.
64749         * lib/unistdio/u16-snprintf.c: New file.
64750         * lib/unistdio/u16-sprintf.c: New file.
64751         * lib/unistdio/u16-vasnprintf.c: New file.
64752         * lib/unistdio/u16-vasprintf.c: New file.
64753         * lib/unistdio/u16-vsnprintf.c: New file.
64754         * lib/unistdio/u16-vsprintf.c: New file.
64755         * lib/unistdio/u16-u16-asnprintf.c: New file.
64756         * lib/unistdio/u16-u16-asprintf.c: New file.
64757         * lib/unistdio/u16-u16-snprintf.c: New file.
64758         * lib/unistdio/u16-u16-sprintf.c: New file.
64759         * lib/unistdio/u16-u16-vasnprintf.c: New file.
64760         * lib/unistdio/u16-u16-vasprintf.c: New file.
64761         * lib/unistdio/u16-u16-vsnprintf.c: New file.
64762         * lib/unistdio/u16-u16-vsprintf.c: New file.
64763         * lib/unistdio/u32-asnprintf.c: New file.
64764         * lib/unistdio/u32-asprintf.c: New file.
64765         * lib/unistdio/u32-printf-parse.c: New file.
64766         * lib/unistdio/u32-snprintf.c: New file.
64767         * lib/unistdio/u32-sprintf.c: New file.
64768         * lib/unistdio/u32-vasnprintf.c: New file.
64769         * lib/unistdio/u32-vasprintf.c: New file.
64770         * lib/unistdio/u32-vsnprintf.c: New file.
64771         * lib/unistdio/u32-vsprintf.c: New file.
64772         * lib/unistdio/u32-u32-asnprintf.c: New file.
64773         * lib/unistdio/u32-u32-asprintf.c: New file.
64774         * lib/unistdio/u32-u32-snprintf.c: New file.
64775         * lib/unistdio/u32-u32-sprintf.c: New file.
64776         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64777         * lib/unistdio/u32-u32-vasprintf.c: New file.
64778         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64779         * lib/unistdio/u32-u32-vsprintf.c: New file.
64780         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64781         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64782         * tests/unistdio/test-ulc-printf1.h: New file.
64783         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64784         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64785         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64786         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64787         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64788         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64789         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64790         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64791         * tests/unistdio/test-u8-asnprintf1.c: New file.
64792         * tests/unistdio/test-u8-asnprintf1.h: New file.
64793         * tests/unistdio/test-u8-printf1.h: New file.
64794         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64795         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64796         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64797         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64798         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64799         * tests/unistdio/test-u8-vasprintf1.c: New file.
64800         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64801         * tests/unistdio/test-u8-vsprintf1.c: New file.
64802         * tests/unistdio/test-u16-asnprintf1.c: New file.
64803         * tests/unistdio/test-u16-asnprintf1.h: New file.
64804         * tests/unistdio/test-u16-printf1.h: New file.
64805         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64806         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64807         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64808         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64809         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64810         * tests/unistdio/test-u16-vasprintf1.c: New file.
64811         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64812         * tests/unistdio/test-u16-vsprintf1.c: New file.
64813         * tests/unistdio/test-u32-asnprintf1.c: New file.
64814         * tests/unistdio/test-u32-asnprintf1.h: New file.
64815         * tests/unistdio/test-u32-printf1.h: New file.
64816         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64817         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64818         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64819         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64820         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64821         * tests/unistdio/test-u32-vasprintf1.c: New file.
64822         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64823         * tests/unistdio/test-u32-vsprintf1.c: New file.
64824         * modules/unistdio/base: New file.
64825         * modules/unistdio/u-printf-args: New file.
64826         * modules/unistdio/ulc-asnprintf: New file.
64827         * modules/unistdio/ulc-asprintf: New file.
64828         * modules/unistdio/ulc-fprintf: New file.
64829         * modules/unistdio/ulc-printf-parse: New file.
64830         * modules/unistdio/ulc-snprintf: New file.
64831         * modules/unistdio/ulc-sprintf: New file.
64832         * modules/unistdio/ulc-vasnprintf: New file.
64833         * modules/unistdio/ulc-vasprintf: New file.
64834         * modules/unistdio/ulc-vfprintf: New file.
64835         * modules/unistdio/ulc-vsnprintf: New file.
64836         * modules/unistdio/ulc-vsprintf: New file.
64837         * modules/unistdio/u8-asnprintf: New file.
64838         * modules/unistdio/u8-asprintf: New file.
64839         * modules/unistdio/u8-printf-parse: New file.
64840         * modules/unistdio/u8-snprintf: New file.
64841         * modules/unistdio/u8-sprintf: New file.
64842         * modules/unistdio/u8-vasnprintf: New file.
64843         * modules/unistdio/u8-vasprintf: New file.
64844         * modules/unistdio/u8-vsnprintf: New file.
64845         * modules/unistdio/u8-vsprintf: New file.
64846         * modules/unistdio/u8-u8-asnprintf: New file.
64847         * modules/unistdio/u8-u8-asprintf: New file.
64848         * modules/unistdio/u8-u8-snprintf: New file.
64849         * modules/unistdio/u8-u8-sprintf: New file.
64850         * modules/unistdio/u8-u8-vasnprintf: New file.
64851         * modules/unistdio/u8-u8-vasprintf: New file.
64852         * modules/unistdio/u8-u8-vsnprintf: New file.
64853         * modules/unistdio/u8-u8-vsprintf: New file.
64854         * modules/unistdio/u16-asnprintf: New file.
64855         * modules/unistdio/u16-asprintf: New file.
64856         * modules/unistdio/u16-printf-parse: New file.
64857         * modules/unistdio/u16-snprintf: New file.
64858         * modules/unistdio/u16-sprintf: New file.
64859         * modules/unistdio/u16-vasnprintf: New file.
64860         * modules/unistdio/u16-vasprintf: New file.
64861         * modules/unistdio/u16-vsnprintf: New file.
64862         * modules/unistdio/u16-vsprintf: New file.
64863         * modules/unistdio/u16-u16-asnprintf: New file.
64864         * modules/unistdio/u16-u16-asprintf: New file.
64865         * modules/unistdio/u16-u16-snprintf: New file.
64866         * modules/unistdio/u16-u16-sprintf: New file.
64867         * modules/unistdio/u16-u16-vasnprintf: New file.
64868         * modules/unistdio/u16-u16-vasprintf: New file.
64869         * modules/unistdio/u16-u16-vsnprintf: New file.
64870         * modules/unistdio/u16-u16-vsprintf: New file.
64871         * modules/unistdio/u32-asnprintf: New file.
64872         * modules/unistdio/u32-asprintf: New file.
64873         * modules/unistdio/u32-printf-parse: New file.
64874         * modules/unistdio/u32-snprintf: New file.
64875         * modules/unistdio/u32-sprintf: New file.
64876         * modules/unistdio/u32-vasnprintf: New file.
64877         * modules/unistdio/u32-vasprintf: New file.
64878         * modules/unistdio/u32-vsnprintf: New file.
64879         * modules/unistdio/u32-vsprintf: New file.
64880         * modules/unistdio/u32-u32-asnprintf: New file.
64881         * modules/unistdio/u32-u32-asprintf: New file.
64882         * modules/unistdio/u32-u32-snprintf: New file.
64883         * modules/unistdio/u32-u32-sprintf: New file.
64884         * modules/unistdio/u32-u32-vasnprintf: New file.
64885         * modules/unistdio/u32-u32-vasprintf: New file.
64886         * modules/unistdio/u32-u32-vsnprintf: New file.
64887         * modules/unistdio/u32-u32-vsprintf: New file.
64888         * modules/unistdio/ulc-asnprintf-tests: New file.
64889         * modules/unistdio/ulc-vasnprintf-tests: New file.
64890         * modules/unistdio/ulc-vasprintf-tests: New file.
64891         * modules/unistdio/ulc-vsnprintf-tests: New file.
64892         * modules/unistdio/ulc-vsprintf-tests: New file.
64893         * modules/unistdio/u8-asnprintf-tests: New file.
64894         * modules/unistdio/u8-vasnprintf-tests: New file.
64895         * modules/unistdio/u8-vasprintf-tests: New file.
64896         * modules/unistdio/u8-vsnprintf-tests: New file.
64897         * modules/unistdio/u8-vsprintf-tests: New file.
64898         * modules/unistdio/u16-asnprintf-tests: New file.
64899         * modules/unistdio/u16-vasnprintf-tests: New file.
64900         * modules/unistdio/u16-vasprintf-tests: New file.
64901         * modules/unistdio/u16-vsnprintf-tests: New file.
64902         * modules/unistdio/u16-vsprintf-tests: New file.
64903         * modules/unistdio/u32-asnprintf-tests: New file.
64904         * modules/unistdio/u32-vasnprintf-tests: New file.
64905         * modules/unistdio/u32-vasprintf-tests: New file.
64906         * modules/unistdio/u32-vsnprintf-tests: New file.
64907         * modules/unistdio/u32-vsprintf-tests: New file.
64908         * MODULES.html.sh (Unicode string functions): Add the new modules.
64909
64910 2007-07-01  Bruno Haible  <bruno@clisp.org>
64911
64912         * lib/sprintf.c (sprintf): Limit the available length estimation,
64913         to avoid address wraparound.
64914         * lib/vsprintf.c (vsprintf): Likewise.
64915         * modules/sprintf-posix (Dependencies): Add stdint.
64916         * modules/vsprintf-posix (Dependencies): Likewise.
64917
64918 2007-07-01  Bruno Haible  <bruno@clisp.org>
64919
64920         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64921         Windows PATH as well. Conservative double-quoting. Comments.
64922
64923 2007-07-01  Bruno Haible  <bruno@clisp.org>
64924             Eric Blake  <ebb9@byu.net>
64925             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64926
64927         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64928         empty components in $PATH, denoting '.'.
64929
64930 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64931
64932         * gnulib-tool: Fix indentation.
64933         (func_create_megatestdir): Likewise.
64934         Report by Bruno Haible.
64935
64936 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64937
64938         Sync from Automake.
64939         * build-aux/gnupload: Fix shell portability issues with for loops.
64940         Report by Karl Berry.
64941
64942 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64943
64944         * build-aux/maint.mk (POURL): Use translationproject.org.
64945
64946 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64947             Bruno Haible  <bruno@clisp.org>
64948
64949         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64950         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64951         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64952         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64953         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64954
64955 2007-06-27  Bruno Haible  <bruno@clisp.org>
64956
64957         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64958         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64959
64960 2007-06-26  Karl Berry  <karl@gnu.org>
64961
64962         * MODULES.html.sh: remove xreadlink-with-size.
64963
64964 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64965
64966         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64967         method that I hope also handles the double-include problem noted
64968         by Bruno Haible in
64969         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64970
64971 2007-06-23  Bruno Haible  <bruno@clisp.org>
64972
64973         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64974         Don't let the 'mostlyclean' target fail if the last subdirectory could
64975         not be removed.
64976         Reported by Karl Berry.
64977
64978 2007-06-23  Bruno Haible  <bruno@clisp.org>
64979
64980         * gnulib-tool (echo): Add a speedier workaround for ksh.
64981         * tests/test-echo.sh: Likewise.
64982
64983 2007-06-23  Bruno Haible  <bruno@clisp.org>
64984
64985         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64986         * tests/test-echo.sh: Likewise.
64987
64988 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64989
64990         * gnulib-tool (IFS): Initialize early, so we don't set it to
64991         empty later.
64992         (self_abspathname): Rewrite algorithm to set it, reindent.
64993         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64994         (func_create_megatestdir): Merge some sed scripts.
64995
64996 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64997
64998         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64999         exposed by Sun Studio 11 cc on Solaris 8.
65000
65001 2007-06-22  Bruno Haible  <bruno@clisp.org>
65002
65003         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65004         backslashes.
65005         * tests/test-echo.sh: New file.
65006
65007 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65008
65009         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65010         simplify `sed_replace_build_aux' scripts, they are portable but
65011         echoing them with `echo' is not.
65012         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65013
65014 2007-06-21  Karl Berry  <karl@gnu.org>
65015
65016         * config/srclist.txt: guess we can't handle the licenses via
65017         srclist at the moment.
65018
65019 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65020
65021         * MODULES.html.sh: Add include_next.
65022         * modules/include_next: New file.
65023
65024 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65025
65026         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65027         INCLUDE_NEXT.
65028         (gl_CHECK_NEXT_HEADERS): New macro.
65029         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65030         the obsolescent gl_ABSOLUTE_HEADER.
65031         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65032         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65033         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65034         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65035         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65036         * m4/math_h.m4 (gl_MATH_H): Likewise.
65037         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65038         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65039         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65040         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65041         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65042         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65043         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65044         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65045         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65047         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65048         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65049         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65050         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65051         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65052         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65053         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65054         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65055         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65056         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65057         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65058         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65059         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65060         * lib/float_.h: Likewise.
65061         * lib/inttypes_.h: Likewise.
65062         * lib/math_.h: Likewise.
65063         * lib/search_.h: Likewise.
65064         * lib/signal_.h: Likewise.
65065         * lib/stdint_.h: Likewise.
65066         * lib/stdio_.h: Likewise.
65067         * lib/stdlib_.h: Likewise.
65068         * lib/string_.h: Likewise.
65069         * lib/sys_stat_.h: Likewise.
65070         * lib/sys_time_.h: Likewise.
65071         * lib/time_.h: Likewise.
65072         * lib/unistd_.h: Likewise.
65073         * lib/wchar_.h: Likewise.
65074         * lib/wctype_.h: Likewise.
65075         * lib/dirent_.h: Likewise.
65076         * lib/iconv_.h: Likewise.
65077         * lib/locale_.h: Likewise.
65078         * lib/netinet_in_.h: Likewise.
65079         * lib/sys_select_.h: Likewise.
65080         * lib/sys_socket_.h: Likewise.
65081         * lib/sysexits_.h: Likewise.
65082         * modules/fcntl (Depends-on): Depend on include_next, not
65083         absolute_header.
65084         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65085         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65086         * modules/fchdir: Likewise.
65087         * modules/float: Likewise.
65088         * modules/iconv_open: Likewise.
65089         * modules/inttypes: Likewise.
65090         * modules/locale: Likewise.
65091         * modules/math: Likewise.
65092         * modules/netinet_in: Likewise.
65093         * modules/search: Likewise.
65094         * modules/signal: Likewise.
65095         * modules/stdint: Likewise.
65096         * modules/stdio: Likewise.
65097         * modules/stdlib: Likewise.
65098         * modules/string: Likewise.
65099         * modules/sys_select: Likewise.
65100         * modules/sys_socket: Likewise.
65101         * modules/sys_stat: Likewise.
65102         * modules/sys_time: Likewise.
65103         * modules/sysexits: Likewise.
65104         * modules/time: Likewise.
65105         * modules/unistd: Likewise.
65106         * modules/wchar: Likewise.
65107         * modules/wctype: Likewise.
65108         * modules/sys_stat: Change maintainer to "all".
65109         * modules/unistd: Likewise.
65110
65111 2007-06-20  Karl Berry  <karl@gnu.org>
65112
65113         * config/srclist.txt: track www changes in license files.
65114
65115 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65116
65117         * build-aux/bootstrap: Remove stray dot.
65118         Make sure build_aux settings are honored when linking
65119         gnulib_extra_files.
65120
65121 2007-06-19  Eric Blake  <ebb9@byu.net>
65122
65123         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65124         Allow compilation on cygwin.
65125
65126 2007-06-19  Jim Meyering  <jim@meyering.net>
65127
65128         xreadlink-with-size: Remove module.  No longer used.
65129         Ex-callers now use xreadlink or mreadlink-with-size.
65130         * modules/xreadlink-with-size: Remove module.
65131         * lib/xreadlink-with-size.c: Remove file.
65132         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65133         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65134         just before the function definition *is* accurate.
65135
65136         Eliminate one way canonicalize_filename_mode could exit.
65137         * lib/canonicalize.c (canonicalize_filename_mode):
65138         Use mreadlink_with_size, not xreadlink_with_size.
65139
65140 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65141
65142         Detect porting problems to FreeBSD/arm, which has time_t wider than
65143         long int.  Original problem reported for GNU diff by Xin Li in
65144         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65145         * modules/getdate (Depends-on): Add intprops, verify.
65146         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65147         is an integer type no wider than long int.
65148
65149 2007-06-18  Jim Meyering  <jim@meyering.net>
65150
65151         New module: mreadlink-with-size.
65152         * MODULES.html.sh: Add mreadlink-with-size.
65153         * modules/mreadlink-with-size: New module
65154         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65155         not xreadlink-with-size.
65156         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65157
65158 2007-06-16  Bruno Haible  <bruno@clisp.org>
65159
65160         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65161         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65162         Reported by Gary V. Vaughan <gary@gnu.org>.
65163
65164 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65165
65166         Revamp lchown so that it lives in unistd.h where it belongs.
65167         * lib/lchown.h: Remove.
65168         * lib/dirchownmod.c: Don't include lib/lchown.h.
65169         * lib/fchownat.c: Likewise.
65170         * lib/openat.c: Likewise.
65171         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65172         does not follow symlinks.
65173         (EOPNOTSUPP): Define if not defined.
65174         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65175         is defined to 0.
65176         (lchown): New decl.
65177         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65178         Do not check for lchown decl.
65179         Set REPLACE_LCHOWN.
65180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65181         REPLACE_LCHOWN.
65182         * modules/chown: Make it clear it follows symlinks.
65183         * modules/lchown: Make it clear it doesn't follow symlinks.
65184         (Files): Remove lib/lchown.h
65185         (Depends-on): Add unistd.
65186         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65187         (Include): Include <unistd.h>, not "lchown.h".
65188         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65189         REPLACE_LCHOWN.
65190
65191 2007-06-15  Jim Meyering  <jim@meyering.net>
65192
65193         Change license (GPL to LGPL) of fsusage and dependents.
65194         * modules/fsusage (License): Change to LGPL.
65195         * modules/full-read (License): Likewise.
65196         * modules/full-write (License): Likewise.
65197         * modules/safe-read (License): Likewise.
65198         * modules/safe-write (License): Likewise.
65199
65200 2007-06-14  Ben Pfaff  <blp@gnu.org>
65201
65202         Missing part of allocsa -> malloca transition.
65203         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65204         gl_MALLOCA.
65205
65206 2007-06-12  Bruno Haible  <bruno@clisp.org>
65207
65208         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65209         to ia64, x86_64, i386.
65210         Reported by Eric Blake.
65211
65212 2007-06-12  Bruno Haible  <bruno@clisp.org>
65213
65214         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65215         cross-compiling to x86_64.
65216
65217 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65218
65219         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65220         glitch reported by Ralf Wildenhues in
65221         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65222
65223         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65224         Vin Shelton.
65225
65226 2007-06-11  Bruno Haible  <bruno@clisp.org>
65227
65228         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65229         replacement string.
65230         Reported by Eric Blake.
65231
65232 2007-06-10  Bruno Haible  <bruno@clisp.org>
65233
65234         Prepare vasnprintf code for use with Unicode strings.
65235         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
65236         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
65237         TYPE_U32_STRING.
65238         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
65239         a_u32_string variants.
65240         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65241         * lib/printf-args.c: Don't include config.h and the specification
65242         header if PRINTF_FETCHARGS is already defined.
65243         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65244         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
65245         TYPE_U16_STRING, TYPE_U32_STRING.
65246         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
65247         u16_directive, u16_directives, u32_directive, u32_directives): New
65248         types.
65249         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
65250         New declarations.
65251         * lib/printf-parse.c: Don't include config.h and the specification
65252         header if PRINTF_PARSE is already defined. Eliminate the set of
65253         parameters for WIDE_CHAR_VERSION; the user of this file must provide
65254         them now. Include c-ctype.h.
65255         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65256         directive and CHAR_T_ONLY_ASCII.
65257         * lib/vasnprintf.c: Don't include config.h and the specification header
65258         if VASNPRINTF is already defined.
65259         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65260         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65261         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65262         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65263         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65264         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65265         code accordingly.
65266         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65267         pad_ourselves also in this case, with the 'c' and 's' directives, and
65268         with a different notion of "width".
65269         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65270
65271 2007-06-10  Bruno Haible  <bruno@clisp.org>
65272
65273         * modules/unistr/u32-mbsnlen: New file.
65274         * lib/unistr/u32-mbsnlen.c: New file.
65275
65276         * modules/unistr/u16-mbsnlen: New file.
65277         * lib/unistr/u16-mbsnlen.c: New file.
65278
65279         * modules/unistr/u8-mbsnlen: New file.
65280         * lib/unistr/u8-mbsnlen.c: New file.
65281
65282         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65283         declarations.
65284
65285 2007-06-10  Bruno Haible  <bruno@clisp.org>
65286
65287         * lib/string_.h (mbsnlen): New declaration.
65288         * lib/mbsnlen.c: New file.
65289         * m4/mbsnlen.m4: New file.
65290         * modules/mbsnlen: New file.
65291         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65292         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65293         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65294
65295 2007-06-10  Bruno Haible  <bruno@clisp.org>
65296
65297         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65298
65299 2007-06-10  Bruno Haible  <bruno@clisp.org>
65300
65301         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65302         * lib/mbuiter.h: Likewise.
65303
65304 2007-06-10  Bruno Haible  <bruno@clisp.org>
65305
65306         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65307         declaration.
65308
65309 2007-06-10  Karl Berry  <karl@gnu.org>
65310
65311         * config/srclist.txt: remove gettext entries, Bruno prefers
65312         to update individually.
65313
65314 2007-06-10  Bruno Haible  <bruno@clisp.org>
65315
65316         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65317         'maxlen'. Ensure only length + width bytes are allocated, not
65318         length + 1 + width.
65319
65320 2007-06-09  Bruno Haible  <bruno@clisp.org>
65321
65322         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65323         (CHAR_T): Remove macro.
65324         (VASNPRINTF): Update.
65325
65326 2007-06-09  Bruno Haible  <bruno@clisp.org>
65327
65328         * MODULES.html.sh (Unicode string functions): Add the new modules.
65329
65330         * modules/uniconv/u32-conv-to-enc: New file.
65331         * lib/uniconv/u32-conv-to-enc.c: New file.
65332         * modules/uniconv/u32-conv-to-enc-tests: New file.
65333         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65334
65335         * modules/uniconv/u16-conv-to-enc: New file.
65336         * lib/uniconv/u16-conv-to-enc.c: New file.
65337         * lib/uniconv/u-conv-to-enc.h: New file.
65338         * modules/uniconv/u16-conv-to-enc-tests: New file.
65339         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65340
65341         * modules/uniconv/u8-conv-to-enc: New file.
65342         * lib/uniconv/u8-conv-to-enc.c: New file.
65343         * modules/uniconv/u8-conv-to-enc-tests: New file.
65344         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65345
65346         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65347         u32_conv_to_encoding): New declarations.
65348
65349 2007-06-09  Bruno Haible  <bruno@clisp.org>
65350
65351         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65352
65353 2007-06-09  Bruno Haible  <bruno@clisp.org>
65354
65355         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65356         * modules/malloca: Renamed from modules/allocsa, updated.
65357         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65358         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65359         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65360         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65361         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65362         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65363         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65364         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65365         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65366         * modules/c-strcasestr (Depends-on): Update.
65367         * lib/c-strcasestr.c: Update.
65368         * modules/c-strstr (Depends-on): Update.
65369         * lib/c-strstr.c: Update.
65370         * modules/canonicalize-lgpl (Depends-on): Update.
65371         * lib/canonicalize-lgpl.c: Update.
65372         * modules/clean-temp (Depends-on): Update.
65373         * lib/clean-temp.c: Update.
65374         * modules/csharpcomp (Depends-on): Update.
65375         * lib/csharpcomp.c: Update.
65376         * modules/csharpexec (Depends-on): Update.
65377         * lib/csharpexec.c: Update.
65378         * modules/javacomp (Depends-on): Update.
65379         * lib/javacomp.c: Update.
65380         * modules/javaexec (Depends-on): Update.
65381         * lib/javaexec.c: Update.
65382         * modules/mbscasestr (Depends-on): Update.
65383         * lib/mbscasestr.c: Update.
65384         * modules/mbsstr (Depends-on): Update.
65385         * lib/mbsstr.c: Update.
65386         * modules/setenv (Depends-on): Update.
65387         * lib/setenv.c: Update.
65388         * modules/strcasestr (Depends-on): Update.
65389         * lib/strcasestr.c: Update.
65390         * modules/striconveha (Depends-on): Update.
65391         * lib/striconveha.c: Update.
65392         * modules/relocatable-prog-wrapper (Files): Update.
65393         * lib/relocwrapper.c: Update.
65394         * build-aux/install-reloc: Update.
65395         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65396
65397 2007-06-08  Bruno Haible  <bruno@clisp.org>
65398
65399         Port to uClibc.
65400         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65401         * lib/fpurge.c (fpurge): Likewise.
65402         * lib/freading.c (freading): Likewise.
65403         * lib/fseeko.c (rpl_fseeko): Likewise.
65404         * lib/fseterr.c (fseterr): Likewise.
65405         * lib/fwriting.c (fwriting): Likewise.
65406         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65407
65408 2007-06-08  Bruno Haible  <bruno@clisp.org>
65409
65410         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65411         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65412         * modules/gettext (Files): Add m4/intlmacosx.m4.
65413
65414 2007-06-07  Bruno Haible  <bruno@clisp.org>
65415
65416         * modules/localename-tests: New file.
65417         * tests/test-localename.c: New file.
65418
65419         New module 'localename'.
65420         * lib/localename.h: New file.
65421         * lib/localename.c: New file, from GNU gettext.
65422         * m4/localename.m4: New file.
65423         * modules/localename: New file.
65424
65425 2007-06-07  Bruno Haible  <bruno@clisp.org>
65426
65427         Work around the lack of <wchar.h> on some builds of uClibc.
65428         * doc/headers/wchar.texi: Update.
65429         * lib/wchar_.h: Include <wchar.h> only if it exists.
65430         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65431         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65432         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65433         doesn't exist.
65434         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65435         * modules/mbfile (Depends-on): Add wchar.
65436         * modules/mbiter (Depends-on): Likewise.
65437         * modules/mbuiter (Depends-on): Likewise.
65438         Reported by Simon Josefsson.
65439
65440 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65441
65442         Work around problem reported by Steven M. Schweda in
65443         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65444         Tru64 5.1B with the Compaq compiler environment installed declares
65445         an 'isblank' function but does not define it in the C library.
65446         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65447         * lib/regex_internal.h (isblank): Likewise.
65448         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65449         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65450
65451 2007-06-05  Bruno Haible  <bruno@clisp.org>
65452
65453         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65454         ia64.
65455         * modules/printf-safe: New file.
65456         * modules/fprintf-posix (Depends-on): Add printf-safe.
65457         * modules/printf-posix (Depends-on): Likewise.
65458         * modules/snprintf-posix (Depends-on): Likewise.
65459         * modules/sprintf-posix (Depends-on): Likewise.
65460         * modules/vasnprintf-posix (Depends-on): Likewise.
65461         * modules/vasprintf-posix (Depends-on): Likewise.
65462         * modules/vfprintf-posix (Depends-on): Likewise.
65463         * modules/vprintf-posix (Depends-on): Likewise.
65464         * modules/vsnprintf-posix (Depends-on): Likewise.
65465         * modules/vsprintf-posix (Depends-on): Likewise.
65466         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65467         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65468         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65469         "no" on i386, x86_64, ia64.
65470         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65471         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65472         on i386, x86_64, ia64.
65473         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65474         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65475         on i386, x86_64, ia64.
65476         * tests/test-vasnprintf-posix.c: Include float.h.
65477         (LDBL80_WORDS): New macro.
65478         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65479         on i386, x86_64, ia64.
65480         * tests/test-vasprintf-posix.c: Include float.h.
65481         (LDBL80_WORDS): New macro.
65482         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65483         on i386, x86_64, ia64.
65484         * tests/test-snprintf-posix.c: Include float.h.
65485         * tests/test-sprintf-posix.c: Likewise.
65486         * tests/test-vsnprintf-posix.c: Likewise.
65487         * tests/test-vsprintf-posix.c: Likewise.
65488
65489 2007-06-05  Bruno Haible  <bruno@clisp.org>
65490
65491         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65492         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65493         non-IEEE numbers on i386, x86_64, ia64.
65494         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65495         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65496         * tests/test-isnanl.h: Include float.h.
65497         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65498
65499 2007-06-05  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65502         also the %a / %A. Handle the %a / %A code before this extra handling.
65503
65504 2007-06-05  Bruno Haible  <bruno@clisp.org>
65505
65506         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65507         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65508
65509 2007-06-05  Bruno Haible  <bruno@clisp.org>
65510
65511         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65512         typo in variable name.
65513
65514 2007-06-05  Eric Blake  <ebb9@byu.net>
65515
65516         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65517         Reported by Simon Josefsson.
65518
65519 2007-06-04  Bruno Haible  <bruno@clisp.org>
65520
65521         Avoid test failures on some PowerPC platforms.
65522         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65523         Define differently for PowerPC.
65524         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65525         Reported by Gary V. Vaughan <gary@gnu.org>.
65526
65527 2007-06-02  Bruno Haible  <bruno@clisp.org>
65528
65529         Fix test-stdint failure on FreeBSD/ia64.
65530         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65531         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65532         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65533         * doc/headers/stdint.texi: Update.
65534
65535 2007-06-01  Bruno Haible  <bruno@clisp.org>
65536
65537         * tests/test-binary-io.c (main): Pass a third argument to open().
65538         Reported by Gary V. Vaughan <gary@gnu.org>.
65539
65540 2007-06-01  Bruno Haible  <bruno@clisp.org>
65541
65542         * doc/functions/frexpl.texi: Update for mingw.
65543
65544 2007-06-01  Bruno Haible  <bruno@clisp.org>
65545
65546         * tests/test-lseek.c (main): Disable test of errno for invalid third
65547         argument.
65548         * doc/functions/lseek.texi: Update.
65549         Reported by Gary V. Vaughan <gary@gnu.org>.
65550
65551 2007-05-28  Bruno Haible  <bruno@clisp.org>
65552
65553         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65554
65555 2007-05-31  Eric Blake  <ebb9@byu.net>
65556
65557         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65558         cross compiling.
65559
65560 2007-05-30  Eric Blake  <ebb9@byu.net>
65561         and Bruno Haible  <bruno@clisp.org>
65562
65563         Work around mingw test failures exposed by m4-1.4.9b.
65564         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
65565         * tests/test-unistd.c: Disable uid_t and git_t tests for the
65566         moment.
65567
65568 2007-05-30  Bruno Haible  <bruno@clisp.org>
65569
65570         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
65571         assuming that they are closed. Needed on HP-UX 11.
65572
65573 2007-05-29  Bruno Haible  <bruno@clisp.org>
65574
65575         Fix a problem with #include_next.
65576         * lib/dirent_.h: Split the double-inclusion guard.
65577         * lib/fcntl_.h: Likewise.
65578         * lib/float_.h: Likewise.
65579         * lib/iconv_.h: Likewise.
65580         * lib/inttypes_.h: Likewise.
65581         * lib/locale_.h: Likewise.
65582         * lib/math_.h: Likewise.
65583         * lib/netinet_in_.h: Likewise.
65584         * lib/search_.h: Likewise.
65585         * lib/signal_.h: Likewise.
65586         * lib/stdint_.h: Likewise.
65587         * lib/stdio_.h: Likewise.
65588         * lib/stdlib_.h: Likewise.
65589         * lib/string_.h: Likewise.
65590         * lib/sys_select_.h: Likewise.
65591         * lib/sys_socket_.h: Likewise.
65592         * lib/sys_stat_.h: Likewise.
65593         * lib/sys_time_.h: Likewise.
65594         * lib/sysexits_.h: Likewise.
65595         * lib/time_.h: Likewise.
65596         * lib/unistd_.h: Likewise.
65597         * lib/wchar_.h: Likewise.
65598         * lib/wctype_.h: Likewise.
65599
65600 2007-05-29  Bruno Haible  <bruno@clisp.org>
65601
65602         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
65603         for the moment.
65604
65605 2007-05-29  Bruno Haible  <bruno@clisp.org>
65606
65607         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
65608         invocation.
65609         Reported by Eric Blake.
65610
65611 2007-05-29  Bruno Haible  <bruno@clisp.org>
65612
65613         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
65614         compiling case.
65615
65616 2007-05-29  Eric Blake  <ebb9@byu.net>
65617             Bruno Haible  <bruno@clisp.org>
65618
65619         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
65620         cross compiles.
65621
65622 2007-05-28  Eric Blake  <ebb9@byu.net>
65623
65624         * modules/closein-tests (test_closein_LDADD): Support test on
65625         cygwin with libtool.
65626
65627 2007-05-28  Bruno Haible  <bruno@clisp.org>
65628
65629         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
65630         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65631         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65632         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65633         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65634         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65635         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65636         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65637         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65638
65639 2007-05-28  Eric Blake  <ebb9@byu.net>
65640
65641         Unconditionally include <config.h> in unit tests.
65642         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
65643         * tests/test-allocsa.c, tests/test-arcfour.c,
65644         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
65645         tests/test-array_list.c, tests/test-array_oset.c,
65646         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
65647         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
65648         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
65649         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
65650         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
65651         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
65652         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
65653         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
65654         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
65655         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
65656         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
65657         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
65658         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
65659         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
65660         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
65661         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
65662         test-md5.c, test-memmem.c, test-printf-posix.c,
65663         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
65664         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
65665         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
65666         test-strcasestr.c, test-striconv.c, test-striconveh.c,
65667         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
65668         test-vasnprintf-posix2.c, test-vasnprintf.c,
65669         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
65670         test-vfprintf-posix.c, test-vprintf-posix.c,
65671         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
65672         test-xvasprintf.c: Likewise.
65673
65674 2007-05-28  Bruno Haible  <bruno@clisp.org>
65675
65676         * gnulib-tool (func_import): Remember the --with-tests command-line
65677         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
65678         Reported by Eric Blake.
65679
65680 2007-05-28  Bruno Haible  <bruno@clisp.org>
65681
65682         * modules/ftell-tests: New file.
65683         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
65684         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
65685
65686         * lib/ftell.c: New file.
65687         * modules/ftell: New file.
65688         * m4/ftell.m4: New file.
65689         * doc/functions/ftell.texi: Update.
65690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
65691         REPLACE_FTELL.
65692         * lib/stdio_.h (rpl_ftell): New declaration.
65693         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
65694         REPLACE_FTELL.
65695
65696 2007-05-28  Eric Blake  <ebb9@byu.net>
65697
65698         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
65699
65700 2007-05-28  Bruno Haible  <bruno@clisp.org>
65701
65702         * modules/fseek-tests: New file.
65703         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
65704         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
65705
65706         * lib/fseek.c: New file.
65707         * modules/fseek: New file.
65708         * m4/fseek.m4: New file.
65709         * doc/functions/fseek.texi: Update.
65710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
65711         REPLACE_FSEEK.
65712         * lib/stdio_.h (rpl_fseek): New declaration.
65713         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
65714         REPLACE_FSEEK.
65715
65716 2007-05-28  Bruno Haible  <bruno@clisp.org>
65717
65718         * lib/stdio_.h (fflush): More comments.
65719
65720 2007-05-28  Bruno Haible  <bruno@clisp.org>
65721
65722         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
65723         runtime test.
65724
65725 2007-05-28  Eric Blake  <ebb9@byu.net>
65726
65727         Improve lseek module.
65728         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
65729         * lib/unistd_.h (lseek): Scale back link warning message.
65730         * tests/test-lseek.c: Beef up test.
65731         * tests/test-lseek.sh: Exercise more facets of lseek.
65732         Reported by Bruno Haible.
65733
65734 2007-05-28  Bruno Haible  <bruno@clisp.org>
65735
65736         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
65737         to define.
65738
65739 2007-05-27  Bruno Haible  <bruno@clisp.org>
65740
65741         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
65742
65743 2007-05-27  Bruno Haible  <bruno@clisp.org>
65744
65745         * modules/openmp: New file.
65746         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
65747         Noah Misch.
65748
65749 2007-05-26  Bruno Haible  <bruno@clisp.org>
65750
65751         * modules/chdir-long (Depends-on): Add fchdir.
65752         * modules/chdir-safer (Depends-on): Likewise.
65753         * modules/fts (Depends-on): Likewise.
65754         * modules/fts-lgpl (Depends-on): Likewise.
65755         * modules/openat (Depends-on): Likewise.
65756         * modules/savewd (Depends-on): Likewise.
65757
65758 2007-05-24  Eric Blake  <ebb9@byu.net>
65759
65760         Fix lseek on mingw.
65761         * modules/lseek: New module.
65762         * m4/lseek.m4: New file.
65763         * lib/lseek.c: New file.
65764         * modules/lseek-tests: New file.
65765         * tests/test-lseek.c: New file.
65766         * tests/test-lseek.sh: New file.
65767         * MODULES.html.sh: Document lseek module.
65768         * modules/fflush (Depends-on): Add lseek, fseeko.
65769         * modules/fseeko (Depends-on): Likewise.
65770         * modules/ftello (Depends-on): Likewise.
65771         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65772         broken.
65773         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65774         broken.
65775         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65776         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65777         * lib/ftello.c (rpl_ftello): Likewise.
65778         * tests/test-fseeko.c (main): Test this.
65779         * tests/test-fseeko.sh: Likewise.
65780         * tests/test-ftello.c (main): Likewise.
65781         * tests/test-ftello.sh: Likewise.
65782         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65783         implies replacing fseek.
65784         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65785         HAVE_FTELLO.
65786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65787         * modules/unistd (Makefile.am): Likewise.
65788         * lib/unistd_.h (lseek): Declare a replacement.
65789         * doc/functions/lseek.texi (lseek): Document this fix.
65790         * doc/functions/fseek.texi (fseek): Likewise.
65791         * doc/functions/ftell.texi (ftell): Likewise.
65792
65793 2007-05-24  Bruno Haible  <bruno@clisp.org>
65794
65795         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65796         in the printed representation of a NaN.
65797         * tests/test-vasprintf-posix.c (test_function): Likewise.
65798         * tests/test-snprintf-posix.h (test_function): Likewise.
65799         * tests/test-sprintf-posix.h (test_function): Likewise.
65800         Reported by Eric Blake.
65801
65802 2007-05-23  Eric Blake  <ebb9@byu.net>
65803
65804         Fix fseeko/ftello on cygwin 1.5.24.
65805         * doc/functions/fseeko.texi (fseeko): Document the fix.
65806         * doc/functions/ftello.texi (ftello): Document the fix.
65807         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65808         * doc/functions/stdout.text (stdout): New file.
65809         * doc/functions/stderr.text (stderr): New file.
65810         * doc/gnulib.texi (Function Substitutes): Use new files.
65811         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65812         prior to 1.7.0.
65813         * tests/test-ftello.c (main): Likewise for ftello.
65814         * tests/test-fseeko.sh: New file.
65815         * tests/test-ftello.sh: New file.
65816         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65817         with seekable stdin.
65818         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65819         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65820         (gl_REPLACE_FSEEKO): New macro.
65821         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65822         * modules/fseeko (Files): Distribute fseeko.c.
65823         * modules/ftello (Files): Distribute ftello.c.
65824         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65825         mode.
65826         * lib/ftello.c (rpl_ftello): New file.
65827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65828         fseeko, ftello.
65829         (gl_STDIN_LARGE_OFFSET): New macro.
65830         * modules/stdio (Makefile.am): Perform the replacement.
65831         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65832
65833 2007-05-23  Bruno Haible  <bruno@clisp.org>
65834
65835         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65836         GNULIB_POSIXCHECK is defined.
65837
65838 2007-05-21  Bruno Haible  <bruno@clisp.org>
65839
65840         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65841         Check also the output for NaN arguments. When cross-compiling, guess
65842         no on IRIX.
65843         * lib/vasnprintf.c: Update comments.
65844         * tests/test-vasnprintf-posix.c (strisnan): New function.
65845         (test_function): Use it.
65846         * tests/test-vasprintf-posix.c (strisnan): New function.
65847         (test_function): Use it.
65848         * tests/test-snprintf-posix.h (strisnan): New function.
65849         (test_function): Use it.
65850         * tests/test-sprintf-posix.h (strisnan): New function.
65851         (test_function): Use it.
65852         Reported by Eric Blake.
65853
65854 2007-05-20  Bruno Haible  <bruno@clisp.org>
65855
65856         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65857         numbers that fails on BeOS.
65858         * doc/functions/frexpl.texi: Update.
65859
65860 2007-05-20  Jim Meyering  <jim@meyering.net>
65861
65862         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65863         forced upon us by glibc-2.6.
65864
65865 2007-05-20  Bruno Haible  <bruno@clisp.org>
65866
65867         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65868         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65869         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65870         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65871         NEED_PRINTF_INFINITE.
65872         (is_infinitel): New function.
65873         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65874         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65875         gl_PREREQ_VASNPRINTF_INFINITE.
65876         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65877         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65878         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65879         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65880         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65881         gl_PREREQ_VASNPRINTF_INFINITE.
65882         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65883         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65884         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65885         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65886         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65887         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65888         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65889         * doc/functions/fprintf.texi: Update.
65890         * doc/functions/printf.texi: Update.
65891         * doc/functions/snprintf.texi: Update.
65892         * doc/functions/sprintf.texi: Update.
65893         * doc/functions/vfprintf.texi: Update.
65894         * doc/functions/vprintf.texi: Update.
65895         * doc/functions/vsnprintf.texi: Update.
65896         * doc/functions/vsprintf.texi: Update.
65897
65898 2007-05-20  Bruno Haible  <bruno@clisp.org>
65899
65900         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65901         was not found in libc.
65902         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65903
65904 2007-05-20  Bruno Haible  <bruno@clisp.org>
65905
65906         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65907         printed as "-nan" instead of "nan".
65908         * tests/test-vasprintf-posix.c (test_function): Likewise.
65909         * tests/test-snprintf-posix.h (test_function): Likewise.
65910         * tests/test-sprintf-posix.h (test_function): Likewise.
65911         Needed for HP-UX 11.
65912
65913 2007-05-20  Jim Meyering  <jim@meyering.net>
65914
65915         Fix buggy test for the fchownat-deref bug.
65916         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65917         symlink required for the run-test.  Without it, this test would
65918         always declare that fchownat doesn't work, and client code would
65919         unnecessarily use the replacement function with fixed libc.
65920         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65921         Reported by Greg Schafer.
65922
65923 2007-05-19  Bruno Haible  <bruno@clisp.org>
65924
65925         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65926         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65927         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65928         Needed for IRIX 6.5 and Solaris 2.5.1.
65929
65930 2007-05-19  Bruno Haible  <bruno@clisp.org>
65931
65932         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65933         (test_function): Skip tests involving -0.0 on platforms where
65934         -0.0 = 0.0.
65935         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65936         (test_function): Skip tests involving -0.0 on platforms where
65937         -0.0 = 0.0.
65938         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65939         (test_function): Skip tests involving -0.0 on platforms where
65940         -0.0 = 0.0.
65941         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65942         (test_function): Skip tests involving -0.0 on platforms where
65943         -0.0 = 0.0.
65944         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65945         tests.
65946         * tests/test-printf-posix.h (test_function): Likewise.
65947         * tests/test-printf-posix.output: Remove all -0.0 related results.
65948         Needed for IRIX 6.5.
65949
65950 2007-05-19  Bruno Haible  <bruno@clisp.org>
65951
65952         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65953         printed as "nan0x7fffffff" instead of "nan".
65954         * tests/test-vasprintf-posix.c (test_function): Likewise.
65955         * tests/test-snprintf-posix.h (test_function): Likewise.
65956         * tests/test-sprintf-posix.h (test_function): Likewise.
65957         * tests/test-fprintf-posix.h (NaN): Remove macro.
65958         (test_function): Remove all NaN related tests.
65959         * tests/test-printf-posix.h (NaN): Remove macro.
65960         (test_function): Remove all NaN related tests.
65961         * tests/test-printf-posix.output: Remove all NaN related results.
65962         Needed for IRIX 6.5.
65963
65964 2007-05-19  Bruno Haible  <bruno@clisp.org>
65965
65966         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65967         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65968
65969 2007-05-19  Bruno Haible  <bruno@clisp.org>
65970
65971         * lib/float_.h: New file.
65972         * m4/float_h.m4: New file.
65973         * modules/float: New file.
65974         * modules/isnanl (Dependencies): Add float.
65975         * modules/isnanl-nolibm (Dependencies): Likewise.
65976         * modules/mathl (Dependencies): Likewise.
65977         * modules/printf-frexpl (Dependencies): Likewise.
65978         * modules/signbit (Dependencies): Likewise.
65979         * modules/vasnprintf (Dependencies): Likewise.
65980         * doc/headers/float.texi: Update.
65981
65982 2007-05-19  Jim Meyering  <jim@meyering.net>
65983
65984         * lib/utimens.c (gl_futimens): Rename from futimens,
65985         now that glibc-2.6 declares futimens.
65986         * lib/utimens.h: Likewise.
65987
65988 2007-05-19  Bruno Haible  <bruno@clisp.org>
65989
65990         Avoid test failures on mingw.
65991         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65992         * tests/test-printf-posix.sh: Likewise.
65993         * tests/test-vfprintf-posix.sh: Likewise.
65994         * tests/test-vprintf-posix.sh: Likewise.
65995
65996 2007-05-19  Bruno Haible  <bruno@clisp.org>
65997
65998         Fix *printf result for NaN, Inf, -0.0 on mingw.
65999         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66000         * lib/vasnprintf.c: Include math.h and isnan.h.
66001         (is_infinite_or_zero): New function.
66002         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66003         values in the %f, %F, %e, %E, %g, %G directives.
66004         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66005         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66006         gl_PRINTF_INFINITE and test its result. Invoke
66007         gl_PREREQ_VASNPRINTF_INFINITE.
66008         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66009         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66010         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66011         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66012         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66013         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66014         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66015         * doc/functions/fprintf.texi: Update.
66016         * doc/functions/printf.texi: Update.
66017         * doc/functions/snprintf.texi: Update.
66018         * doc/functions/sprintf.texi: Update.
66019         * doc/functions/vfprintf.texi: Update.
66020         * doc/functions/vprintf.texi: Update.
66021         * doc/functions/vsnprintf.texi: Update.
66022         * doc/functions/vsprintf.texi: Update.
66023
66024 2007-05-19  Bruno Haible  <bruno@clisp.org>
66025
66026         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66027         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66028         Instead of multiplying with 10^k, set extra_zeroes to k.
66029         (scale10_round_long_double): Remove function.
66030
66031 2007-05-18  Bruno Haible  <bruno@clisp.org>
66032
66033         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66034         introduced on 2007-05-06.
66035
66036 2007-05-18  Bruno Haible  <bruno@clisp.org>
66037
66038         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66039         %g directives.
66040         * tests/test-vasprintf-posix.c (test_function): Likewise.
66041         * tests/test-snprintf-posix.h (test_function): Likewise.
66042         * tests/test-sprintf-posix.h (test_function): Likewise.
66043
66044 2007-05-18  Bruno Haible  <bruno@clisp.org>
66045
66046         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66047         (strmatch): New function.
66048         (test_function): Test the %f directive on numbers of various exponents.
66049         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66050         (strmatch): New function.
66051         (test_function): Test the %f directive on numbers of various exponents.
66052         * tests/test-snprintf-posix.h (strmatch): New function.
66053         (test_function): Test the %f directive on numbers of various exponents.
66054         * tests/test-sprintf-posix.h (strmatch): New function.
66055         (test_function): Test the %f directive on numbers of various exponents.
66056         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66057         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66058         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66059         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66060
66061 2007-05-18  Bruno Haible  <bruno@clisp.org>
66062
66063         Add support for 'long double' number output.
66064         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66065         * lib/vasnprintf.c: Include math.h and float+.h.
66066         (mp_limb_t): New type.
66067         (GMP_LIMB_BITS): New macro.
66068         (mp_twolimb_t): New type.
66069         (GMP_TWOLIMB_BITS): New macro.
66070         (mpn_t): New type.
66071         (multiply, divide, convert_to_decimal, decode_long_double,
66072         scale10_round_long_double, scale10_round_decimal_long_double,
66073         floorlog10l): New functions.
66074         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66075         for the %f, %F, %e, %E, %g, %G directives.
66076         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66077         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66078         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66079         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66080         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66081         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66082         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66083         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66084         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66085         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66086         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66087         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66088         * modules/snprintf-posix (Depends-on): Likewise.
66089         * modules/sprintf-posix (Depends-on): Likewise.
66090         * modules/vasnprintf-posix (Depends-on): Likewise.
66091         * modules/vasprintf-posix (Depends-on): Likewise.
66092         * modules/vfprintf-posix (Depends-on): Likewise.
66093         * modules/vsnprintf-posix (Depends-on): Likewise.
66094         * modules/vsprintf-posix (Depends-on): Likewise.
66095         * modules/vasnprintf (Files): Add lib/float+.h.
66096         * doc/functions/fprintf.texi: Update.
66097         * doc/functions/printf.texi: Update.
66098         * doc/functions/snprintf.texi: Update.
66099         * doc/functions/sprintf.texi: Update.
66100         * doc/functions/vfprintf.texi: Update.
66101         * doc/functions/vprintf.texi: Update.
66102         * doc/functions/vsnprintf.texi: Update.
66103         * doc/functions/vsprintf.texi: Update.
66104
66105 2007-05-18  Bruno Haible  <bruno@clisp.org>
66106
66107         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66108
66109 2007-05-18  Bruno Haible  <bruno@clisp.org>
66110
66111         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66112         for printing 64-bit integers. Needed for mingw.
66113
66114 2007-05-18  Bruno Haible  <bruno@clisp.org>
66115
66116         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66117         gl_FUNC_FREXPL_WORKS.
66118         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66119
66120 2007-05-18  Bruno Haible  <bruno@clisp.org>
66121
66122         * modules/frexpl-nolibm-tests: New file.
66123
66124         * modules/frexpl-nolibm: New file.
66125         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66126
66127 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66128
66129         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66130         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66131         GCC 4.2, which otherwise issues a lot of warnings.
66132         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66133         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66134         Likewise.
66135         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66136         * modules/iconv_open (iconv.h): Likewise.
66137         * modules/locale (locale.h): Likewise.
66138         * modules/netinet_in (netinet/in.h): Likewise.
66139         * modules/sys_select (sys_select.h): Likewise.
66140         * modules/sys_socket (sys/socket.h): Likewise.
66141         * modules/sys_stat (sys/stat.h): Likewise.
66142         * modules/sysexits (sysexits.h): Likewise.
66143         * modules/unistd (unistd.h): Likewise.
66144
66145 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66146
66147         * modules/closein-tests (Makefile.am): Distribute
66148         `test-closein.sh'.
66149
66150 2007-05-17  Bruno Haible  <bruno@clisp.org>
66151
66152         * tests/test-printf-posix.output: Renamed from
66153         tests/test-fprintf-posix.out.
66154         * modules/fprintf-posix-tests: Update.
66155         * modules/printf-posix-tests: Update.
66156         * modules/vfprintf-posix-tests: Update.
66157         * modules/vprintf-posix-tests: Update.
66158         * tests/test-fprintf-posix.sh: Update.
66159         * tests/test-printf-posix.sh: Update.
66160         * tests/test-vfprintf-posix.sh: Update.
66161         * tests/test-vprintf-posix.sh: Update.
66162         Reported by Ralf Wildenhues.
66163
66164 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66165
66166         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66167         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66168         GCC 4.2, which otherwise issues a lot of warnings.
66169         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66170         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66171         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66172         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66173         it should no longer be needed.
66174         * lib/string_.h: Likewise.
66175         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66176         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66177         * modules/inttypes (inttypes.h): Likewise.
66178         * modules/math (math.h): Likewise.
66179         * modules/search (search.h): Likewise.
66180         * modules/signal (signal.h): Likewise.
66181         * modules/stdint (stdint.h): Likewise.
66182         * modules/stdio (stdio.h): Likewise.
66183         * modules/stdlib (stdlib.h): Likewise.
66184         * modules/string (string.h): Likewise.
66185         * modules/sys_time (sys/time.h): Likewise.
66186         * modules/time (time.h): Likewise.
66187         * modules/wchar (wchar.h): Likewise.
66188         * modules/wctype (wtype.h): Likewise.
66189
66190 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66191
66192         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66193
66194 2007-05-13  Bruno Haible  <bruno@clisp.org>
66195
66196         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66197         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66198         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66199         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66200         (gl_PREREQ_STRTOK_R): Don't require it here.
66201
66202 2007-05-13  Bruno Haible  <bruno@clisp.org>
66203
66204         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66205         when used in C++ mode.
66206
66207 2007-05-12  Bruno Haible  <bruno@clisp.org>
66208
66209         * lib/linebuffer.h: Tweak doc.
66210         * lib/linebuffer.c: Likewise.
66211
66212 2007-05-12  James Youngman  <jay@gnu.org>
66213
66214         * lib/linebuffer.c (readlinebuffer_delim): New function,
66215         like readlinebuffer, but use a caller-specified delimiter.
66216         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66217         as the delimiter.
66218         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66219
66220 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66221
66222         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66223         * modules/openat (Files): Remove openat-die.c.
66224         (Depends-on): Add openat-die.
66225         * modules/openat-die: New module.
66226
66227 2007-05-06  Bruno Haible  <bruno@clisp.org>
66228
66229         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66230         Update with info about Cygwin.
66231         * doc/functions/fprintf.texi: Update.
66232         * doc/functions/printf.texi: Update.
66233         * doc/functions/snprintf.texi: Update.
66234         * doc/functions/sprintf.texi: Update.
66235         * doc/functions/vfprintf.texi: Update.
66236         * doc/functions/vprintf.texi: Update.
66237         * doc/functions/vsnprintf.texi: Update.
66238         * doc/functions/vsprintf.texi: Update.
66239         Reported by Eric Blake.
66240
66241 2007-05-06  Bruno Haible  <bruno@clisp.org>
66242
66243         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
66244         padding ourselves for the floating-point directives.
66245         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
66246         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
66247         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66248         gl_PRINTF_FLAG_ZERO and test its result. Invoke
66249         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
66250         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66251         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66252         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66253         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66254         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66255         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66256         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66257         * tests/test-snprintf-posix.h (test_function): Also check the width
66258         and some flags in the %f directive.
66259         * tests/test-sprintf-posix.h (test_function): Likewise.
66260         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66261         * tests/test-vasprintf-posix.c (test_function): Likewise.
66262         * doc/functions/fprintf.texi: Update.
66263         * doc/functions/printf.texi: Update.
66264         * doc/functions/snprintf.texi: Update.
66265         * doc/functions/sprintf.texi: Update.
66266         * doc/functions/vfprintf.texi: Update.
66267         * doc/functions/vprintf.texi: Update.
66268         * doc/functions/vsnprintf.texi: Update.
66269         * doc/functions/vsprintf.texi: Update.
66270
66271 2007-05-06  Bruno Haible  <bruno@clisp.org>
66272
66273         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66274         pass the ' flag character to sprintf or snprintf.
66275         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66276         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66277         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66278         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66279         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66280         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66281         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66282         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66283         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66284         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66285         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66286         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66287         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66288         flag.
66289         * tests/test-sprintf-posix.h (test_function): Likewise.
66290         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66291         * tests/test-vasprintf-posix.c (test_function): Likewise.
66292         * doc/functions/fprintf.texi: Update.
66293         * doc/functions/printf.texi: Update.
66294         * doc/functions/snprintf.texi: Update.
66295         * doc/functions/sprintf.texi: Update.
66296         * doc/functions/vfprintf.texi: Update.
66297         * doc/functions/vprintf.texi: Update.
66298         * doc/functions/vsnprintf.texi: Update.
66299         * doc/functions/vsprintf.texi: Update.
66300
66301 2007-05-01  Bruno Haible  <bruno@clisp.org>
66302
66303         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66304
66305 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66306
66307         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66308         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66309
66310 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66311
66312         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66313         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66314         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66315
66316 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66317
66318         * lib/argp-help.c (struct hol_entry): New member `ord'.
66319         (HOL_ENTRY_PTRCMP): Use ord for comparison
66320         (hol_sort): Initialize ord.
66321
66322 2007-05-01  Bruno Haible  <bruno@clisp.org>
66323
66324         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66325         Reported by Eric Blake.
66326         * doc/gnulib.texi (Function Substitutes): Update.
66327
66328 2007-05-01  Bruno Haible  <bruno@clisp.org>
66329
66330         * doc/functions.texi: Remove file, now redundant through
66331         doc/functions/*.texi.
66332
66333 2007-05-01  Bruno Haible  <bruno@clisp.org>
66334
66335         * modules/argp (Depends-on): Add sleep.
66336
66337 2007-05-01  Bruno Haible  <bruno@clisp.org>
66338
66339         * modules/sleep-tests: New file.
66340         * tests/test-sleep.c: New file.
66341
66342         * modules/sleep: New file.
66343         * lib/sleep.c: New file.
66344         * m4/sleep.m4: New file.
66345         * lib/unistd_.h (sleep): New declaration.
66346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66347         HAVE_SLEEP.
66348         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66349         * doc/functions/sleep.texi: Document the sleep module.
66350
66351 2007-05-01  Bruno Haible  <bruno@clisp.org>
66352
66353         * lib/sigprocmask.h: Remove file.
66354         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66355         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66356         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66357         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66358         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66359         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66360         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66361         HAVE_SIGSET_T as a shell variable.
66362         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66363         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66364         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66365         (Depends-on): Add signal. Remove verify.
66366         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66367         (Include): Mention <signal.h> instead of sigprocmask.h.
66368         * NEWS: Mention the change.
66369         * lib/fatal-signal.c: Don't include sigprocmask.h.
66370
66371 2007-05-01  Bruno Haible  <bruno@clisp.org>
66372
66373         * modules/signal: New file.
66374         * lib/signal_.h: New file.
66375         * m4/signal_h.m4: New file.
66376
66377 2007-05-01  Bruno Haible  <bruno@clisp.org>
66378
66379         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66380         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66381         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66382         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66383
66384 2007-05-01  Bruno Haible  <bruno@clisp.org>
66385
66386         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66387         configure time.
66388         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66389         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66390         * modules/sys_stat (Makefile.am): Substitute their values into
66391         sys/stat.h.
66392
66393 2007-05-01  Bruno Haible  <bruno@clisp.org>
66394
66395         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66396         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66397         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66398
66399 2007-05-01  Bruno Haible  <bruno@clisp.org>
66400
66401         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66402         'assert' module here.
66403
66404 2007-05-01  Bruno Haible  <bruno@clisp.org>
66405
66406         * doc/functions/*.texi: New files.
66407         * doc/functions/google-ranking.txt: New file.
66408         * doc/gnulib.texi (Function Substitutes): New chapter.
66409         (ctime, inet_ntoa): Remove sections.
66410         * doc/ctime.texi: Remove file.
66411         * doc/inet_ntoa.texi: Remove file.
66412         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66413         dependencies.
66414         (%.info): New rule, specifying a --reference-limit.
66415
66416 2007-05-01  Bruno Haible  <bruno@clisp.org>
66417
66418         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66419
66420 2007-05-01  Bruno Haible  <bruno@clisp.org>
66421
66422         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66423         the portability of 'mkdir' to mingw systems.
66424
66425 2007-05-01  Bruno Haible  <bruno@clisp.org>
66426
66427         * doc/headers/google-ranking.txt: New file.
66428
66429 2007-04-30  Eric Blake  <ebb9@byu.net>
66430
66431         Prefer fseeko to fseek.
66432         * modules/getpass (Depends-on): Add fseeko.
66433         * lib/getpass.c (getpass): Use fseeko, not fseek.
66434
66435 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66436
66437         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66438         assumes the sorting is stable, while most qsort implementations
66439         are not.  Use argument addresses to ensure they never compare as
66440         equal.
66441
66442         * tests/test-argp-2.sh (usage-indent test): Fix output
66443         (func_compare): Restore diff options
66444         * tests/test-argp.c: Restore #include "progname.h"
66445
66446 2007-04-29  Bruno Haible  <bruno@clisp.org>
66447
66448         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66450         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66451         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66452         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66453         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66454         (TESTS, check_PROGRAMS): Add test-snprintf.
66455         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66456         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66457         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66458         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66459         assertions that fail on HP-UX, OSF/1, or IRIX.
66460         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66461
66462 2007-04-29  Bruno Haible  <bruno@clisp.org>
66463
66464         * MODULES.html.sh (posix_functions): Remove 'contents'.
66465
66466 2007-04-29  Karl Berry  <karl@gnu.org>
66467
66468         * config/srclist.txt (gendocs_template_min): new entry.
66469
66470 2007-04-29  Bruno Haible  <bruno@clisp.org>
66471
66472         Work around fpurge bug on BSD systems.
66473         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66474         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66475         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66476         fpurge to rpl_fpurge if the system already has this function.
66477         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66478         the case where the system already has this function. Correct invariants
66479         on BSD systems.
66480         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66481         BSD systems.
66482
66483 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66484
66485         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66486         proposed by Sven Verdoolaege.
66487
66488         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66489         options.
66490         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66491         (usage and help tests): Update
66492
66493 2007-04-29  Bruno Haible  <bruno@clisp.org>
66494
66495         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66496         Print more information in case of failure. Disable a test on BeOS.
66497
66498 2007-04-29  Bruno Haible  <bruno@clisp.org>
66499
66500         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66501         This helps debugging on systems on which no gdb is available.
66502
66503 2007-04-29  Bruno Haible  <bruno@clisp.org>
66504
66505         * lib/freading.h: Improve comments.
66506         * lib/fwriting.h: Likewise.
66507         * tests/test-freading.c (main): Don't check freading immediately after
66508         repositioning. Needed for glibc.
66509
66510 2007-04-29  Bruno Haible  <bruno@clisp.org>
66511
66512         * lib/freading.c (freading): Trivial simplification.
66513
66514 2007-04-28  Bruno Haible  <bruno@clisp.org>
66515
66516         * tests/test-fwriting.c (main): Also test the interaction between
66517         fflush and fwriting.
66518         * modules/fwriting-tests (Depends-on): Add fflush.
66519
66520         * tests/test-freading.c (main): Also test the interaction between
66521         fflush and freading.
66522         * modules/freading-tests (Depends-on): Add fflush.
66523
66524 2007-04-28  Bruno Haible  <bruno@clisp.org>
66525
66526         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66527         fseeko and ftello.
66528         Suggested by Eric Blake.
66529
66530 2007-04-28  Jim Meyering  <jim@meyering.net>
66531
66532         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66533         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66534         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66535
66536 2007-04-27  Eric Blake  <ebb9@byu.net>
66537
66538         * doc/headers/assert.texi (assert.h): Document assert module use.
66539
66540 2007-04-27  Bruno Haible  <bruno@clisp.org>
66541
66542         * doc/headers/*.texi: New files.
66543         * doc/gnulib.texi (Header File Substitutes): New chapter.
66544         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66545         dependencies.
66546         (standards.info ,standards.html, standards.dvi): Update dependencies.
66547         (mostlyclean, clean): New targets.
66548
66549 2007-04-27  Bruno Haible  <bruno@clisp.org>
66550
66551         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66552         * modules/sysexits (Files, Makefile.am): Update.
66553
66554         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66555         * modules/sys_socket (Files, Makefile.am): Update.
66556
66557         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66558         * modules/sys_stat (Files, Makefile.am): Update.
66559
66560 2007-04-27  Eric Blake  <ebb9@byu.net>
66561
66562         * lib/freading.h: Improve comments.
66563         * lib/fwriting.h: Likewise.
66564         * lib/fflush.c: Likewise.
66565
66566         Fix closein for mingw.
66567         * modules/closein-tests: Add tests for closein.
66568         * tests/test-closein.c: New file.
66569         * tests/test-closein.sh: Likewise.
66570         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
66571         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
66572
66573 2007-04-27  Bruno Haible  <bruno@clisp.org>
66574
66575         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
66576         version is < 6.
66577         * lib/math_.h [__DECC]: Likewise.
66578         * lib/stdio_.h [__DECC]: Likewise.
66579         * lib/stdlib_.h [__DECC]: Likewise.
66580         * lib/string_.h [__DECC]: Likewise.
66581         * lib/time_.h [__DECC]: Likewise.
66582         * lib/wchar_.h [__DECC]: Likewise.
66583         * lib/wctype_.h [__DECC]: Likewise.
66584
66585 2007-04-27  Bruno Haible  <bruno@clisp.org>
66586
66587         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
66588
66589 2007-04-27  Bruno Haible  <bruno@clisp.org>
66590
66591         * lib/fflush.c: Add comments.
66592         * modules/fpurge-tests (Depends-on): Add fflush.
66593         * modules/freadable-tests (Depends-on): Likewise.
66594         * modules/fwritable-tests (Depends-on): Likewise.
66595
66596 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
66597
66598         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
66599         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
66600         Report by Bruno Haible <bruno@clisp.org>.
66601
66602 2007-04-26  Eric Blake  <ebb9@byu.net>
66603
66604         Fix fflush on mingw.
66605         * modules/fflush (Depends-on): Add freading.
66606         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
66607         but unread data.
66608
66609 2007-04-26  Eric Blake  <ebb9@byu.net>
66610         and Bruno Haible  <bruno@clisp.org>
66611
66612         Implement freading and fwriting.
66613         * lib/freading.c: New file.
66614         * lib/freading.h: Likewise.
66615         * m4/freading.m4: Likewise.
66616         * modules/freading: Likewise.
66617         * modules/freading-tests: Likewise.
66618         * tests/test-freading.c: Likewise.
66619         * lib/fwriting.c: New file.
66620         * lib/fwriting.h: Likewise.
66621         * m4/fwriting.m4: Likewise.
66622         * modules/fwriting: Likewise.
66623         * modules/fwriting-tests: Likewise.
66624         * tests/test-fwriting.c: Likewise.
66625         * MODULES.html.sh (File stream based Input/Output): Mention them.
66626
66627 2007-04-26  Bruno Haible  <bruno@clisp.org>
66628
66629         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
66630         'long' when we assume it.
66631         Suggested by Eric Blake.
66632
66633 2007-04-26  Bruno Haible  <bruno@clisp.org>
66634
66635         Ensure fseeko, ftello are declared on glibc systems.
66636         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
66637         * modules/fseeko (configure.ac-early): Likewise.
66638         * modules/ftello (configure.ac-early): Likewise.
66639         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
66640         AC_FUNC_FSEEKO for this.
66641         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
66642         (gl_CHECK_FSEEKO): Remove macro.
66643
66644 2007-04-26  Bruno Haible  <bruno@clisp.org>
66645
66646         * tests/test-fflush.c (main): Also check the ftell result after
66647         fflush and fseek/fseeko.
66648         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
66649         file descriptor position cache in the stream.
66650         * lib/fseeko.c (rpl_fseeko): Likewise.
66651
66652 2007-04-26  Bruno Haible  <bruno@clisp.org>
66653
66654         * modules/fflush-tests (Depends-on): Add fseeko.
66655
66656 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
66657             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66658
66659         * lib/argz_.h: ensure error_t definition is obtained in same
66660         mechanism system argz.h would have.
66661         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
66662         argz facilities are known bad.  Err on the side of caution if
66663         cross-compiling.
66664
66665 2007-04-25  Eric Blake  <ebb9@byu.net>
66666
66667         * lib/fpurge.c (includes): Use stdlib.h for free.
66668         * tests/test-fflush.c (main): Also test fflush-fseeko.
66669
66670 2007-04-25  Bruno Haible  <bruno@clisp.org>
66671
66672         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
66673         * lib/fseeko.c: New file.
66674         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
66675         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
66676         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
66677         gl_FUNC_FSEEKO.
66678         (gl_FUNC_FSEEKO): Invoke it.
66679         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
66680         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
66681         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
66682
66683 2007-04-25  Bruno Haible  <bruno@clisp.org>
66684
66685         * modules/fflush (Depends-on): Add ftello.
66686
66687 2007-04-25  Bruno Haible  <bruno@clisp.org>
66688
66689         * modules/ftello-tests: New file.
66690         * tests/test-ftello.c: New file.
66691
66692         * modules/ftello: New file.
66693         * m4/ftello.m4: New file.
66694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
66695         HAVE_FTELLO.
66696         * lib/stdio_.h (ftello): New declaration.
66697         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
66698         HAVE_FTELLO.
66699
66700 2007-04-25  Bruno Haible  <bruno@clisp.org>
66701
66702         * modules/fseeko-tests: New file.
66703         * tests/test-fseeko.c: New file.
66704
66705         * modules/fseeko: New file.
66706         * m4/fseeko.m4: New file.
66707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
66708         HAVE_FSEEKO.
66709         * lib/stdio_.h (fseeko): New declaration.
66710         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
66711         HAVE_FSEEKO.
66712
66713 2007-04-25  Bruno Haible  <bruno@clisp.org>
66714
66715         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
66716
66717 2007-04-25  Bruno Haible  <bruno@clisp.org>
66718
66719         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
66720         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
66721         * tests/test-unistd.c: Likewise.
66722         * tests/test-fcntl.c: Likewise.
66723
66724 2007-04-23  Eric Blake  <ebb9@byu.net>
66725
66726         * lib/fflush.c: Fix missing include.
66727         Reported by Bruno Haible.
66728
66729 2007-04-23  Bruno Haible  <bruno@clisp.org>
66730
66731         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
66732         Reported by Eric Blake.
66733
66734 2007-04-23  Bruno Haible  <bruno@clisp.org>
66735
66736         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
66737
66738 2007-04-23  Bruno Haible  <bruno@clisp.org>
66739
66740         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
66741
66742 2007-04-23  Bruno Haible  <bruno@clisp.org>
66743
66744         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
66745         Needed on HP-UX 11.
66746
66747 2007-04-16  Eric Blake  <ebb9@byu.net>
66748
66749         Make fflush rely on fpurge.
66750         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
66751         open coding all variants.
66752         * modules/fflush (Depends-on): Add fpurge and unistd.
66753         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
66754         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
66755
66756         Fix --with-tests compilation on cygwin.
66757         * modules/argmatch-tests (Makefile.am): List gnulib library first
66758         in LDADD.
66759         * modules/argp-tests (Makefile.am): Likewise.
66760         * modules/array-list-tests (Makefile.am): Likewise.
66761         * modules/array-oset-tests (Makefile.am): Likewise.
66762         * modules/avltree-list-tests (Makefile.am): Likewise.
66763         * modules/avltree-oset-tests (Makefile.am): Likewise.
66764         * modules/avltreehash-list-tests (Makefile.am): Likewise.
66765         * modules/carray-list-tests (Makefile.am): Likewise.
66766         * modules/dirname-tests (Makefile.am): Likewise.
66767         * modules/frexp-tests (Makefile.am): Likewise.
66768         * modules/isnanl-tests (Makefile.am): Likewise.
66769         * modules/linked-list-tests (Makefile.am): Likewise.
66770         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66771         * modules/lock-tests (Makefile.am): Likewise.
66772         * modules/rbtree-list-tests (Makefile.am): Likewise.
66773         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66774         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66775         * modules/tls-tests (Makefile.am): Likewise.
66776         * modules/tsearch-tests (Makefile.am): Likewise.
66777         * modules/xvasprintf-tests (Makefile.am): Likewise.
66778
66779         Fix fpurge for cygwin.
66780         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66781         value.
66782         * modules/fpurge-tests (Depends-on): Clean up trash.
66783
66784 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66785
66786         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66787
66788         * m4/autobuild.m4: Re-indent.
66789
66790 2007-04-13  Bruno Haible  <bruno@clisp.org>
66791
66792         * modules/fpurge-tests: New file.
66793         * tests/test-fpurge.c: New file.
66794
66795         * modules/fpurge: New file.
66796         * lib/fpurge.h: New file.
66797         * lib/fpurge.c: New file.
66798         * m4/fpurge.m4: New file.
66799
66800 2007-04-13  Bruno Haible  <bruno@clisp.org>
66801
66802         * modules/fbufmode-tests: New file.
66803         * tests/test-fbufmode.c: New file.
66804
66805         * modules/fbufmode: New file.
66806         * lib/fbufmode.h: New file.
66807         * lib/fbufmode.c: New file.
66808         * m4/fbufmode.m4: New file.
66809
66810 2007-04-13  Bruno Haible  <bruno@clisp.org>
66811
66812         * modules/fwritable-tests: New file.
66813         * tests/test-fwritable.c: New file.
66814
66815         * modules/fwritable: New file.
66816         * lib/fwritable.h: New file.
66817         * lib/fwritable.c: New file.
66818         * m4/fwritable.m4: New file.
66819
66820 2007-04-13  Bruno Haible  <bruno@clisp.org>
66821
66822         * modules/freadable-tests: New file.
66823         * tests/test-freadable.c: New file.
66824
66825         * modules/freadable: New file.
66826         * lib/freadable.h: New file.
66827         * lib/freadable.c: New file.
66828         * m4/freadable.m4: New file.
66829
66830 2007-04-13  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66833         MOSTLYCLEANFILES.
66834
66835 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66836
66837         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66838         gzip bootstrap.conf to avoid dragging in i18n machinery.
66839         (gnulib_tool_option): Use it.
66840
66841 2007-04-13  Bruno Haible  <bruno@clisp.org>
66842
66843         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66844         %F directives.
66845         * tests/test-vasprintf-posix.c (test_function): Likewise.
66846         * tests/test-snprintf-posix.h (test_function): Likewise.
66847         * tests/test-sprintf-posix.h (test_function): Likewise.
66848         * tests/test-fprintf-posix.h (test_function): Likewise.
66849         * tests/test-printf-posix.h (test_function): Likewise.
66850         * tests/test-fprintf-posix.out: Likewise.
66851
66852 2007-04-13  Bruno Haible  <bruno@clisp.org>
66853
66854         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66855         * modules/tls-tests (configure.ac): Likewise.
66856         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66857
66858 2007-04-13  Bruno Haible  <bruno@clisp.org>
66859
66860         * lib/tls.c (glthread_tls_get): Fix return type.
66861         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66862
66863 2007-04-12  Eric Blake  <ebb9@byu.net>
66864
66865         * modules/gettime (Depends-on): Remove gettime.
66866         Reported by Dmitry V. Levin.
66867
66868 2007-04-12  Bruno Haible  <bruno@clisp.org>
66869
66870         * modules/fflush (Include): Mention <stdio.h>.
66871         * modules/strtoimax (Include): Mention <inttypes.h>.
66872         * modules/strtoumax (Include): Likewise.
66873
66874 2007-04-12  Eric Blake  <ebb9@byu.net>
66875
66876         * .cvsignore: New file.
66877         * .gitignore: Likewise.
66878
66879 2007-04-12  Bruno Haible  <bruno@clisp.org>
66880
66881         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66882         not before, since $(LDADD) often contains libgnu.a.
66883         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66884         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66885         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66886         Needed on Cygwin.
66887
66888 2007-04-12  Eric Blake  <ebb9@byu.net>
66889
66890         Work around glibc's failure to flush stdin on fclose.
66891         * lib/closein.c (close_stdin): Flush stdin before closing.
66892
66893         Work around glibc's failure to reset seekable stdin on exit.
66894         * modules/closein: New module.
66895         * lib/closein.c: New file.
66896         * lib/closein.h: Likewise.
66897         * m4/closein.m4: Likewise.
66898         * MODULES.html.sh (File stream based Input/Output): Document it.
66899
66900 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66901
66902         * gnulib-tool: Rename generated 'autobuild' script to
66903         'do-autobuild' in --create-megatestdir output.
66904
66905         * doc/gnulib.texi (Build robot for gnulib): Fix.
66906
66907 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66908
66909         * modules/sysexits (Depends-on): Add absolute-header.
66910
66911 2007-04-12  Eric Blake  <ebb9@byu.net>
66912
66913         No need to preserve errno on success.
66914         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66915         Reported by Bruno Haible.
66916
66917 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66918
66919         * MODULES.html.sh (Support for maintaining and releasing
66920         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66921
66922 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66923
66924         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66925
66926 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66927
66928         * modules/autobuild: New module.
66929
66930         * m4/autobuild.m4: New file.
66931
66932 2007-04-11  Bruno Haible  <bruno@clisp.org>
66933
66934         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66935         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66936         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66937         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66938         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66939         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66940         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66941         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66942         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66943         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66944         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_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/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_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/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_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/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_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/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_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/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_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         Reported by Eric Blake.
66963
66964 2007-04-11  Bruno Haible  <bruno@clisp.org>
66965
66966         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66967
66968 2007-04-10  Bruno Haible  <bruno@clisp.org>
66969
66970         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66971         for NaN and Infinity. Needed on FreeBSD 6.1.
66972         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66973         regarding results for "%010a" of Infinity and NaN.
66974         * tests/test-vasprintf-posix.c (test_function): Likewise.
66975         * tests/test-snprintf-posix.h (test_function): Likewise.
66976         * tests/test-sprintf-posix.h (test_function): Likewise.
66977         * tests/test-fprintf-posix.h (test_function): Likewise.
66978         * tests/test-printf-posix.h (test_function): Likewise.
66979         * tests/test-fprintf-posix.out: Likewise.
66980
66981 2007-04-10  Bruno Haible  <bruno@clisp.org>
66982
66983         * modules/locale-tests: New file.
66984         * tests/test-locale.c: New file.
66985
66986         * modules/locale: New file.
66987         * lib/locale_.h: New file.
66988         * m4/locale_h.m4: New file.
66989
66990 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66991             Bruno Haible  <bruno@clisp.org>
66992
66993         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66994         be determined, test for availability of the copysignf, copysign,
66995         copysignl functions.
66996         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66997         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66998         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66999
67000 2007-04-09  Eric Blake  <ebb9@byu.net>
67001
67002         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67003         * modules/stdio (Makefile.am): Support fflush.
67004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67005         * modules/fflush: New file.
67006         * lib/fflush.c: Likewise.
67007         * m4/fflush.m4: Likewise.
67008         * modules/fflush-tests: New test.
67009         * tests/test-fflush.c: Likewise.
67010         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67011
67012 2007-04-06  Bruno Haible  <bruno@clisp.org>
67013
67014         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67015         (VASNPRINTF): Use signbit for faster determination whether to print a
67016         minus sign.
67017         * modules/vasnprintf (Files): Remove lib/float+.h.
67018         * modules/fprintf-posix (Depends-on): Add signbit.
67019         * modules/snprintf-posix (Depends-on): Likewise.
67020         * modules/sprintf-posix (Depends-on): Likewise.
67021         * modules/vasnprintf-posix (Depends-on): Likewise.
67022         * modules/vasprintf-posix (Depends-on): Likewise.
67023         * modules/vfprintf-posix (Depends-on): Likewise.
67024         * modules/vsnprintf-posix (Depends-on): Likewise.
67025         * modules/vsprintf-posix (Depends-on): Likewise.
67026
67027 2007-04-06  Bruno Haible  <bruno@clisp.org>
67028
67029         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67030         * tests/test-frexpl.c (main): Likewise.
67031         * tests/test-ldexpl.c (main): Likewise.
67032         * modules/frexp-tests (Depends-on): Add signbit.
67033         * modules/frexpl-tests (Depdends-on): Likewise.
67034         * modules/ldexpl-tests (Depdends-on): Likewise.
67035
67036 2007-04-06  Bruno Haible  <bruno@clisp.org>
67037
67038         * modules/signbit-tests: New file.
67039         * tests/test-signbit.c: New file.
67040
67041         * modules/signbit: New file.
67042         * lib/signbitf.c: New file.
67043         * lib/signbitd.c: New file.
67044         * lib/signbitl.c: New file.
67045         * m4/signbit.m4: New file.
67046         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67047         (signbit): New macro.
67048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67049         REPLACE_SIGNBIT.
67050         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67051         REPLACE_FREXPL into math.h.
67052
67053 2007-04-06  Bruno Haible  <bruno@clisp.org>
67054
67055         * modules/isnanf-nolibm-tests: New file.
67056         * tests/test-isnanf.c: New file.
67057
67058         * modules/isnanf-nolibm: New file.
67059         * lib/isnanf.h: New file.
67060         * lib/isnanf.c: New file.
67061         * lib/isnan.c: Consider the USE_FLOAT macro.
67062         * m4/isnanf.m4: New file.
67063
67064 2007-04-06  Bruno Haible  <bruno@clisp.org>
67065
67066         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67067         (Link): New section.
67068
67069         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67070
67071 2007-04-06  Bruno Haible  <bruno@clisp.org>
67072
67073         Assume the 'long double' type.
67074         * m4/longdouble.m4: Remove file.
67075         * config/srclist.txt: Don't mention longdouble.m4.
67076         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67077         * lib/float+.h: Likewise.
67078         * lib/frexp.c: Likewise.
67079         * lib/printf-args.h: Likewise.
67080         * lib/printf-args.c: Likewise.
67081         * lib/printf-frexp.c: Likewise.
67082         * lib/printf-parse.c: Likewise.
67083         * lib/vasnprintf.c: Likewise.
67084         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67085         * m4/intl.m4: Likewise.
67086         * m4/isnanl.m4: Likewise.
67087         * m4/printf.m4: Likewise.
67088         * m4/printf-frexpl.m4: Likewise.
67089         * m4/vasnprintf.m4: Likewise.
67090         * modules/allocsa (Files): Remove m4/longdouble.m4.
67091         * modules/gettext (Files): Likewise.
67092         * modules/relocatable-prog-wrapper (Files): Likewise.
67093         * modules/vasnprintf (Files): Likewise.
67094         * modules/isnanl (Files): Likewise.
67095         (Include): Simplify.
67096         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67097         (Include): Simplify.
67098         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67099         (Include): Simplify.
67100         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67101         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67102         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67103         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67104         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67105         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67106         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67107         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67108         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67109         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67110         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67111         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67112         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67113         * tests/test-isnanl.c: Likewise.
67114         * tests/test-snprintf-posix.h: Likewise.
67115         * tests/test-sprintf-posix.h: Likewise.
67116         * tests/test-vasnprintf-posix.c: Likewise.
67117         * tests/test-vasnprintf-posix2.c: Likewise.
67118         * tests/test-vasprintf-posix.c: Likewise.
67119
67120 2007-04-06  Bruno Haible  <bruno@clisp.org>
67121
67122         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67123         * lib/math_.h [__DECC]: Include the overridden include file through
67124         #include_next, outside the double-inclusion guard.
67125         * lib/stdio_.h [__DECC]: Likewise.
67126         * lib/stdlib_.h [__DECC]: Likewise.
67127         * lib/string_.h [__DECC]: Likewise.
67128         * lib/time_.h [__DECC]: Likewise.
67129         * lib/wchar_.h [__DECC]: Likewise.
67130         * lib/wctype_.h [__DECC]: Likewise.
67131         * lib/inttypes_.h [__DECC]: Likewise.
67132         Reported by Albert Chin <china@thewrittenword.com> in
67133         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67134
67135 2007-04-04  Eric Blake  <ebb9@byu.net>
67136
67137         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67138         1.5.x.
67139
67140 2007-04-04  Bruno Haible  <bruno@clisp.org>
67141
67142         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67143         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67144
67145 2007-04-04  Bruno Haible  <bruno@clisp.org>
67146
67147         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67148         results for "%010a" of Infinity and NaN.
67149         * tests/test-vasprintf-posix.c (test_function): Likewise.
67150         * tests/test-snprintf-posix.h (test_function): Likewise.
67151         * tests/test-sprintf-posix.h (test_function): Likewise.
67152         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67153         * tests/test-printf-posix.h (test_function): Likewise.
67154         * tests/test-fprintf-posix.out: Update.
67155         Needed for FreeBSD 6.1.
67156
67157 2007-04-04  Bruno Haible  <bruno@clisp.org>
67158
67159         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67160         directly used by the gnulib modules nor by gnulib-tool.
67161
67162 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67163
67164         * DEPENDENCIES: Give overall description of version dependency
67165         desirability.  Use more-typical names for apps.
67166         Add shell, coreutils, diffutils, grep, tar, gzip.
67167
67168 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67169
67170         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67171
67172 2007-04-04  Karl Berry  <karl@gnu.org>
67173
67174         * MODULES.html.sh (func_module): missing '.
67175
67176 2007-04-03  Bruno Haible  <bruno@clisp.org>
67177
67178         * modules/argmatch-tests (Makefile.am): New variable
67179         test_argmatch_LDADD.
67180         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67181         * modules/array-list-tests (Makefile.am): New variable
67182         test_array_list_LDADD.
67183         * modules/array-oset-tests (Makefile.am): New variable
67184         test_array_oset_LDADD.
67185         * modules/avltree-list-tests (Makefile.am): New variable
67186         test_avltree_list_LDADD.
67187         * modules/avltree-oset-tests (Makefile.am): New variable
67188         test_avltree_oset_LDADD.
67189         * modules/avltreehash-list-tests (Makefile.am): New variable
67190         test_avltreehash_list_LDADD.
67191         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67192         test_canonicalize_lgpl_LDADD.
67193         * modules/carray-list-tests (Makefile.am): New variable
67194         test_carray_list_LDADD.
67195         * modules/dirname-tests (Makefile.am): New variable
67196         test_dirname_LDADD.
67197         * modules/linked-list-tests (Makefile.am): New variable
67198         test_linked_list_LDADD.
67199         * modules/linkedhash-list-tests (Makefile.am): New variable
67200         test_linkedhash_list_LDADD.
67201         * modules/rbtree-list-tests (Makefile.am): New variable
67202         test_rbtree_list_LDADD.
67203         * modules/rbtree-oset-tests (Makefile.am): New variable
67204         test_rbtree_oset_LDADD.
67205         * modules/rbtreehash-list-tests (Makefile.am): New variable
67206         test_rbtreehash_list_LDADD.
67207         * modules/xvasprintf-tests (Makefile.am): New variable
67208         test_xvasprintf_LDADD.
67209         Reported by Eric Blake.
67210
67211 2007-04-03  Eric Blake  <ebb9@byu.net>
67212
67213         * DEPENDENCIES: Weaken m4 requirements.
67214
67215 2007-04-03  Bruno Haible  <bruno@clisp.org>
67216
67217         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67218         * modules/isnanl-tests (configure.ac): Likewise.
67219
67220 2007-04-03  Ben Pfaff  <blp@gnu.org>
67221
67222         * modules/iconv_open: Add $(srcdir)/ to source directory
67223         references in Makefile fragments that call gperf, to fix VPATH
67224         builds.
67225
67226 2007-04-03  Bruno Haible  <bruno@clisp.org>
67227
67228         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67229         * lib/ldexpl.c: Undo last change.
67230
67231 2007-04-03  Bruno Haible  <bruno@clisp.org>
67232
67233         * modules/printf-frexpl (Depends-on): Undo last change.
67234         (Files): Add m4/ldexpl.m4.
67235
67236 2007-04-03  Bruno Haible  <bruno@clisp.org>
67237
67238         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
67239         * modules/isnanl (Link): New section.
67240
67241         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
67242         * modules/frexp (Link): New section.
67243
67244         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
67245         * modules/frexpl (Link): New section.
67246
67247         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
67248         * modules/ldexpl (Link): New section.
67249
67250 2007-04-03  Bruno Haible  <bruno@clisp.org>
67251
67252         * modules/TEMPLATE-EXTENDED: New file.
67253         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
67254
67255 2007-04-03  Bruno Haible  <bruno@clisp.org>
67256
67257         * DEPENDENCIES: New file.
67258         Suggested by Simon Josefsson.
67259
67260 2007-04-03  Bruno Haible  <bruno@clisp.org>
67261
67262         * doc/gnulib.texi: Escape @.
67263
67264 2007-04-03  James Youngman  <jay@gnu.org>
67265         and Paul Eggert  <eggert@cs.ucla.edu>
67266
67267         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67268         birthtime on all systems that have birthtime, not just those which
67269         use st_birthtimensec rather than st_birthtim.  Putting zero in
67270         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67271         that the birth time is not available for files on an NFS mount.
67272
67273 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67274
67275         * modules/memxor: Move back from crypto/, suggested by Bruno.
67276         * modules/crypto/hmac-sha1: Fix memxor dependency.
67277
67278         * modules/crypto/gc: Moved from ../.
67279
67280 2007-04-02  Eric Blake  <ebb9@byu.net>
67281
67282         * lib/ldexpl.c (includes): Avoid libm.
67283
67284         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67285
67286 2007-04-02  Bruno Haible  <bruno@clisp.org>
67287
67288         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67289         on IRIX.
67290
67291 2007-04-02  Bruno Haible  <bruno@clisp.org>
67292
67293         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67294         x86 or x86_64 platforms running MacOS X.
67295         Reported by Ryan Schmidt <@ryandesign.com>.
67296
67297 2007-04-02  Bruno Haible  <bruno@clisp.org>
67298
67299         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67300         i386.
67301
67302 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67303
67304         * modules/crypto/arcfour: Moved from ../.
67305         * modules/crypto/arcfour-tests: Moved from ../.
67306         * modules/crypto/arctwo: Moved from ../.
67307         * modules/crypto/arctwo-tests: Moved from ../.
67308         * modules/crypto/des: Moved from ../.
67309         * modules/crypto/des-tests: Moved from ../.
67310         * modules/crypto/gc-arcfour: Moved from ../.
67311         * modules/crypto/gc-arcfour-tests: Moved from ../.
67312         * modules/crypto/gc-arctwo: Moved from ../.
67313         * modules/crypto/gc-arctwo-tests: Moved from ../.
67314         * modules/crypto/gc-des: Moved from ../.
67315         * modules/crypto/gc-des-tests: Moved from ../.
67316         * modules/crypto/gc-hmac-md5: Moved from ../.
67317         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67318         * modules/crypto/gc-hmac-sha1: Moved from ../.
67319         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67320         * modules/crypto/gc-md2: Moved from ../.
67321         * modules/crypto/gc-md2-tests: Moved from ../.
67322         * modules/crypto/gc-md4: Moved from ../.
67323         * modules/crypto/gc-md4-tests: Moved from ../.
67324         * modules/crypto/gc-md5: Moved from ../.
67325         * modules/crypto/gc-md5-tests: Moved from ../.
67326         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67327         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67328         * modules/crypto/gc-random: Moved from ../.
67329         * modules/crypto/gc-rijndael: Moved from ../.
67330         * modules/crypto/gc-rijndael-tests: Moved from ../.
67331         * modules/crypto/gc-sha1: Moved from ../.
67332         * modules/crypto/gc-sha1-tests: Moved from ../.
67333         * modules/crypto/gc-tests: Moved from ../.
67334         * modules/crypto/hmac-md5: Moved from ../.
67335         * modules/crypto/hmac-md5-tests: Moved from ../.
67336         * modules/crypto/hmac-sha1: Moved from ../.
67337         * modules/crypto/hmac-sha1-tests: Moved from ../.
67338         * modules/crypto/md2: Moved from ../.
67339         * modules/crypto/md2-tests: Moved from ../.
67340         * modules/crypto/md4: Moved from ../.
67341         * modules/crypto/md4-tests: Moved from ../.
67342         * modules/crypto/md5: Moved from ../.
67343         * modules/crypto/md5-tests: Moved from ../.
67344         * modules/crypto/memxor: Moved from ../.
67345         * modules/crypto/rijndael: Moved from ../.
67346         * modules/crypto/rijndael-tests: Moved from ../.
67347         * modules/crypto/sha1: Moved from ../.
67348
67349 2007-03-30  James Youngman  <jay@gnu.org>
67350
67351         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67352         rename() to change the ctime of a file (because ctime is unaffected
67353         by rename on jfs2 on AIX 5.1).
67354         (main): Start by doing cleanup, in case a previous run failed leaving
67355         test files behind.
67356
67357 2007-03-31  Bruno Haible  <bruno@clisp.org>
67358
67359         Support old proprietary implementations of iconv.
67360         * modules/iconv_open: New file.
67361         * lib/iconv_.h: New file.
67362         * m4/iconv_h.m4: New file.
67363         * lib/iconv_open.c: New file.
67364         * lib/iconv_open-aix.gperf: New file.
67365         * lib/iconv_open-hpux.gperf: New file.
67366         * lib/iconv_open-irix.gperf: New file.
67367         * lib/iconv_open-osf.gperf: New file.
67368         * m4/iconv_open.m4: New file.
67369         * modules/linebreak (Depends-on): Add iconv_open.
67370         * modules/striconv (Depends-on): Likewise.
67371         * modules/striconveh (Depends-on): Likewise.
67372         * modules/unicodeio (Depends-on): Likewise.
67373         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67374         (iconv_t)(-1).
67375         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67376         conversion if cd is (iconv_t)(-1).
67377         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67378         is not possible.
67379
67380 2007-03-31  Bruno Haible  <bruno@clisp.org>
67381
67382         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67383         work on Solaris either. Protect also second use of "autodetect_jp".
67384
67385 2007-03-31  Bruno Haible  <bruno@clisp.org>
67386
67387         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67388         the function is not present.
67389
67390 2007-03-31  Bruno Haible  <bruno@clisp.org>
67391
67392         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67393         the function is not present.
67394
67395 2007-03-31  Bruno Haible  <bruno@clisp.org>
67396
67397         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67398         a bug in HP-UX iconv_open().
67399
67400 2007-03-31  Bruno Haible  <bruno@clisp.org>
67401
67402         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67403         (Mathematics <math.h>): New section, add fpieee.
67404         (Input/output <stdio.h>): Add fseterr.
67405         (Mathematics <math.h>): New section, add printf-frexp.
67406         (Container data structures): Add sublist.
67407         (Core language properties): Add fpucw, inline.
67408         (Functions for greatest-width integer types <inttypes.h>): Add
67409         imaxabs, imaxdiv, inttypes.
67410         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67411         isnanl-nolibm, ldexp.
67412         (Mathematics <math.h>): New section, add printf-frexpl.
67413         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67414         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67415         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67416         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67417         (Unicode string functions): Add unistr/u*-mbtoucr.
67418         (Java): Add javacomp-script, javaexec-script.
67419         (C#): Add csharpcomp-script, csharpexec-script.
67420         (Support for building libraries and executables): Add havelib,
67421         relocatable-*.
67422         (Support for maintaining and releasing projects): Renamed from
67423         'Support for maintaining and release projects'. Add announce-gen.
67424
67425 2007-03-31  Bruno Haible  <bruno@clisp.org>
67426
67427         * README: Talk primarily about git.
67428         (git and CVS): Renamed from CVS.
67429         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67430         gnulib is available through git.
67431         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67432
67433 2007-03-30  Bruno Haible  <bruno@clisp.org>
67434
67435         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67436         * lib/poll_.h: Likewise.
67437         * lib/stat_.h: Likewise.
67438         * lib/sys_time_.h: Likewise.
67439         * lib/sysexit_.h: Likewise.
67440         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67441         * lib/stdbool_.h: Likewise.
67442         * lib/byteswap_.h: Add double-inclusion guard.
67443
67444 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67445
67446         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67447
67448 2007-03-30  Karl Berry  <karl@gnu.org>
67449
67450         * config/srclist-update: double space after USA in the license
67451         substitution, since that's how it's usually (?) written.
67452
67453 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67454
67455         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67456         reported by Bruno Haible.
67457
67458 2007-03-29  Bruno Haible  <bruno@clisp.org>
67459
67460         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67461         a bug in AIX iconv().
67462
67463 2007-03-29  Bruno Haible  <bruno@clisp.org>
67464
67465         * modules/ldexpl-tests: New file.
67466         * tests/test-ldexpl.c: New file.
67467
67468 2007-03-29  Bruno Haible  <bruno@clisp.org>
67469
67470         * lib/ldexpl.c: Include fpucw.h.
67471         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67472         multiplication.
67473         * modules/ldexpl (Depends-on): Add fpucw.
67474
67475 2007-03-29  Bruno Haible  <bruno@clisp.org>
67476
67477         * modules/ldexpl: New file.
67478         * m4/ldexpl.m4: New file.
67479         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67480         set.
67481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67482         REPLACE_LDEXPL.
67483         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67484         REPLACE_LDEXPL.
67485         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67486         gl_FUNC_LDEXPL_WORKS.
67487         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67488         * modules/mathl (Files): Remove lib/ldexpl.c.
67489         (Depends-on): Add ldexpl.
67490
67491 2007-03-29  Bruno Haible  <bruno@clisp.org>
67492
67493         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67494
67495 2007-03-29  Bruno Haible  <bruno@clisp.org>
67496
67497         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67498         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67499         and possibly also HP-UX.
67500         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67501         work on AIX, IRIX, HP-UX, OSF/1.
67502         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67503         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67504         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67505         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67506         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67507         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67508
67509 2007-03-29  Bruno Haible  <bruno@clisp.org>
67510
67511         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67512
67513 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67514
67515         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67516         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67517
67518 2007-03-29  Eric Blake  <ebb9@byu.net>
67519
67520         * lib/acl-internal.h: Remove redundant include.
67521         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67522         Cygwin when a file is locked.
67523
67524 2007-03-29  Bruno Haible  <bruno@clisp.org>
67525
67526         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67527         file.
67528         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67529
67530 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67531
67532         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67533         try to remove a parent directory if the child couldn't be removed
67534         (except for the first rmdir, which could fail because the child
67535         doesn't exist).  Problem reported by Jeff Blaine in
67536         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67537
67538 2007-03-28  Bruno Haible  <bruno@clisp.org>
67539
67540         * lib/striconveh.c (utf8conv_carefully): New function.
67541         (mem_cd_iconveh_internal): Invoke it.
67542
67543 2007-03-28  Bruno Haible  <bruno@clisp.org>
67544
67545         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67546         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67547         input.
67548         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67549         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67550         unistr/u8-uctomb.
67551
67552 2007-03-28  Bruno Haible  <bruno@clisp.org>
67553
67554         * modules/unistr/u8-mbtoucr: New file.
67555         * lib/unistr/u8-mbtoucr.c: New file.
67556         * modules/unistr/u16-mbtoucr: New file.
67557         * lib/unistr/u16-mbtoucr.c: New file.
67558         * modules/unistr/u16-mbtoucr: New file.
67559         * lib/unistr/u16-mbtoucr.c: New file.
67560         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67561
67562 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67563             Bruno Haible  <bruno@clisp.org>
67564
67565         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
67566         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
67567         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
67568
67569         * m4/stdio_h.m4: Add stubs for vasprintf too.
67570
67571         * modules/stdio: Support vasprintf in sed command.
67572
67573         * modules/vasprintf: Depend on stdio for prototypes.  Remove
67574         vasprintf.h.  Add stdio module indicator.
67575
67576         * lib/stdio_.h: Declare asprintf and vasprintf, based on
67577         vasprintf.h.
67578
67579         * lib/vasprintf.h: File removed.
67580
67581         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
67582         * lib/vasprintf.c: Ditto.
67583         * lib/xvasprintf.c: Ditto.
67584         * tests/test-vasprintf-posix.c: Ditto.
67585         * tests/test-vasprintf.c: Ditto.
67586
67587 2007-03-27  Bruno Haible  <bruno@clisp.org>
67588
67589         Make vasnprintf multithread-safe.
67590         * lib/vasnprintf.c (decimal_point_char): New function.
67591         (VASNPRINTF): Use it.
67592         Suggested by Simon Josefsson.
67593
67594 2007-03-27  Eric Blake  <ebb9@byu.net>
67595
67596         Support sub-second birthtime on cygwin.
67597         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
67598         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
67599         (get_stat_birthtime): Also work with st_birthtim.
67600
67601 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
67602
67603         * lib/stat-time.h (USE_BIRTHTIME): Remove.
67604         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
67605         (get_stat_birthtime_ns): Do not try to use "spare" fields.
67606         (get_stat_birthtime_ns): Simplify compile-time tests.
67607         (get_stat_birthtime): Change the API to look like
67608         get_stat_mtime etc., except return a negative tv_nsec on error.
67609         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
67610         Don't check for "spare" fields.
67611         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
67612         or for struct stat.st_birthtime, as these tests aren't used.
67613         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
67614
67615 2007-03-27  Bruno Haible  <bruno@clisp.org>
67616
67617         * lib/stat-time.h: Include <sys/stat.h>.
67618
67619 2007-03-27  James Youngman  <jay@gnu.org>
67620
67621         * lib/stat-time.h (get_stat_birthtime): New function for
67622           retrieving st_birthtime as provided by UFS2 (hence *BSD).
67623         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
67624           and its variants.
67625         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
67626         * modules/stat-time-test: New file.
67627         * tests/test-stat-time.c: New test, devised by Bruno Haible.
67628
67629 2007-03-26  Bruno Haible  <bruno@clisp.org>
67630
67631         Better support of signalling NaNs.
67632         * lib/atanl.c: Include isnanl.h.
67633         (atanl): Perform test for NaN at the beginning of the function and
67634         through a call to isnanl.
67635         * lib/cosl.c: Include isnanl.h.
67636         (cosl): Perform test for NaN at the beginning of the function and
67637         through a call to isnanl.
67638         * lib/ldexpl.c: Include isnanl.h.
67639         (ldexpl): Perform test for NaN through a call to isnanl.
67640         * lib/logl.c: Include isnanl.h.
67641         (logl): Perform test for NaN at the beginning of the function and
67642         through a call to isnanl.
67643         * lib/sinl.c: Include isnanl.h.
67644         (sinl): Perform test for NaN at the beginning of the function and
67645         through a call to isnanl.
67646         * lib/sqrtl.c: Include isnanl.h.
67647         (sqrtl): Perform test for NaN at the beginning of the function and
67648         through a call to isnanl.
67649         * lib/tanl.c: Include isnanl.h.
67650         (tanl): Perform test for NaN at the beginning of the function and
67651         through a call to isnanl.
67652         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
67653         * modules/mathl (Depends-on): Add isnanl.
67654
67655 2007-03-26  Eric Blake  <ebb9@byu.net>
67656
67657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
67658         regression in logic sense of previous patch.
67659
67660 2007-03-26  Bruno Haible  <bruno@clisp.org>
67661
67662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
67663         unportable shell command "if ! ...".
67664         Reported by Ralf Wildenhues.
67665
67666 2007-03-25  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
67669         <sysexits.h> file, and only add EX_CONFIG.
67670         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
67671         absolute file name and whether it is sufficient. Substitute also
67672         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
67673         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
67674         ABSOLUTE_SYSEXITS_H into sysexits.h.
67675
67676 2007-03-25  Bruno Haible  <bruno@clisp.org>
67677
67678         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
67679         hints is NULL.
67680
67681 2007-03-25  Bruno Haible  <bruno@clisp.org>
67682
67683         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
67684         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
67685
67686 2007-03-25  Bruno Haible  <bruno@clisp.org>
67687
67688         * lib/vasnprintf.c: Include langinfo.h.
67689         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
67690         multithread-safe.
67691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
67692         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
67693         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67694         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67695         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67696         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67697         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67698         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
67699         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67700         Reported by Simon Josefsson.
67701
67702 2007-03-25  Bruno Haible  <bruno@clisp.org>
67703
67704         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
67705         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
67706         * modules/vasnprintf (Depends-on): Add stdint.
67707
67708 2007-03-25  Bruno Haible  <bruno@clisp.org>
67709
67710         * modules/fpieee: New file.
67711         * m4/fpieee.m4: New file.
67712         * modules/isnan-nolibm (Depends-on): Add fpieee.
67713         * modules/isnanl-nolibm (Depends-on): Add fpieee.
67714         * modules/isnanl (Depends-on): Add fpieee.
67715
67716 2007-03-25  Bruno Haible  <bruno@clisp.org>
67717
67718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
67719
67720 2007-03-25  Bruno Haible  <bruno@clisp.org>
67721
67722         Avoid test failures on IRIX 6.5.
67723         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
67724         (main): Use it.
67725         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
67726         macros.
67727         (main): Use them.
67728
67729 2007-03-25  Bruno Haible  <bruno@clisp.org>
67730
67731         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
67732         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
67733         exists but doesn't work.
67734         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
67735         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
67736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
67737         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
67738         math.h.
67739
67740 2007-03-25  Bruno Haible  <bruno@clisp.org>
67741
67742         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
67743         returns inf. Needed on IRIX 6.5.
67744
67745 2007-03-25  Bruno Haible  <bruno@clisp.org>
67746
67747         * tests/test-frexpl.c: Include isnanl-nolibm.h.
67748         (main): Use isnanl instead of x != x idiom.
67749         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
67750
67751         * tests/test-frexp.c: Include isnan.h.
67752         (main): Use isnan instead of x != x idiom.
67753         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
67754
67755 2007-03-25  Bruno Haible  <bruno@clisp.org>
67756
67757         * tests/test-frexp.c (NaN): New function/macro.
67758         (main): Use it instead of 0.0 / 0.0.
67759         * tests/test-isnan.c (NaN): New function/macro.
67760         (main): Use it instead of 0.0 / 0.0.
67761         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
67762         (test_function): Use it instead of 0.0 / 0.0.
67763         * tests/test-vasprintf-posix.c (NaN): New function/macro.
67764         (test_function): Use it instead of 0.0 / 0.0.
67765         * tests/test-snprintf-posix.h (NaN): New function/macro.
67766         (test_function): Use it instead of 0.0 / 0.0.
67767         * tests/test-sprintf-posix.h (NaN): New function/macro.
67768         (test_function): Use it instead of 0.0 / 0.0.
67769         * tests/test-fprintf-posix.h (NaN): New function/macro.
67770         (test_function): Use it instead of 0.0 / 0.0.
67771         * tests/test-printf-posix.h (NaN): New function/macro.
67772         (test_function): Use it instead of 0.0 / 0.0.
67773
67774         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67775
67776 2007-03-25  Bruno Haible  <bruno@clisp.org>
67777
67778         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67779
67780 2007-03-25  Bruno Haible  <bruno@clisp.org>
67781
67782         * lib/regexec.c (merge_state_with_log): Make static.
67783
67784 2007-03-25  Bruno Haible  <bruno@clisp.org>
67785
67786         * lib/trigl.c (kernel_rem_pio2): Make static.
67787
67788 2007-03-25  Bruno Haible  <bruno@clisp.org>
67789
67790         * lib/sincosl.c (sincosl_table): Make static.
67791
67792 2007-03-25  Bruno Haible  <bruno@clisp.org>
67793
67794         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67795         if the compiler does not support C99.
67796
67797 2007-03-25  Bruno Haible  <bruno@clisp.org>
67798
67799         * modules/time (Makefile.am): Ensure all rule action lines start with a
67800         tab.
67801
67802 2007-03-24  Bruno Haible  <bruno@clisp.org>
67803
67804         * modules/tsearch-tests: New file.
67805         * tests/test-tsearch.sh: New file.
67806         * tests/test-tsearch.c: New file, mostly copied from glibc.
67807
67808         * modules/search-tests: New file.
67809         * tests/test-search.c: New file.
67810
67811         * modules/search: New file.
67812         * lib/search_.h: New file, incorporating lib/tsearch.h.
67813         * m4/search_h.m4: New file.
67814         * lib/tsearch.h: Remove file.
67815         * lib/tsearch.c: Include search.h instead of tsearch.h.
67816         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67817         HAVE_TSEARCH.
67818         * modules/tsearch (Files): Remove lib/tsearch.h.
67819         (Depends-on): Add search.
67820         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67821         (Include): Change tsearch.h into search.h.
67822
67823 2007-03-24  Bruno Haible  <bruno@clisp.org>
67824
67825         * modules/fpucw: New file.
67826         * lib/fpucw.h: New file.
67827         * lib/frexp.c: Include fpucw.h.
67828         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67829         (FUNC): Use them.
67830         * lib/printf-frexp.c: Include fpucw.h.
67831         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67832         (FUNC): Use them.
67833         * lib/vasnprintf.c: Include fpucw.h.
67834         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67835         'long double' calculations.
67836         * tests/test-frexpl.c: Include fpucw.h.
67837         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67838         * tests/test-printf-frexpl.c: Include fpucw.h.
67839         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67840         * modules/frexpl (Depends-on): Add fpucw.
67841         * modules/printf-frexpl (Depends-on): Likewise.
67842         * modules/fprintf-posix (Depends-on): Likewise.
67843         * modules/snprintf-posix (Depends-on): Likewise.
67844         * modules/sprintf-posix (Depends-on): Likewise.
67845         * modules/vasnprintf-posix (Depends-on): Likewise.
67846         * modules/vasprintf-posix (Depends-on): Likewise.
67847         * modules/vfprintf-posix (Depends-on): Likewise.
67848         * modules/vsnprintf-posix (Depends-on): Likewise.
67849         * modules/vsprintf-posix (Depends-on): Likewise.
67850         * modules/frexpl-tests (Depends-on): Likewise.
67851         * modules/printf-frexpl-tests (Depends-on): Likewise.
67852
67853 2007-03-24  Bruno Haible  <bruno@clisp.org>
67854
67855         * lib/float+.h: New file.
67856         * lib/isnan.c: Include float+.h.
67857         (SIZE): New macro.
67858         (FUNC): Compare only SIZE bytes of the value.
67859         * lib/vasnprintf.c: Include float+.h.
67860         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
67861         SIZEOF_LDBL or SIZEOF_DBL bytes.
67862         * modules/isnan-nolibm (Files): Add lib/float+.h.
67863         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67864         * modules/isnanl (Files): Add lib/float+.h.
67865         * modules/vasnprintf (Files): Add lib/float+.h.
67866
67867 2007-03-24  Bruno Haible  <bruno@clisp.org>
67868
67869         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67870         include isnanl-nolibm.h.
67871
67872 2007-03-24  Bruno Haible  <bruno@clisp.org>
67873
67874         * tests/test-read-file.c (main): Don't produce spurious output for
67875         expected situations. Make the test fail if it encountered unexpected
67876         results.
67877
67878 2007-03-24  Bruno Haible  <bruno@clisp.org>
67879
67880         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67881         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67882
67883 2007-03-24  Bruno Haible  <bruno@clisp.org>
67884
67885         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67886
67887 2007-03-24  Bruno Haible  <bruno@clisp.org>
67888
67889         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67890         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67891
67892         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67893         * modules/utf8-ucs4: Turn into a symbolic link to module
67894         unistr/u8-mbtouc.
67895
67896         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67897         utf8-ucs4-unsafe.
67898         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67899         unistr/u8-mbtouc-unsafe.
67900
67901         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67902         * modules/utf16-ucs4: Turn into a symbolic link to module
67903         unistr/u16-mbtouc.
67904
67905         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67906         utf16-ucs4-unsafe.
67907         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67908         unistr/u16-mbtouc-unsafe.
67909
67910         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67911         * modules/ucs4-utf8: Turn into a symbolic link to module
67912         unistr/u8-ubtomb.
67913
67914         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67915         * modules/ucs4-utf16: Turn into a symbolic link to module
67916         unistr/u16-ubtomb.
67917
67918 2007-03-24  Bruno Haible  <bruno@clisp.org>
67919
67920         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67921         Enable the function only if HAVE_INLINE.
67922         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67923         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67924         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67925         Enable the function only if HAVE_INLINE.
67926         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67927         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67928         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67929         Enable the function only if HAVE_INLINE.
67930         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67931         Enable the function only if HAVE_INLINE.
67932         * modules/utf8-ucs4: Update.
67933         * modules/utf8-ucs4-unsafe: Update.
67934         * modules/utf16-ucs4: Update.
67935         * modules/utf16-ucs4-unsafe: Update.
67936         * modules/ucs4-utf8: Update.
67937         * modules/ucs4-utf16: Update.
67938
67939 2007-03-24  Bruno Haible  <bruno@clisp.org>
67940
67941         * lib/utf8-ucs4.h: Remove file.
67942         * lib/utf8-ucs4-unsafe.h: Remove file.
67943         * lib/utf16-ucs4.h: Remove file.
67944         * lib/utf16-ucs4-unsafe.h: Remove file.
67945         * lib/ucs4-utf8.h: Remove file.
67946         * lib/ucs4-utf16.h: Remove file.
67947         * lib/unistr.h: Include their previous contents.
67948         * m4/utf-ucs4.m4: Remove file.
67949         * m4/ucs4-utf.m4: Remove file.
67950         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67951         (Depends-on): Add unistr/base.
67952         (configure.ac): Remove gl_UTF_UCS4.
67953         (Makefile.am): Update.
67954         (Include): Change to unistr.h.
67955         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67956         (Depends-on): Add unistr/base.
67957         (configure.ac): Remove gl_UTF_UCS4.
67958         (Makefile.am): Update.
67959         (Include): Change to unistr.h.
67960         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67961         (Depends-on): Add unistr/base.
67962         (configure.ac): Remove gl_UTF_UCS4.
67963         (Makefile.am): Update.
67964         (Include): Change to unistr.h.
67965         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67966         (Depends-on): Add unistr/base.
67967         (configure.ac): Remove gl_UTF_UCS4.
67968         (Makefile.am): Update.
67969         (Include): Change to unistr.h.
67970         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67971         (Depends-on): Add unistr/base.
67972         (configure.ac): Remove gl_UCS4_UTF.
67973         (Makefile.am): Update.
67974         (Include): Change to unistr.h.
67975         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67976         (Depends-on): Add unistr/base.
67977         (configure.ac): Remove gl_UCS4_UTF.
67978         (Makefile.am): Update.
67979         (Include): Change to unistr.h.
67980         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67981         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67982         utf8-ucs4-unsafe.h.
67983         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67984         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67985         utf16-ucs4-unsafe.h.
67986         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67987         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67988         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67989         * lib/unistr/u8-strchr.c: Likewise.
67990         * lib/unistr/u8-strrchr.c: Likewise.
67991         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67992         * lib/unistr/u16-strchr.c: Likewise.
67993         * lib/unistr/u16-strrchr.c: Likewise.
67994         * lib/striconveh.c: Update.
67995         * lib/linebreak.c: Update.
67996
67997 2007-03-24  Bruno Haible  <bruno@clisp.org>
67998
67999         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68000         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68001
68002 2007-03-22  Bruno Haible  <bruno@clisp.org>
68003
68004         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68005
68006 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68007
68008         * MODULES.html.sh (File system functions): New module write-any-file.
68009         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68010         * m4/write-any-file.m4: New files.
68011
68012 2007-03-23  Eric Blake  <ebb9@byu.net>
68013
68014         * gnulib-tool: Rearrange space-tab sequences, since some editors
68015         like to eat them.
68016
68017 2007-03-23  Eric Blake  <ebb9@byu.net>
68018
68019         * lib/version-etc.c (version_etc_va): Update license wording to
68020         be more concise.  Recommended by Richard Stallman.
68021
68022 2007-03-22  Bruno Haible  <bruno@clisp.org>
68023
68024         * lib/poll.c (MSG_PEEK): New fallback definition.
68025
68026 2007-03-22  Bruno Haible  <bruno@clisp.org>
68027
68028         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68029         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68030         (main): Update.
68031         Fixes a compilation error on BeOS.
68032
68033 2007-03-22  Bruno Haible  <bruno@clisp.org>
68034
68035         * modules/frexpl-tests: New file.
68036         * tests/test-frexpl.c: New file.
68037
68038         * modules/frexpl: New file.
68039         * m4/frexpl.m4: New file.
68040         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68041         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68043         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68044         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68045         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68046
68047 2007-03-22  Bruno Haible  <bruno@clisp.org>
68048
68049         * lib/frexpl.c: Share code with lib/frexp.c.
68050         * modules/mathl (Files): Add lib/frexp.c.
68051         (Depends-on): Add isnanl-nolibm.
68052
68053 2007-03-22  Bruno Haible  <bruno@clisp.org>
68054
68055         * modules/printf-frexp (Files): Add m4/frexp.m4.
68056         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68057         only if the found frexp function actually works.
68058
68059 2007-03-22  Bruno Haible  <bruno@clisp.org>
68060
68061         * lib/frexp.c: Remove older implementation that uses divisions.
68062
68063 2007-03-21  Bruno Haible  <bruno@clisp.org>
68064
68065         * modules/frexp-tests: New file.
68066         * tests/test-frexp.c: New file.
68067
68068         * modules/frexp: New file.
68069         * lib/frexp.c: New file.
68070         * m4/frexp.m4: New file.
68071         * lib/math_.h (frexp): New declaration.
68072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68073         REPLACE_FREXP.
68074         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68075
68076 2007-03-21  Bruno Haible  <bruno@clisp.org>
68077
68078         * modules/isnanl-tests: New file.
68079         * tests/test-isnanl.c: New file.
68080
68081         * modules/isnanl: New file.
68082         * lib/isnanl.h: New file.
68083         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68084         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68085         gl_FUNC_ISNANL_WORKS.
68086         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68087         New macros.
68088
68089 2007-03-21  Bruno Haible  <bruno@clisp.org>
68090
68091         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68092         lib/isnanl.h.
68093         (Include): Update.
68094         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68095         * lib/vasnprintf.c: Update.
68096         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68097         tests/test-isnanl.h, remove tests/test-isnanl.c.
68098         (Makefile.am): Update.
68099         * tests/test-isnanl-nolibm.c: New file.
68100         * tests/test-isnanl.h: New file.
68101         * tests/test-isnanl.c: Remove file.
68102
68103 2007-03-21  Jim Meyering  <jim@meyering.net>
68104
68105         When trying to open ".", treat ESTALE like EACCES.
68106         * lib/savewd.c (savewd_save): Resort to forking not just upon
68107         failure with EACCES, but also when errno is ESTALE.
68108
68109 2007-03-20  Bruno Haible  <bruno@clisp.org>
68110
68111         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68112         Needed on AIX 5.1. Reported by Matthew Woehlke.
68113
68114 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68115
68116         Suggestions by Bruno Haible:
68117         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68118         our own.
68119         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68120         * modules/acl (Depends-on): Add gettext.
68121
68122 2007-03-19  Bruno Haible  <bruno@clisp.org>
68123
68124         * modules/iconvme: Remove file.
68125         * lib/iconvme.h: Remove file.
68126         * lib/iconvme.c: Remove file.
68127         * m4/iconvme.m4: Remove file.
68128
68129 2007-03-19  Bruno Haible  <bruno@clisp.org>
68130
68131         * doc/relocatable-maint.texi: Break long shell script line.
68132         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68133
68134 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68135
68136         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68137         handle file_has_acl.
68138         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68139         * lib/acl.c: Move header inclusions and related macro defns into
68140         lib/acl-internal.h.
68141         (S_ISLNK): Remove defn, since that's now done for us.
68142         (file_has_acl): Move to lib/file-has-acl.c.
68143         Call acl_trivial if available.  This is the crucial part of the fix.
68144         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68145         shared within the library.  Rewrite a bit, partly to make it compatible
68146         with the GNU coding style.
68147         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68148         Remove unnecessary double-quotes.
68149         Don't test for acl_to_text; the build will catch that.
68150         Replace acl_entries if it doesn't exist and it is needed.
68151         Check for -lsec and acl_trivial (as used on Solaris 10).
68152         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68153         lib/file-has-acl.c.
68154         (Depends-on): Add sys_stat, for S_ISLNK.
68155
68156 2007-03-19  Ben Pfaff  <blp@gnu.org>
68157
68158         * doc/gnulib.texi: Fix typos.
68159         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68160
68161 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68162
68163         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68164         If size is zero here, buf must be zero.
68165
68166 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68167
68168         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68169         <bruno@clisp.org>.
68170
68171 2007-03-18  Bruno Haible  <bruno@clisp.org>
68172
68173         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68174         Suggested by Eric Blake.
68175
68176 2007-03-18  Ben Pfaff  <blp@gnu.org>
68177
68178         * doc/relocatable.texi: Recommend using as prefix a directory
68179         that does not exist and will never be created.  Based on
68180         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68181         and others.
68182
68183 2007-03-17  Bruno Haible  <bruno@clisp.org>
68184
68185         * lib/fchownat.c: Include lchown.h.
68186
68187 2007-03-17  Bruno Haible  <bruno@clisp.org>
68188
68189         Fix endless loop when the given allocated size was > INT_MAX.
68190         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68191         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68192         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68193         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68194         * lib/sprintf.c (sprintf): Likewise.
68195
68196 2007-03-17  Bruno Haible  <bruno@clisp.org>
68197
68198         * tests/test-argp-2.sh (func_compare): Output a context diff.
68199
68200 2007-03-17  Bruno Haible  <bruno@clisp.org>
68201
68202         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68203         locale's decimal-point character.
68204
68205 2007-03-17  Bruno Haible  <bruno@clisp.org>
68206
68207         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68208         before comparing it. Needed because on some platforms (e.g. x86) a
68209         'long double' occupies less bytes than sizeof (long double).
68210
68211 2007-03-17  Bruno Haible  <bruno@clisp.org>
68212
68213         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68214         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68215         * tests/test-getaddrinfo.c (simple): Likewise.
68216         * tests/test-read-file.c (main): Likewise.
68217
68218 2007-03-17  Bruno Haible  <bruno@clisp.org>
68219
68220         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68221
68222 2007-03-17  Bruno Haible  <bruno@clisp.org>
68223
68224         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68225         unused variable.
68226
68227 2007-03-17  Bruno Haible  <bruno@clisp.org>
68228
68229         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68230         * tests/test-c-strncasecmp.c: Likewise.
68231
68232 2007-03-17  Bruno Haible  <bruno@clisp.org>
68233
68234         * modules/stdlib (Depends-on): Add unistd.
68235         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
68236         Needed for MacOS X 10.3.
68237
68238 2007-03-17  Bruno Haible  <bruno@clisp.org>
68239
68240         * lib/unistr/u-strdup.h: Include <stdlib.h>.
68241
68242 2007-03-17  Bruno Haible  <bruno@clisp.org>
68243
68244         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
68245
68246 2007-03-17  Bruno Haible  <bruno@clisp.org>
68247
68248         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
68249         to reflect files copied from gnulib (with or without modifications).
68250         Suggested by Jim Meyering.
68251
68252 2007-03-17  Eric Blake  <ebb9@byu.net>
68253
68254         * NEWS: Document stdlib change from 2007-02-18.
68255
68256 2007-03-17  Jim Meyering  <jim@meyering.net>
68257
68258         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68259         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68260         someone uses a name containing shell meta-characters.
68261         Reported by Alfred M. Szmidt.
68262
68263         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68264
68265 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68266
68267         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68268         and copy gettext configuration files only if configure.ac contains
68269         a use of AM_GNU_GETTEXT_VERSION.
68270
68271 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68272
68273         * build-aux/bootstrap (gnulib_name): New variable.
68274         (gnulib_tool_options): Use it.
68275
68276 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68277
68278         * tests/test-des.c: Use new namespace.
68279
68280 2007-03-15  Bruno Haible  <bruno@clisp.org>
68281
68282         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68283         Reported by James Youngman <jay@gnu.org>.
68284
68285 2007-03-15  Bruno Haible  <bruno@clisp.org>
68286
68287         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68288         declared prototype. Needed with cc on OSF/1 5.1.
68289
68290 2007-03-15  Bruno Haible  <bruno@clisp.org>
68291
68292         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68293         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68294         (struct gl_list_implementation): Add dispose_fn argument to the
68295         'create_empty', 'create' methods.
68296         (struct gl_list_impl_base): Add field 'dispose_fn'.
68297         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68298         argument.
68299         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68300         dispose_fn argument.
68301         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68302         dispose_fn on the dropped values.
68303         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68304         dispose_fn argument.
68305         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68306         dropped values.
68307         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68308         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68309         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68310         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68311         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68312         argument.
68313         (gl_tree_list_free): Call dispose_fn on the dropped values.
68314         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68315         the dropped values.
68316         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68317         Add dispose_fn argument.
68318         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68319         Call dispose_fn on the dropped values.
68320         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68321         Add dispose_fn argument.
68322         (gl_sublist_create): Initialize the 'dispose_fn' field.
68323         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68324         * tests/test-array_list.c (main): Update.
68325         * tests/test-carray_list.c (main): Update.
68326         * tests/test-avltree_list.c (main): Update.
68327         * tests/test-rbtree_list.c (main): Update.
68328         * tests/test-avltreehash_list.c (main): Update.
68329         * tests/test-rbtreehash_list.c (main): Update.
68330         * tests/test-linked_list.c (main): Update.
68331         * tests/test-linkedhash_list.c (main): Update.
68332         * tests/test-array_oset.c (main): Update.
68333
68334 2007-03-15  Bruno Haible  <bruno@clisp.org>
68335
68336         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68337         (gl_oset_create_empty): Add dispose_fn argument.
68338         (struct gl_oset_implementation): Add dispose_fn argument to
68339         'create_empty' method.
68340         (struct gl_oset_impl_base): Add dispose_fn field.
68341         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68342         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68343         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68344         values.
68345         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68346         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68347         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68348         dropped value.
68349         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68350         dropped value.
68351         * tests/test-array_oset.c (main): Update.
68352         * tests/test-avltree_oset.c (main): Update.
68353         * tests/test-rbtree_oset.c (main): Update.
68354         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68355
68356 2007-03-13  Bruno Haible  <bruno@clisp.org>
68357
68358         * tests/test-stdbool.c (i): Update after last patch.
68359
68360 2007-03-12  Bruno Haible  <bruno@clisp.org>
68361
68362         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68363         the iswprint macro. Needed on Solaris 2.5.1.
68364
68365 2007-03-12  Bruno Haible  <bruno@clisp.org>
68366
68367         * tests/test-printf-frexp.c (main): Declare x as volatile.
68368
68369 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68370
68371         * doc/gnulib.texi (Build robot for gnulib): New section.
68372
68373 2007-03-12  Jim Meyering  <jim@meyering.net>
68374
68375         * build-aux/bootstrap: New file.
68376         * build-aux/bootstrap.conf: New file, from coreutils.
68377
68378 2007-03-11  Bruno Haible  <bruno@clisp.org>
68379
68380         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68381
68382 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68383
68384         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68385         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68386         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68387
68388 2007-03-11  Bruno Haible  <bruno@clisp.org>
68389
68390         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68391         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68392
68393 2007-03-11  Bruno Haible  <bruno@clisp.org>
68394
68395         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68396         formula. Needed for SunPRO C 5.0.
68397
68398 2007-03-11  Bruno Haible  <bruno@clisp.org>
68399
68400         * modules/long-options (Depends-on): Add getopt.
68401
68402 2007-03-11  Bruno Haible  <bruno@clisp.org>
68403
68404         * modules/modechange (Depends-on): Add stdbool.
68405
68406 2007-03-11  Bruno Haible  <bruno@clisp.org>
68407
68408         * modules/i-ring (Depends-on): Add stdbool.
68409
68410 2007-03-11  Bruno Haible  <bruno@clisp.org>
68411
68412         * modules/gc-des (Depends-on): Add stdbool.
68413
68414 2007-03-11  Bruno Haible  <bruno@clisp.org>
68415
68416         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68417
68418 2007-03-11  Bruno Haible  <bruno@clisp.org>
68419
68420         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68421
68422 2007-03-11  Bruno Haible  <bruno@clisp.org>
68423
68424         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68425
68426 2007-03-11  Bruno Haible  <bruno@clisp.org>
68427
68428         * lib/vasnprintf.c (sprintf): Undefine.
68429
68430 2007-03-11  Bruno Haible  <bruno@clisp.org>
68431
68432         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68433         initializers in SunPRO C and Compaq C compilers.
68434
68435 2007-03-11  Bruno Haible  <bruno@clisp.org>
68436
68437         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68438         decrementing code ANSI C compliant.
68439
68440 2007-03-11  Bruno Haible  <bruno@clisp.org>
68441
68442         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68443         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68444
68445 2007-03-11  Bruno Haible  <bruno@clisp.org>
68446
68447         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68448         <stdbool.h> substitute doesn't pass.
68449
68450 2007-03-11  Bruno Haible  <bruno@clisp.org>
68451
68452         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68453
68454 2007-03-11  Bruno Haible  <bruno@clisp.org>
68455
68456         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68457         script, for submission to autobuild.josefsson.org.
68458
68459 2007-03-10  Bruno Haible  <bruno@clisp.org>
68460
68461         * modules/canonicalize-lgpl-tests: New file.
68462         * tests/test-canonicalize-lgpl.sh: New file.
68463         * tests/test-canonicalize-lgpl.c: New file.
68464
68465         * modules/c-strcase-tests: New file.
68466         * tests/test-c-strcase.sh: New file.
68467         * tests/test-c-strcasecmp.c: New file.
68468         * tests/test-c-strncasecmp.c: New file.
68469
68470         * modules/atexit-tests: New file.
68471         * tests/test-atexit.sh: New file.
68472         * tests/test-atexit.c: New file.
68473
68474 2007-03-10  Bruno Haible  <bruno@clisp.org>
68475
68476         * tests/test-binary-io.sh: Use temporary filenames that are not so
68477         likely to clash with those of other tests (in a parallel make).
68478         * tests/test-binary-io.c: Likewise.
68479
68480 2007-03-10  Bruno Haible  <bruno@clisp.org>
68481
68482         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68483         fallback; use #error instead.
68484         Suggested by Simon Josefsson.
68485
68486 2007-03-10  Bruno Haible  <bruno@clisp.org>
68487
68488         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68489         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68490         first and the last.
68491
68492 2007-03-10  Bruno Haible  <bruno@clisp.org>
68493
68494         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68495
68496 2007-03-10  Bruno Haible  <bruno@clisp.org>
68497
68498         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68499         "make distcheck".
68500         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68501         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68502         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68503
68504 2007-03-10  Bruno Haible  <bruno@clisp.org>
68505
68506         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68507         variable.
68508         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68509         variable.
68510
68511 2007-03-09  Eric Blake  <ebb9@byu.net>
68512         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68513
68514         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68515         types are not being provided by gnulib.
68516         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68517         types are supported.
68518
68519 2007-03-10  Bruno Haible  <bruno@clisp.org>
68520
68521         * lib/stdio_.h (__attribute__): New macro.
68522         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68523         vsprintf): Specify __attribute__ __format__ for GCC.
68524         Suggested by Eric Blake.
68525
68526 2007-03-09  Bruno Haible  <bruno@clisp.org>
68527
68528         * modules/printf-posix-tests: New file.
68529         * tests/test-printf-posix.sh: New file.
68530         * tests/test-printf-posix.c: New file.
68531
68532         * modules/printf-posix: New file.
68533         * lib/printf.c: New file.
68534         * m4/printf-posix-rpl.m4: New file.
68535         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68536         REPLACE_PRINTF.
68537         * lib/stdio_.h (printf): New declaration.
68538         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68539         ____strfmon____): New macros.
68540         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68541         REPLACE_PRINTF.
68542
68543 2007-03-09  Bruno Haible  <bruno@clisp.org>
68544
68545         * tests/test-vasnprintf-posix2.sh: New file.
68546         * tests/test-vasnprintf-posix2.c: New file.
68547         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68548         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68549         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68550
68551         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68552         a locale dependent decimal point, rather than always '.'.
68553
68554 2007-03-09  Eric Blake  <ebb9@byu.net>
68555
68556         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68557         spite of platforms like Tandem/NSK that define it to -1.
68558
68559 2007-03-08  Bruno Haible  <bruno@clisp.org>
68560
68561         * modules/vprintf-posix-tests: New file.
68562         * tests/test-vprintf-posix.sh: New file.
68563         * tests/test-vprintf-posix.c: New file.
68564         * tests/test-printf-posix.h: New file.
68565
68566         * modules/vprintf-posix: New file.
68567         * lib/vprintf.c: New file.
68568         * m4/vprintf-posix.m4: New file.
68569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
68570         REPLACE_VPRINTF.
68571         * lib/stdio_.h (vprintf): New declaration.
68572         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
68573         REPLACE_VPRINTF.
68574
68575 2007-03-08  Bruno Haible  <bruno@clisp.org>
68576
68577         * modules/fprintf-posix-tests: New file.
68578         * tests/test-fprintf-posix.sh: New file.
68579         * tests/test-fprintf-posix.c: New file.
68580
68581         * modules/fprintf-posix: New file.
68582         * lib/fprintf.c: New file.
68583         * m4/fprintf-posix.m4: New file.
68584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
68585         REPLACE_FPRINTF.
68586         * lib/stdio_.h (fprintf): New declaration.
68587         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
68588         REPLACE_FPRINTF.
68589
68590 2007-03-08  Bruno Haible  <bruno@clisp.org>
68591
68592         * modules/vfprintf-posix-tests: New file.
68593         * tests/test-vfprintf-posix.sh: New file.
68594         * tests/test-vfprintf-posix.c: New file.
68595         * tests/test-fprintf-posix.h: New file.
68596         * tests/test-fprintf-posix.out: New file.
68597
68598         * modules/vfprintf-posix: New file.
68599         * lib/vfprintf.c: New file.
68600         * m4/vfprintf-posix.m4: New file.
68601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
68602         REPLACE_VFPRINTF.
68603         * lib/stdio_.h (vfprintf): New declaration.
68604         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
68605         REPLACE_VFPRINTF.
68606
68607 2007-03-08  Bruno Haible  <bruno@clisp.org>
68608
68609         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
68610
68611 2007-03-08  Bruno Haible  <bruno@clisp.org>
68612
68613         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
68614         instead of 'expr' invocations.
68615         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68616         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68617         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68618         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68619         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68620         Suggested by Paul Eggert.
68621
68622 2007-03-08  Bruno Haible  <bruno@clisp.org>
68623
68624         * modules/fseterr-tests: New file.
68625         * tests/test-fseterr.c: New file.
68626
68627         * modules/fseterr: New file.
68628         * lib/fseterr.h: New file.
68629         * lib/fseterr.c: New file.
68630
68631 2007-03-08  Bruno Haible  <bruno@clisp.org>
68632
68633         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
68634         * lib/getopt_.h: Likewise.
68635         * lib/mbswidth.h: Likewise.
68636         * lib/setenv.h: Likewise.
68637         * lib/vasnprintf.h: Likewise.
68638         * lib/vasprintf.h: Likewise.
68639         * lib/verror.h: Likewise.
68640         * lib/xsetenv.h: Likewise.
68641         * lib/xvasprintf.h: Likewise.
68642
68643 2007-03-08  Jim Meyering  <jim@meyering.net>
68644
68645         * users.txt: Add parted.
68646
68647         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
68648
68649 2007-03-07  Bruno Haible  <bruno@clisp.org>
68650
68651         * m4/printf.m4: Make the shell script snippets copy&pastable.
68652
68653 2007-03-02  Bruno Haible  <bruno@clisp.org>
68654
68655         * lib/netinet_in_.h: New file.
68656         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
68657         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
68658         * modules/netinet_in (Files): Add lib/netinet_in_.h.
68659         (Depends-on): Add absolute-header.
68660         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
68661         into netinet/in.h.
68662
68663 2007-03-03  Bruno Haible  <bruno@clisp.org>
68664
68665         * lib/sys_select_.h: New file.
68666         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
68667         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
68668         * modules/sys_select (Files): Add lib/sys_select_.h.
68669         (Depends-on): Add absolute-header.
68670         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
68671         into sys/select.h.
68672
68673 2007-03-02  Bruno Haible  <bruno@clisp.org>
68674
68675         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
68676         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
68677         values.
68678         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
68679         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
68680         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
68681         * modules/sys_socket (Depends-on): Add absolute-header.
68682         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
68683         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
68684         (Include): Remove requirement of inclusion of <sys/types.h>.
68685
68686 2007-03-02  Bruno Haible  <bruno@clisp.org>
68687
68688         * lib/byteswap_.h (bswap_32): Fix formula.
68689
68690 2007-03-06  Bruno Haible  <bruno@clisp.org>
68691
68692         * modules/sprintf-posix-tests: New file.
68693         * tests/test-sprintf-posix.c: New file.
68694
68695         * modules/sprintf-posix: New file.
68696         * lib/sprintf.c: New file.
68697         * m4/sprintf-posix.m4: New file.
68698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
68699         REPLACE_SPRINTF.
68700         * lib/stdio_.h (sprintf): New declaration.
68701         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
68702         REPLACE_SPRINTF.
68703
68704 2007-03-06  Bruno Haible  <bruno@clisp.org>
68705
68706         * modules/vsprintf-posix-tests: New file.
68707         * tests/test-vsprintf-posix.c: New file.
68708         * tests/test-sprintf-posix.h: New file.
68709
68710         * modules/vsprintf-posix: New file.
68711         * lib/vsprintf.c: New file.
68712         * m4/vsprintf-posix.m4: New file.
68713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
68714         REPLACE_VSPRINTF.
68715         * lib/stdio_.h (vsprintf): New declaration.
68716         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
68717         REPLACE_VSPRINTF.
68718
68719 2007-03-06  Bruno Haible  <bruno@clisp.org>
68720
68721         * modules/vsnprintf (Depend-on): Remove minmax.
68722
68723 2007-03-06  Bruno Haible  <bruno@clisp.org>
68724
68725         * modules/snprintf-posix-tests: New file.
68726         * tests/test-snprintf-posix.c: New file.
68727
68728         * modules/snprintf-posix: New file.
68729         * m4/snprintf-posix.m4: New file.
68730         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
68731         gl_FUNC_SNPRINTF.
68732         (gl_FUNC_SNPRINTF): Invoke it.
68733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
68734         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
68735         is set.
68736         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
68737
68738 2007-03-06  Bruno Haible  <bruno@clisp.org>
68739
68740         * modules/vsnprintf-posix-tests: New file.
68741         * tests/test-vsnprintf-posix.c: New file.
68742         * tests/test-snprintf-posix.h: New file.
68743
68744         * modules/vsnprintf-posix: New file.
68745         * m4/vsnprintf-posix.m4: New file.
68746         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
68747         gl_FUNC_VSNPRINTF.
68748         (gl_FUNC_VSNPRINTF): Invoke it.
68749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
68750         * lib/stdio_.h (vsnprintf): Define as a replacement if
68751         REPLACE_VSNPRINTF is set.
68752         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
68753
68754 2007-03-06  Bruno Haible  <bruno@clisp.org>
68755
68756         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
68757         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
68758
68759 2007-03-06  Bruno Haible  <bruno@clisp.org>
68760
68761         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
68762         (asinl): Declare also if HAVE_DECL_ASINL is set.
68763         (atanl): Declare also if HAVE_DECL_ATANL is set.
68764         (ceill): Declare also if HAVE_DECL_CEILL is set.
68765         (cosl): Declare also if HAVE_DECL_COSL is set.
68766         (expl): Declare also if HAVE_DECL_EXPL is set.
68767         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68768         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68769         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68770         (logl): Declare also if HAVE_DECL_LOGL is set.
68771         (sinl): Declare also if HAVE_DECL_SINL is set.
68772         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68773         (tanl): Declare also if HAVE_DECL_TANL is set.
68774         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68776         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68777         declaration of frexpl, ldexpl.
68778         * modules/printf-frexpl (Depends-on): Add math.
68779         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68780
68781 2007-03-05  Bruno Haible  <bruno@clisp.org>
68782
68783         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68784         frexpl and ldexpl are declared.
68785         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68786
68787 2007-03-05  Bruno Haible  <bruno@clisp.org>
68788
68789         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68790         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68791
68792 2007-03-05  Bruno Haible  <bruno@clisp.org>
68793
68794         * lib/stdio_.h: Include <stddef.h>.
68795
68796 2007-03-05  Bruno Haible  <bruno@clisp.org>
68797
68798         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68799
68800 2007-03-05  Bruno Haible  <bruno@clisp.org>
68801
68802         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68803         NetBSD 4, from Ralf Wildenhues.
68804
68805 2007-03-04  Bruno Haible  <bruno@clisp.org>
68806
68807         * lib/vasprintf.h: Update #if logic for the case when the functions
68808         exist but are overridden.
68809
68810 2007-03-04  Bruno Haible  <bruno@clisp.org>
68811
68812         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68813         implementations: glibc-2.4 and MacOS X 10.3.
68814         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68815         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68816         * tests/test-vasprintf-posix.c (test_function): Likewise.
68817
68818 2007-03-04  Bruno Haible  <bruno@clisp.org>
68819
68820         * modules/vasprintf-posix-tests: New file.
68821         * tests/test-vasprintf-posix.c: New file.
68822
68823         * modules/vasprintf-posix: New file.
68824         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68825         defined.
68826         * m4/vasprintf-posix.m4: New file.
68827         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68828         gl_FUNC_VASPRINTF.
68829         (gl_FUNC_VASPRINTF): Invoke it.
68830         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68831         here.
68832         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68833
68834 2007-03-04  Bruno Haible  <bruno@clisp.org>
68835
68836         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68837         REPLACE_GETTIMEOFDAY.
68838         * modules/sys_time (Makefile.am): Likewise.
68839         * m4/sys_time_h.m4: Likewise.
68840         * m4/gettimeofday.m4: Likewise.
68841
68842 2007-03-04  Bruno Haible  <bruno@clisp.org>
68843
68844         * modules/vasnprintf-posix-tests: New file.
68845         * tests/test-vasnprintf-posix.c: New file.
68846
68847         * modules/vasnprintf-posix: New file.
68848         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68849         printf-frexpl.h.
68850         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68851         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68852         REPLACE_VASNPRINTF is defined.
68853         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68854         gl_FUNC_VASNPRINTF.
68855         (gl_FUNC_VASNPRINTF): Invoke it.
68856         * m4/vasnprintf-posix.m4: New file.
68857         * m4/printf.m4: New file.
68858
68859 2007-03-04  Bruno Haible  <bruno@clisp.org>
68860
68861         Compile progreloc.c only if --enable-relocatable is specified.
68862         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68863         if --enable-relocatable was specified.
68864         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68865         lib_SOURCES.
68866
68867 2007-03-04  Jim Meyering  <jim@meyering.net>
68868
68869         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68870         Use it consistently, rather than enumerating errno constants.
68871
68872 2007-03-04  Bruno Haible  <bruno@clisp.org>
68873
68874         * modules/xvasprintf-tests: New file.
68875         * tests/test-xvasprintf.c: New file.
68876
68877         * modules/vasprintf-tests: New file.
68878         * tests/test-vasprintf.c: New file.
68879
68880         * modules/vasnprintf-tests: New file.
68881         * tests/test-vasnprintf.c: New file.
68882
68883         * modules/vsnprintf-tests: New file.
68884         * tests/test-vsnprintf.c: New file.
68885
68886         * modules/snprintf-tests: New file.
68887         * tests/test-snprintf.c: New file.
68888
68889 2007-03-04  Bruno Haible  <bruno@clisp.org>
68890
68891         Compile relocatable.c only if --enable-relocatable is specified.
68892         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68893         gl_RELOCATABLE_LIBRARY.
68894         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68895         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68896         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68897         gl_RELOCATABLE_LIBRARY.
68898         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68899         (Makefile.am): Remove lib_SOURCES.
68900         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68901         gl_RELOCATABLE_LIBRARY.
68902         (Makefile.am): Remove lib_SOURCES.
68903         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68904         always.
68905         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68906         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68907
68908 2007-03-04  Bruno Haible  <bruno@clisp.org>
68909
68910         * modules/argmatch-tests: New file.
68911         * tests/test-argmatch.c: New file.
68912
68913         * tests/test-allocsa.c (main): Halve the number of loop runs.
68914
68915         * modules/alloca-opt-tests: New file.
68916         * tests/test-alloca-opt.c: New file.
68917
68918 2007-03-04  Jim Meyering  <jim@meyering.net>
68919
68920         Work around difference between Linux ACLs and Solaris 10 ZFS.
68921         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68922         for EINVAL.
68923
68924 2007-03-03  Bruno Haible  <bruno@clisp.org>
68925
68926         * modules/relocatable-prog (Depends-on): Add back progreloc's
68927         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68928
68929 2007-03-03  Bruno Haible  <bruno@clisp.org>
68930
68931         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68932         * modules/relocatable-lib: New file.
68933
68934 2007-03-03  Bruno Haible  <bruno@clisp.org>
68935
68936         * modules/relocatable-prog: Renamed from modules/relocatable.
68937         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68938
68939 2007-03-03  Bruno Haible  <bruno@clisp.org>
68940
68941         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68942         m4/relocatable-lib.m4.
68943         (Depends-on): Remove 'relocatable'.
68944         (configure.ac): Add gl_RELOCATABLE_NOP.
68945
68946 2007-03-03  Bruno Haible  <bruno@clisp.org>
68947
68948         * modules/relocatable-prog-wrapper: New file.
68949         * modules/relocatable (Depends-on): Add it. Remove all other
68950         dependencies except progname.
68951         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68952
68953         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68954         (gl_FUNC_STRERROR): Nop.
68955         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68956
68957         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68958         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68959
68960         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68961         (gl_FUNC_READLINK): Update.
68962
68963         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68964
68965 2007-03-03  Bruno Haible  <bruno@clisp.org>
68966
68967         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68968         * modules/xreadlink (Depends-on): Add unistd.
68969         * modules/xreadlink-with-size (Depends-on): Likewise.
68970
68971 2007-03-03  Bruno Haible  <bruno@clisp.org>
68972
68973         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68974         extracted from gt_FUNC_SETENV.
68975         (gt_FUNC_SETENV): Remove macro.
68976         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68977         remove gt_FUNC_SETENV.
68978
68979 2007-03-03  Bruno Haible  <bruno@clisp.org>
68980
68981         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68982         ENABLE_RELOCATABLE here.
68983         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68984
68985 2007-03-03  Bruno Haible  <bruno@clisp.org>
68986
68987         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68988         * tests/test-rbtreehash_list.c: Include progname.h.
68989         (main): Call set_program_name.
68990
68991         * modules/rbtree-oset-tests (Depends-on): Add progname.
68992         * tests/test-rbtree_oset.c: Include progname.h.
68993         (main): Call set_program_name.
68994
68995         * modules/rbtree-list-tests (Depends-on): Add progname.
68996         * tests/test-rbtree_list.c: Include progname.h.
68997         (main): Call set_program_name.
68998
68999         * modules/linked-list-tests (Depends-on): Add progname.
69000         * tests/test-linked_list.c: Include progname.h.
69001         (main): Call set_program_name.
69002
69003 2007-03-03  Bruno Haible  <bruno@clisp.org>
69004
69005         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69006         All uses of __restrict changed to _Restrict_.
69007         * lib/glob_.h (__restrict): Remove macro.
69008
69009 2007-03-02  Bruno Haible  <bruno@clisp.org>
69010
69011         * modules/gettext (configure.ac): Require gettext infrastructure
69012         from version 0.16.1.
69013
69014 2007-03-02  Bruno Haible  <bruno@clisp.org>
69015
69016         * modules/linkedhash-list-tests (Depends-on): Add progname.
69017         * tests/test-linkedhash_list.c: Include progname.h.
69018         (main): Call set_program_name.
69019
69020         * modules/carray-list-tests (Depends-on): Add progname.
69021         * tests/test-carray_list.c: Include progname.h.
69022         (main): Call set_program_name.
69023
69024         * modules/avltreehash-list-tests (Depends-on): Add progname.
69025         * tests/test-avltreehash_list.c: Include progname.h.
69026         (main): Call set_program_name.
69027
69028         * modules/avltree-oset-tests (Depends-on): Add progname.
69029         * tests/test-avltree_oset.c: Include progname.h.
69030         (main): Call set_program_name.
69031
69032         * modules/avltree-list-tests (Depends-on): Add progname.
69033         * tests/test-avltree_list.c: Include progname.h.
69034         (main): Call set_program_name.
69035
69036         * modules/array-oset-tests (Depends-on): Add progname.
69037         * tests/test-array_oset.c: Include progname.h.
69038         (main): Call set_program_name.
69039
69040         * modules/array-list-tests (Depends-on): Add progname.
69041         * tests/test-array_list.c: Include progname.h.
69042         (main): Call set_program_name.
69043
69044         * modules/argp-tests (Depends-on): Add progname.
69045         * tests/test-argp.c: Include argp.h first. Include progname.h.
69046         (main): Call set_program_name.
69047
69048 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69049
69050         * doc/gnulib-tool.texi (Initial import): Reword description of
69051         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69052         limited effect even if defined after the first system include.
69053
69054 2007-03-01  Bruno Haible  <bruno@clisp.org>
69055
69056         * build-aux/config.libpath: Update to libtool-1.5.22.
69057         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69058
69059 2007-03-01  Bruno Haible  <bruno@clisp.org>
69060
69061         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69062         foo_CFLAGS.
69063         Reported by Ralf Wildenhues.
69064
69065 2007-03-01  Bruno Haible  <bruno@clisp.org>
69066
69067         * build-aux/install-reloc: Remove object files left over by some
69068         compilers.
69069         Reported by Ralf Wildenhues.
69070
69071 2007-03-01  Bruno Haible  <bruno@clisp.org>
69072
69073         * build-aux/install-reloc: Break long lines.
69074
69075 2007-03-01  Bruno Haible  <bruno@clisp.org>
69076
69077         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69078         Reported by Ralf Wildenhues.
69079
69080 2007-03-01  Bruno Haible  <bruno@clisp.org>
69081
69082         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69083         include ordering constraints.
69084
69085 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69086
69087         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69088         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69089         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69090         as another example.
69091         * lib/time_.h: Fix misspelling.
69092         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69093         Require gl_HEADER_TIME_H_DEFAULTS.
69094         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69095         * m4/time_r.m4 (gl_TIME_R): Likewise.
69096         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69097
69098 2007-03-01  Bruno Haible  <bruno@clisp.org>
69099
69100         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69101         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69102
69103 2007-03-01  Jim Meyering  <jim@meyering.net>
69104
69105         * modules/xreadlink (Maintainer): Add my name.
69106         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69107
69108 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69109             Bruno Haible  <bruno@clisp.org>
69110
69111         * build-aux/install-reloc: Compile also c-ctype.c.
69112         * build-aux/relocatable.sh.in: New file.
69113         * doc/relocatable.texi: New file.
69114         * doc/relocatable-maint.texi: New file.
69115         * doc/gnulib.texi: Include relocatable-maint.texi.
69116         * lib/progreloc.c: Include unistd.h unconditionally.
69117         * lib/relocwrapper.c: Include unistd.h unconditionally.
69118         Include c-ctype.h.
69119         (add_dotbin): Use c_tolower.
69120         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69121         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69122         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69123         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69124         to m4/relocatable-lib.m4.
69125         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69126         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69127         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69128         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69129         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69130         * modules/relocatable: New file.
69131         * modules/relocatable-lib: New file.
69132         * modules/relocatable-script: New file.
69133
69134 2007-02-28  Bruno Haible  <bruno@clisp.org>
69135
69136         Import --enable-relocatable infrastructure.
69137         * build-aux/config.libpath: New file, from GNU gettext.
69138         * build-aux/install-reloc: New file, from GNU gettext.
69139         * build-aux/reloc-ldflags: New file, from GNU gettext.
69140         * lib/relocatable.h: New file, from GNU gettext.
69141         * lib/relocatable.c: New file, from GNU gettext.
69142         * lib/relocwrapper.c: New file, from GNU gettext.
69143         * m4/relocatable.m4: New file, from GNU gettext.
69144
69145 2007-02-28  Bruno Haible  <bruno@clisp.org>
69146
69147         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69148
69149         * modules/xreadlink: New file, from GNU gettext with modifications.
69150         * lib/xreadlink.c: New file, from GNU gettext.
69151         * lib/xreadlink.h: Add comments.
69152         (xreadlink): New declaration.
69153
69154         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69155         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69156         lib/xreadlink-with-size.c.
69157         (configure.ac): Remove gl_XREADLINK invocation.
69158         (Makefile.am): Augment lib_SOURCES.
69159         * m4/xreadlink.m4: Remove file.
69160         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69161         (xreadlink_with_size): Renamed from xreadink.
69162         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69163         * modules/canonicalize (Depends-on): Replace xreadlink with
69164         xreadlink-with-size.
69165         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69166
69167 2007-02-25  Jim Meyering  <jim@meyering.net>
69168
69169         * build-aux/announce-gen: When complaining about excess arguments,
69170         list them.
69171
69172 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69173
69174         * README: Document signed integer overflow situation more
69175         accurately.
69176
69177 2007-02-25  Bruno Haible  <bruno@clisp.org>
69178
69179         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69180         'a' or 'A' conversion.
69181
69182 2007-02-25  Bruno Haible  <bruno@clisp.org>
69183
69184         * modules/filename: Renamed from modules/pathname.
69185         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69186         lib/concatpath.c with lib/concat-filename.c.
69187         (Makefile.am): Update.
69188         (Include): Replace pathname.h with filename.h.
69189         * lib/filename.h: Renamed from lib/pathname.h.
69190         (concatenated_filename): Renamed from concatenated_pathname.
69191         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69192         (concatenated_filename): Renamed from concatenated_pathname.
69193         * lib/findprog.c: Include filename.h instead of pathname.h.
69194         (find_in_path): Update.
69195         * lib/javacomp.c: Include filename.h instead of pathname.h.
69196         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69197         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69198         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69199         is_oldgcj_14_13_usable, is_javac_usable): Update.
69200         * lib/javaexec.c: Include filename.h instead of pathname.h.
69201         (execute_java_class): Update.
69202         * modules/findprog: Update.
69203         * modules/javacomp: Update.
69204         * modules/javaexec: Update.
69205         * MODULES.html.sh (File system functions): Add 'filename', remove
69206         'pathname'.
69207
69208 2007-02-25  Bruno Haible  <bruno@clisp.org>
69209
69210         * modules/printf-frexpl-tests: New file.
69211         * tests/test-printf-frexpl.c: New file.
69212
69213         * modules/printf-frexpl: New file.
69214         * lib/printf-frexpl.h: New file.
69215         * lib/printf-frexpl.c: New file.
69216         * m4/printf-frexpl.m4: New file.
69217
69218 2007-02-25  Bruno Haible  <bruno@clisp.org>
69219
69220         * modules/printf-frexp-tests: New file.
69221         * tests/test-printf-frexp.c: New file.
69222
69223         * modules/printf-frexp: New file.
69224         * lib/printf-frexp.h: New file.
69225         * lib/printf-frexp.c: New file.
69226         * m4/printf-frexp.m4: New file.
69227
69228 2007-02-25  Bruno Haible  <bruno@clisp.org>
69229
69230         Assume automake >= 1.10 for the tests.
69231         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69232         * modules/arctwo-tests: Likewise.
69233         * modules/argp-tests: Likewise.
69234         * modules/avltree-list-tests: Likewise.
69235         * modules/avltree-oset-tests: Likewise.
69236         * modules/avltreehash-list-tests: Likewise.
69237         * modules/carray-list-tests: Likewise.
69238         * modules/crc-tests: Likewise.
69239         * modules/des-tests: Likewise.
69240         * modules/gc-arcfour-tests: Likewise.
69241         * modules/gc-arctwo-tests: Likewise.
69242         * modules/gc-des-tests: Likewise.
69243         * modules/gc-hmac-md5-tests: Likewise.
69244         * modules/gc-hmac-sha1-tests: Likewise.
69245         * modules/gc-md2-tests: Likewise.
69246         * modules/gc-md4-tests: Likewise.
69247         * modules/gc-md5-tests: Likewise.
69248         * modules/gc-pbkdf2-sha1-tests: Likewise.
69249         * modules/gc-rijndael-tests: Likewise.
69250         * modules/gc-sha1-tests: Likewise.
69251         * modules/gc-tests: Likewise.
69252         * modules/getaddrinfo-tests: Likewise.
69253         * modules/hmac-md5-tests: Likewise.
69254         * modules/hmac-sha1-tests: Likewise.
69255         * modules/linked-list-tests: Likewise.
69256         * modules/linkedhash-list-tests: Likewise.
69257         * modules/lock-tests: Likewise.
69258         * modules/md2-tests: Likewise.
69259         * modules/md4-tests: Likewise.
69260         * modules/md5-tests: Likewise.
69261         * modules/rbtree-list-tests: Likewise.
69262         * modules/rbtree-oset-tests: Likewise.
69263         * modules/rbtreehash-list-tests: Likewise.
69264         * modules/read-file-tests: Likewise.
69265         * modules/rijndael-tests: Likewise.
69266         * modules/stdint-tests: Likewise.
69267         * modules/tls-tests: Likewise.
69268
69269 2007-02-24  Bruno Haible  <bruno@clisp.org>
69270
69271         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69272         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69273         function; instead check whether isnan with a double argument links.
69274         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69275         function; instead check whether isnan with a 'long double' argument
69276         links.
69277         Reported by Eric Blake <ebb9@byu.net>.
69278
69279 2007-02-24  Bruno Haible  <bruno@clisp.org>
69280
69281         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69282         defined.
69283         * lib/isnanl.c: Remove all code. Just include isnan.c.
69284         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69285
69286 2007-02-25  Jim Meyering  <jim@meyering.net>
69287
69288         Avoid conflicting types for 'unsetenv' on FreeBSD.
69289         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69290         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69291         in stdlib.h.
69292
69293 2007-02-24  Bruno Haible  <bruno@clisp.org>
69294
69295         * modules/isnanl-nolibm-tests: New file.
69296         * tests/test-isnanl.c: New file.
69297
69298         * modules/isnanl-nolibm: New file.
69299         * lib/isnanl.h: New file.
69300         * lib/isnanl.c: New file.
69301         * m4/isnanl.m4: New file.
69302
69303 2007-02-24  Bruno Haible  <bruno@clisp.org>
69304
69305         * modules/isnan-nolibm-tests: New file.
69306         * tests/test-isnan.c: New file.
69307
69308         * modules/isnan-nolibm: New file.
69309         * lib/isnan.h: New file.
69310         * lib/isnan.c: New file.
69311         * m4/isnan.m4: New file.
69312
69313 2007-02-24  Bruno Haible  <bruno@clisp.org>
69314
69315         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69316         assume that an exponent fits in 20 bits.
69317
69318 2007-02-24  Jim Meyering  <jim@meyering.net>
69319
69320         * m4/regex.m4: Update the description of the configure-time option,
69321         --without-included-regex, to state accurately what the defaults are,
69322         and perhaps to give people an idea why using this option is risky.
69323
69324 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69325
69326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69327         loops on small arguments.  This attempts to avoid the problem
69328         Bruno Haible reported for AIX 4.3.2 in
69329         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69330
69331 2007-02-23  Bruno Haible  <bruno@clisp.org>
69332
69333         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69334         Needed for help2man.
69335
69336 2007-02-23  Karl Berry  <karl@gnu.org>
69337
69338         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69339         exists, foo.h should be cvs-ignored, not committed.
69340
69341 2007-02-23  Eric Blake  <ebb9@byu.net>
69342
69343         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69344         * lib/stat-time.h (includes): Likewise.
69345         * lib/utimecmp.c (includes): Likewise.
69346         * lib/utimens.h (includes): Likewise.
69347         * lib/getdate.y (includes): Also include "timespec.h" for use
69348         internal to the module.
69349         * modules/utimens (Depends-on): Revert yesterday's patch.
69350         * modules/nanosleep (Depends-on): Add missing dependency.
69351
69352 2007-02-22  Bruno Haible  <bruno@clisp.org>
69353
69354         * lib/glob.c: Don't include getlogin_r.h.
69355
69356 2007-02-22  Jim Meyering  <jim@meyering.net>
69357
69358         * modules/utimens (Depends-on): Add timespec, required for
69359         utimens.h's inclusion of timespec.h.
69360
69361 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69362
69363         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69364         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69365         Schwab in
69366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69367         I'll try to think of a better way to fix the Solaris problem.
69368
69369         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69370         like glibc; on Solaris 10, it fails with errno == EINVAL.
69371         POSIX says the behavior is unspecified if the first argument is NULL,
69372         so play it safe and never pass NULL to the system getcwd.
69373
69374 2007-02-21  Jim Meyering  <jim@meyering.net>
69375
69376         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69377         of gettimeofday.  It would conflict with the one now always
69378         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69379         an IRIX 6.5 build failure.
69380
69381 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69382
69383         Minor fixups to port to Solaris 10 with Sun C 5.8.
69384         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69385         * modules/getcwd (Depends-on): Add dirfd.
69386         * lib/putenv.c (putenv): #undef it.
69387         (rpl_putenv): New decl.
69388         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69389
69390 2007-02-20  Bruno Haible  <bruno@clisp.org>
69391
69392         * modules/stdio-tests: New file.
69393         * tests/test-stdio.c: New file.
69394
69395         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69396         (Depends-on): Add stdio.
69397         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69398         (Include): Use <stdio.h> instead of vsnprintf.h.
69399         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69400         HAVE_DECL_VSNPRINTF.
69401         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69402
69403         * modules/snprintf (Files): Remove lib/snprintf.h.
69404         (Depends-on): Add stdio.
69405         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69406         (Include): Use <stdio.h> instead of snprintf.h.
69407         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69408         HAVE_DECL_SNPRINTF.
69409         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69410         * lib/getaddrinfo.c: Likewise.
69411
69412         * modules/stdio: New file.
69413         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69414         * lib/snprintf.h: Remove file.
69415         * lib/vsnprintf.h: Remove file.
69416         * lib/.cppi-disable: Remove snprintf.h.
69417         * m4/stdio_h.m4: New file.
69418         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69419
69420 2007-02-20  Jim Meyering  <jim@meyering.net>
69421
69422         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69423         used by e.g., mingw.  From Bruno Haible.
69424
69425 2007-02-19  Bruno Haible  <bruno@clisp.org>
69426
69427         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69428         warnings.
69429         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69430
69431 2007-02-19  Bruno Haible  <bruno@clisp.org>
69432
69433         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69434         from mingw users.
69435
69436 2007-02-19  Bruno Haible  <bruno@clisp.org>
69437
69438         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69439         warnings.
69440         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69441
69442 2007-02-19  Jim Meyering  <jim@meyering.net>
69443
69444         Don't use FD after a successful "fdopendir (fd)".
69445         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69446         Reset it by calling dirfd on the just-obtained DIR*.
69447
69448         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69449         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69450
69451 2007-02-18  Bruno Haible  <bruno@clisp.org>
69452
69453         * lib/readlink.c: Include <unistd.h>.
69454         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69455         HAVE_READLINK.
69456         * modules/readlink (Depends-on): Add unistd.
69457         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69458         (Include): Add <unistd.h>.
69459
69460         * lib/getlogin_r.h: Remove file.
69461         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69462         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69463         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69464         HAVE_DECL_GETLOGIN_R.
69465         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69466         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69467         (Include): Use <unistd.h> instead of getlogin_r.h.
69468
69469         * lib/getcwd.h: Remove file.
69470         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69471         * lib/xgetcwd.c: Likewise.
69472         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69473         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69474         * modules/getcwd (Files): Remove lib/getcwd.h.
69475         (Depends-on): Add unistd.
69476         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69477         (Include): Use <unistd.h> instad of getcwd.h.
69478
69479         * lib/ftruncate.c: Include <unistd.h> first.
69480         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69481         Set HAVE_FTRUNCATE.
69482         * modules/ftruncate (Depends-on): Add unistd.
69483         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69484
69485         * lib/fchdir.c: Include <unistd.h> first.
69486         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69487         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69488         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69489         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69490         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69491
69492         * lib/dup2.c: Include <unistd.h> first.
69493         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69494         HAVE_DUP2.
69495         * modules/dup2 (Depends-on): Add unistd.
69496         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69497
69498         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69499         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69500         REPLACE_CHOWN. Don't define chown as a macro here.
69501         * modules/chown (Depends-on): Add unistd.
69502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69503
69504         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69505         Add definition for GL_LINK_WARNING.
69506         (chown, dup2): New declarations.
69507         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69508         link warning.
69509         (ftruncate): New declaration.
69510         (getcwd): New declaration, taken from old getcwd.h.
69511         (getlogin_r): New declaration, taken from old getlogin_r.h.
69512         (readlink): New declaration.
69513         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69514         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69515         (gl_PREREQ_UNISTD): Remove macro.
69516         (gl_UNISTD_MODULE_INDICATOR): New macro.
69517         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69518         many new variables. Don't set UNISTD_H.
69519         * modules/unistd (Description): Change.
69520         (Depends-on): Add link-warning.
69521         (configure.ac): Update.
69522         (Makefile.am): Create unistd.h always. Substitute many new variables
69523         into it.
69524
69525 2007-02-18  Bruno Haible  <bruno@clisp.org>
69526
69527         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69528         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69529         HAVE_GETSUBOPT.
69530         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69531         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69532         * lib/getsubopt.h: Remove file.
69533         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69534         (Depends-on): Add stdlib.
69535         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69536         (Includes): Use <stdlib.h> instead of getsubopt.h.
69537         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69538         Set HAVE_GETSUBOPT.
69539         * lib/getsubopt.c: Don't include getsubopt.h.
69540
69541 2007-02-18  Bruno Haible  <bruno@clisp.org>
69542
69543         * modules/fchdir (Depends-on): Add dup2.
69544
69545 2007-02-18  Bruno Haible  <bruno@clisp.org>
69546
69547         * lib/stdlib_.h: Handle glibc's special invocation convention
69548         specially.
69549
69550 2007-02-18  Bruno Haible  <bruno@clisp.org>
69551
69552         * modules/stdlib-tests: New file.
69553         * tests/test-stdlib.c: New file.
69554
69555         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69556         (Depends-on): Add stdlib.
69557         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69558         (Includes): Use <stdlib.h> instead of mkstemp.h.
69559         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69560         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69561         * lib/mkstemp.c: Don't include mkstemp.h.
69562         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69563         * lib/stdlib--.h: Don't include mkstemp.h.
69564
69565         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
69566         (Depends-on): Add stdlib.
69567         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69568         (Includes): Use <stdlib.h> instead of mkdtemp.h.
69569         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69570         HAVE_MKDTEMP.
69571         * lib/mkdtemp.c: Don't include mkdtemp.h.
69572         * lib/clean-temp.c: Don't include mkdtemp.h.
69573
69574         * modules/exit (Files): Remove lib/exit.h.
69575         (Depends-on): Add stdlib.
69576         (Makefile.am): Remove lib_SOURCES.
69577         (Include): Use <stdlib.h> instead of exit.h.
69578         * lib/argmatch.c: Don't include exit.h.
69579         * lib/execute.c: Likewise.
69580         * lib/pagealign_alloc.c: Likewise.
69581         * lib/pipe.c: Likewise.
69582         * lib/wait-process.c: Likewise.
69583         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
69584         * lib/exitfail.c: Likewise.
69585         * lib/savewd.c: Likewise.
69586         * lib/xsetenv.c: Likewise.
69587
69588         * modules/stdlib: New file.
69589         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
69590         and extra comments about mkstemp().
69591         * lib/exit.h: Remove file.
69592         * lib/mkdtemp.h: Remove file.
69593         * lib/mkstemp.h: Remove file.
69594         * m4/stdlib_h.m4: New file.
69595         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
69596
69597 2007-02-18  Bruno Haible  <bruno@clisp.org>
69598
69599         * modules/math-tests: New file.
69600         * tests/test-math.c: New file.
69601
69602         * modules/math: New file.
69603         * modules/mathl (Files): Remove lib/mathl.h.
69604         (Depends-on): Add math.
69605         (Makefile.am): Don't mention mathl.h.
69606         (Include): Use <math.h> instead of mathl.h.
69607         * lib/math_.h: New file.
69608         * lib/mathl.h: Remove file.
69609         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
69610         mathl.h.
69611         * lib/asinl.c: Likewise.
69612         * lib/atanl.c: Likewise.
69613         * lib/ceill.c: Likewise.
69614         * lib/cosl.c: Likewise.
69615         * lib/expl.c: Likewise.
69616         * lib/floorl.c: Likewise.
69617         * lib/frexpl.c: Likewise.
69618         * lib/ldexpl.c: Likewise.
69619         * lib/logl.c: Likewise.
69620         * lib/sincosl.c: Likewise.
69621         * lib/sinl.c: Likewise.
69622         * lib/sqrtl.c: Likewise.
69623         * lib/tanl.c: Likewise.
69624         * lib/trigl.c: Likewise.
69625         * m4/math_h.m4: New file.
69626         * MODULES.html.sh (Mathematics): Add math.
69627
69628 2007-02-17  Bruno Haible  <bruno@clisp.org>
69629
69630         * modules/wctype-tests: New file.
69631         * tests/test-wctype.c: New file.
69632
69633         * modules/wchar-tests: New file.
69634         * tests/test-wchar.c: New file.
69635
69636         * modules/unistd-tests: New file.
69637         * tests/test-unistd.c: New file.
69638
69639         * modules/time-tests: New file.
69640         * tests/test-time.c: New file.
69641
69642         * modules/sysexits-tests: New file.
69643         * tests/test-sysexits.c: New file.
69644
69645         * modules/sys_time-tests: New file.
69646         * tests/test-sys_time.c: New file.
69647
69648         * modules/sys_stat-tests: New file.
69649         * tests/test-sys_stat.c: New file.
69650
69651         * modules/sys_socket-tests: New file.
69652         * tests/test-sys_socket.c: New file.
69653
69654         * modules/sys_select-tests: New file.
69655         * tests/test-sys_select.c: New file.
69656
69657         * modules/string-tests: New file.
69658         * tests/test-string.c: New file.
69659
69660         * modules/stdbool-tests: New file.
69661         * tests/test-stdbool.c: New file.
69662
69663         * modules/netinet_in-tests: New file.
69664         * tests/test-netinet_in.c: New file.
69665
69666         * modules/inttypes-tests: New file.
69667         * tests/test-inttypes.c: New file.
69668
69669         * modules/fcntl-tests: New file.
69670         * tests/test-fcntl.c: New file.
69671
69672         * modules/byteswap-tests: New file.
69673         * tests/test-byteswap.c: New file.
69674
69675         * modules/arpa_inet-tests: New file.
69676         * tests/test-arpa_inet.c: New file.
69677
69678 2007-02-17  Bruno Haible  <bruno@clisp.org>
69679
69680         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
69681         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
69682         if the corresponding module is not enabled. Emit link warnings if
69683         the function is used nevertheless.
69684         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
69685         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
69686         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
69687         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
69688         * modules/inttypes (Depends-on): Add link-warning.
69689         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69690         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
69691         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
69692         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
69693         * modules/imaxdiv (configure.ac): Likewise.
69694         * modules/strtoimax (configure.ac): Likewise.
69695         * modules/strtoumax (configure.ac): Likewise.
69696
69697 2007-02-17  Bruno Haible  <bruno@clisp.org>
69698
69699         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
69700         gl_STRING_MODULE_INDICATOR_DEFAULTS.
69701         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
69702         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
69703
69704 2007-02-17  Bruno Haible  <bruno@clisp.org>
69705
69706         * modules/link-warning: New file.
69707         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
69708         * lib/string_.h (GL_LINK_WARNING): Remove definition.
69709         * modules/string (Depends-on): Add link-warning.
69710         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69711         string.h.
69712         * MODULES.html.sh (Support for building libraries and executables): Add
69713         link-warning.
69714
69715 2007-02-17  Bruno Haible  <bruno@clisp.org>
69716
69717         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
69718         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
69719         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
69720         long lines.
69721
69722 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
69723             Bruno Haible  <bruno@clisp.org>
69724
69725         * modules/tmpfile: New file.
69726         * lib/tmpfile.c: New file.
69727         * m4/tmpfile.m4: New file.
69728         * MODULES.html.sh (func_all_modules): New section "Input/output".
69729
69730 2007-02-15  Bruno Haible  <bruno@clisp.org>
69731
69732         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
69733         (supports_delete_on_close): New function.
69734         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
69735
69736 2007-02-14  Bruno Haible  <bruno@clisp.org>
69737
69738         * modules/mbspcasecmp-tests: New file.
69739         * tests/test-mbspcasecmp.sh: New file.
69740         * tests/test-mbspcasecmp.c: New file.
69741
69742         New module mbspcasecmp.
69743         * modules/mbspcasecmp: New file.
69744         * lib/mbspcasecmp.c: New file.
69745         * lib/string_.h (strncasecmp): Change warning message.
69746         (mbspcasecmp): New declaration.
69747         * m4/mbspcasecmp.m4: New file.
69748         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69749         GNULIB_MBSPCASECMP.
69750         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
69751         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
69752
69753 2007-02-14  Bruno Haible  <bruno@clisp.org>
69754
69755         * modules/mbsncasecmp-tests: New file.
69756         * tests/test-mbsncasecmp.sh: New file.
69757         * tests/test-mbsncasecmp.c: New file.
69758
69759         New module mbsncasecmp.
69760         * modules/mbsncasecmp: New file.
69761         * lib/mbsncasecmp.c: New file.
69762         * lib/string_.h (mbsncasecmp): New declaration.
69763         * m4/mbsncasecmp.m4: New file.
69764         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69765         GNULIB_MBSNCASECMP.
69766         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69767         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69768
69769 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69770
69771         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69772         Verify that it doesn't overlap with our flags.
69773         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69774         do not have the desired effect in multibyte locales; instead, use
69775         mbscasecmp.
69776         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69777         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69778         we don't require GNU fnmatch ourselves (if our users require it, they
69779         should do so explicitly).
69780
69781         Fix regex code so it doesn't rely on strcasecmp.
69782         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69783         Otherwise, include gnulib's langinfo.h.
69784         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69785         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69786         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69787         * modules/regex (FILES): Remove m4/codeset.m4.
69788         (Depends-on): Add localcharset.  Remove strcase.
69789
69790 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69791
69792         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69793         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69794
69795 2007-02-13  Bruno Haible  <bruno@clisp.org>
69796
69797         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69798         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69799
69800 2007-02-12  Bruno Haible  <bruno@clisp.org>
69801
69802         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69803         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69804         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69805         time warning rather than a link error.
69806
69807 2007-02-12  Bruno Haible  <bruno@clisp.org>
69808
69809         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69810         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69812
69813 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69814
69815         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69816         args, not 2.
69817
69818 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69819
69820         New module 'time', so that apps can include <time.h> as per
69821         POSIX and GNU instead of separate include files like time_r.h
69822         and timegm.h.  This implementation tries out a simpler approach
69823         for replacing decls in standard include files (as compared to
69824         the string module), somewhat as an experiment.
69825
69826         * config/srclist.txt: Comment out mktime.c for now.
69827         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69828         since it doesn't apply any more.  Use generic wording instead.
69829         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69830         'time'.
69831         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69832         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69833         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69834         Don't include <sys/types.h>; no longer needed since we assume C89.
69835         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69836         * lib/strftime.c: Likewise.
69837         * lib/time_r.c: Likewise.
69838         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69839         * lib/nanosleep.c: Include <time.h> first, to check interface.
69840         * lib/strptime.c: Likewise.
69841         * lib/time_r.c: Likewise.
69842         * lib/timegm.c: Likewise.
69843         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69844         needed.
69845         * lib/timegm.c: Don't include timegm.h; no longer needed.
69846         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69847         time.h now handles any problems in that area.
69848         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69849         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69850         that time.h defines struct timespec.
69851         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69852         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69853         handles that.
69854         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69855         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69856         needed.  Set REPLACE_LOCALTIME.
69857         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69858         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69859         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69860         nanosleep; time_h.m4 now does that.  Don't require
69861         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69862         module handles this now.
69863         * modules/getdate (Depends-on): Remove timespec.  Add time.
69864         * modules/nanosleep (Depends-on): Likewise.
69865         * modules/stat-time (Depends-on): Likewise.
69866         * modules/nanosleep (Include): Include time.h, not timespec.h.
69867         * modules/strptime (Files): Remove lib/strptime.h.
69868         (Depends-on): Add extensions, time.
69869         (Include): Include time.h, not strptime.h.
69870         * modules/time_r (Files): Remove lib/time_r.h.
69871         (Depends-on): Add time.
69872         (Include): Include time.h, not time_r.h.
69873         * modules/timegm: Likewise.
69874         * modules/timespec (Description): Now does timespec-related decls
69875         of our own, instead of struct timespec itself.
69876         (Depends-on): Add time; remove extensions.
69877         (Maintainer): Add self.
69878         * modules/utimecmp (Depends-on): Add time; remove timespec.
69879         * modules/utimens (Depends-on): Likewise.
69880         * modules/xnanosleep (Depends-on): Likewise.
69881
69882 2007-02-11  Bruno Haible  <bruno@clisp.org>
69883
69884         * lib/c-strstr.c: Include allocsa.h.
69885         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69886         * lib/c-strcasestr.c: Include allocsa.h.
69887         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69888         * lib/strcasestr.c: Include allocsa.h.
69889         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69890         * lib/mbsstr.c: Include allocsa.h.
69891         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69892         allocsa/freesa instead of malloc/free.
69893         * lib/mbscasestr.c: Include allocsa.h.
69894         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69895         allocsa/freesa instead of malloc/free.
69896         * modules/c-strstr (Depends-on): Add allocsa.
69897         * modules/c-strcasestr (Depends-on): Likewise.
69898         * modules/strcasestr (Depends-on): Likewise.
69899         * modules/mbsstr (Depends-on): Likewise.
69900         * modules/mbscasestr (Depends-on): Likewise.
69901
69902 2007-02-11  Bruno Haible  <bruno@clisp.org>
69903
69904         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69905
69906         * modules/mbsspn-tests: New file.
69907         * tests/test-mbsspn.sh: New file.
69908         * tests/test-mbsspn.c: New file.
69909
69910 2007-02-11  Bruno Haible  <bruno@clisp.org>
69911
69912         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69913
69914         * modules/mbspbrk-tests: New file.
69915         * tests/test-mbspbrk.sh: New file.
69916         * tests/test-mbspbrk.c: New file.
69917
69918 2007-02-11  Bruno Haible  <bruno@clisp.org>
69919
69920         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69921         unneeded cast.
69922
69923         * modules/mbscspn-tests: New file.
69924         * tests/test-mbscspn.sh: New file.
69925         * tests/test-mbscspn.c: New file.
69926
69927 2007-02-11  Bruno Haible  <bruno@clisp.org>
69928
69929         * modules/mbscasecmp-tests: New file.
69930         * tests/test-mbscasecmp.sh: New file.
69931         * tests/test-mbscasecmp.c: New file.
69932
69933 2007-02-11  Bruno Haible  <bruno@clisp.org>
69934
69935         Ensure O(n) worst-case complexity of mbscasestr.
69936         * lib/mbscasestr.c: Include stdbool.h.
69937         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69938         functions.
69939         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69940         the bookkeeping indicates that it's worth it.
69941         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69942
69943         * modules/mbscasestr-tests: New file.
69944         * tests/test-mbscasestr1.c: New file.
69945         * tests/test-mbscasestr2.sh: New file.
69946         * tests/test-mbscasestr2.c: New file.
69947         * tests/test-mbscasestr3.sh: New file.
69948         * tests/test-mbscasestr3.c: New file.
69949         * tests/test-mbscasestr4.sh: New file.
69950         * tests/test-mbscasestr4.c: New file.
69951         * m4/locale-tr.m4: New file.
69952
69953 2007-02-11  Bruno Haible  <bruno@clisp.org>
69954
69955         Ensure O(n) worst-case complexity of mbsstr.
69956         * lib/mbsstr.c: Include stdbool.h.
69957         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69958         functions.
69959         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69960         bookkeeping indicates that it's worth it.
69961         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69962
69963         * modules/mbsstr-tests: New file.
69964         * tests/test-mbsstr1.c: New file.
69965         * tests/test-mbsstr2.sh: New file.
69966         * tests/test-mbsstr2.c: New file.
69967         * tests/test-mbsstr3.sh: New file.
69968         * tests/test-mbsstr3.c: New file.
69969         * m4/locale-fr.m4: New file.
69970
69971 2007-02-11  Bruno Haible  <bruno@clisp.org>
69972
69973         * lib/mbsrchr.c (mbsrchr): Fix bug.
69974
69975         * modules/mbsrchr-tests: New file.
69976         * tests/test-mbsrchr.sh: New file.
69977         * tests/test-mbsrchr.c: New file.
69978
69979 2007-02-11  Bruno Haible  <bruno@clisp.org>
69980
69981         * lib/mbschr.c (mbschr): Fix bug.
69982
69983         * modules/mbschr-tests: New file.
69984         * tests/test-mbschr.sh: New file.
69985         * tests/test-mbschr.c: New file.
69986         * m4/locale-zh.m4: New file.
69987
69988 2007-02-11  Bruno Haible  <bruno@clisp.org>
69989
69990         Support for copying multibyte string iterators.
69991         * lib/mbiter.h: Include <string.h>.
69992         (mbiter_multi_copy): New function.
69993         (mbi_copy): New macro.
69994         * lib/mbuiter.h: Include <string.h>.
69995         (mbuiter_multi_copy): New function.
69996         (mbui_copy): New macro.
69997
69998 2007-02-11  Bruno Haible  <bruno@clisp.org>
69999
70000         New module mbslen.
70001         * modules/mbslen: New file.
70002         * lib/mbslen.c: New file.
70003         * lib/string_.h (mbslen): New declaration.
70004         * m4/mbslen.m4: New file.
70005         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70006         GNULIB_MBSLEN.
70007         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70008         * MODULES.html.sh (Internationalization functions): Add mbslen.
70009
70010 2007-02-11  Bruno Haible  <bruno@clisp.org>
70011
70012         Ensure O(n) worst-case complexity of strcasestr substitute.
70013         * lib/strcasestr.c: Include stdbool.h.
70014         (knuth_morris_pratt): New function.
70015         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70016         bookkeeping indicates that it's worth it.
70017         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70018
70019         * modules/strcasestr-tests: New file.
70020         * tests/test-strcasestr.c: New file.
70021
70022 2007-02-11  Bruno Haible  <bruno@clisp.org>
70023
70024         Ensure O(n) worst-case complexity of c_strcasestr.
70025         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70026         (knuth_morris_pratt): New function.
70027         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70028         the bookkeeping indicates that it's worth it.
70029         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70030
70031         * modules/c-strcasestr-tests: New file.
70032         * tests/test-c-strcasestr.c: New file.
70033
70034 2007-02-11  Bruno Haible  <bruno@clisp.org>
70035
70036         Ensure O(n) worst-case complexity of c_strstr.
70037         * lib/c-strstr.c: Include stdbool.h, string.h.
70038         (knuth_morris_pratt): New function.
70039         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70040         bookkeeping indicates that it's worth it.
70041         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70042
70043         * lib/c-strstr.c: Complete rewrite for maintainability.
70044
70045         * modules/c-strstr-tests: New file.
70046         * tests/test-c-strstr.c: New file.
70047
70048 2007-02-11  Bruno Haible  <bruno@clisp.org>
70049
70050         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70051         5.2.1 and earlier, whereby \055 was treated just like the range
70052         delimiter '-'.
70053         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70054
70055 2007-02-08  Bruno Haible  <bruno@clisp.org>
70056
70057         * modules/regex (Depends-on): Add stdbool.
70058         Reported by Dalibor Topic <robilad@kaffe.org>.
70059
70060 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70061
70062         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70063         Prefer returning from main to exiting from it.
70064         Remove unnecessary parens after sizeof.
70065
70066 2007-02-05  Bruno Haible  <bruno@clisp.org>
70067
70068         New module mbssep.
70069         * modules/mbssep: New file.
70070         * lib/mbssep.c: New file.
70071         * lib/string_.h (strsep): Add a conditional link warning.
70072         (mbssep): New declaration.
70073         * m4/mbssep.m4: New file.
70074         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70075         GNULIB_MBSSEP.
70076         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70077         * MODULES.html.sh (Internationalization functions): Add mbssep.
70078
70079 2007-02-05  Bruno Haible  <bruno@clisp.org>
70080
70081         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70082         Optimize search in case of 1 delimiter.
70083
70084 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70085
70086         * lib/acl.h: Include sys/types.h before sys/acl.h.
70087
70088 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70089
70090         Merge upstream fix for glibc bugzilla #3957:
70091
70092         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70093
70094         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70095         bit for RE_HAT_LISTS_NOT_NEWLINE.
70096         (build_charclass_op): Remove bogus comment.
70097
70098 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70099
70100         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70101
70102 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70103
70104         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70105         * lib/memmem.c [!defined _LIBC]: Include config.h.
70106
70107 2007-02-04  Bruno Haible  <bruno@clisp.org>
70108
70109         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70110         warning message.
70111
70112 2007-02-04  Bruno Haible  <bruno@clisp.org>
70113
70114         New module mbstok_r.
70115         * modules/mbstok_r: New file.
70116         * lib/mbstok_r.c: New file.
70117         * lib/string_.h (strtok_r): Change argument names to match the
70118         comments. Add a conditional link warning.
70119         (mbstok_r): New declaration.
70120         * m4/mbstok_r.m4: New file.
70121         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70122         GNULIB_MBSTOK_R.
70123         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70124         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70125
70126 2007-02-04  Bruno Haible  <bruno@clisp.org>
70127
70128         New module mbsspn.
70129         * modules/mbsspn: New file.
70130         * lib/mbsspn.c: New file.
70131         * lib/string_.h (strspn): Add a conditional link warning.
70132         (mbsspn): New declaration.
70133         * m4/mbsspn.m4: New file.
70134         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70135         GNULIB_MBSSPN.
70136         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70137         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70138
70139 2007-02-04  Bruno Haible  <bruno@clisp.org>
70140
70141         New module mbspbrk.
70142         * modules/mbspbrk: New file.
70143         * lib/mbspbrk.c: New file.
70144         * lib/string_.h (strpbrk): Add a conditional link warning.
70145         (mbspbrk): New declaration.
70146         * m4/mbspbrk.m4: New file.
70147         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70148         GNULIB_MBSPBRK.
70149         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70150         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70151
70152 2007-02-04  Bruno Haible  <bruno@clisp.org>
70153
70154         New module mbscspn.
70155         * modules/mbscspn: New file.
70156         * lib/mbscspn.c: New file.
70157         * lib/string_.h (strcspn): Add a conditional link warning.
70158         (mbscspn): New declaration.
70159         * m4/mbscspn.m4: New file.
70160         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70161         GNULIB_MBSCSPN.
70162         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70163         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70164
70165 2007-02-04  Bruno Haible  <bruno@clisp.org>
70166
70167         New module mbscasestr, reduced goal of strcasestr.
70168         * modules/mbscasestr: New file.
70169         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70170         (mbscasestr): Renamed from strcasestr.
70171         * lib/strcasestr.c: Don't include mbuiter.h.
70172         (strcasestr): Remove support for multibyte locales.
70173         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70174         Change the conditional link warning.
70175         (mbscasestr): New declaration.
70176         * m4/mbscasestr.m4: New file.
70177         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70178         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70179         REPLACE_STRCASESTR.
70180         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70181         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70182         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70183         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70184         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70185         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70186         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70187         (Depends-on): Remove mbuiter.
70188         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70189
70190 2007-02-04  Bruno Haible  <bruno@clisp.org>
70191
70192         Simplify handling of strncasecmp.
70193         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70194         the conditional link warning.
70195         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70196         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70197         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70198         * modules/strcase (configure.ac): Don't invoke
70199         gl_STRING_MODULE_INDICATOR.
70200         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70201
70202 2007-02-04  Bruno Haible  <bruno@clisp.org>
70203
70204         New module mbscasecmp, reduced goal of strcasecmp.
70205         * modules/mbscasecmp: New file.
70206         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70207         (mbscasecmp): Renamed from strcasecmp.
70208         * lib/strcasecmp.c: Don't include mbuiter.h.
70209         (strcasecmp): Remove support for multibyte locales.
70210         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70211         Change the conditional link warning.
70212         (mbscasecmp): New declaration.
70213         * m4/mbscasecmp.m4: New file.
70214         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70215         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70216         REPLACE_STRCASECMP.
70217         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70218         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70219         GNULIB_MBSCASECMP.
70220         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70221         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70222         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70223         (Depends-on): Remove mbuiter.
70224         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70225
70226 2007-02-04  Bruno Haible  <bruno@clisp.org>
70227
70228         New module mbsstr. Remove module strstr.
70229         * modules/mbsstr: New file.
70230         * modules/strstr: Remove file.
70231         * lib/mbsstr.c: Renamed from lib/strstr.c.
70232         (mbsstr): Renamed from strstr.
70233         * lib/string_.h (strstr): Remove declaration. Change the conditional
70234         link warning.
70235         (mbsstr): New declaration.
70236         * m4/mbsstr.m4: New file.
70237         * m4/strstr.m4: Remove file.
70238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70239         REPLACE_STRSTR.
70240         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
70241         Don't initialize GNULIB_STRSTR.
70242         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
70243         substitute GNULIB_STRSTR and REPLACE_STRSTR.
70244         * MODULES.html.sh (Internationalization functions): Add mbsstr.
70245         (Support for systems lacking ANSI C 89): Remove strstr.
70246
70247 2007-02-04  Bruno Haible  <bruno@clisp.org>
70248
70249         New module mbsrchr.
70250         * modules/mbsrchr: New file.
70251         * lib/mbsrchr.c: New file.
70252         * lib/string_.h (strrchr): Add a conditional link warning.
70253         (mbsrchr): New declaration.
70254         * m4/mbsrchr.m4: New file.
70255         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70256         GNULIB_MBSRCHR.
70257         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70258         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70259
70260 2007-02-04  Bruno Haible  <bruno@clisp.org>
70261
70262         New module mbschr.
70263         * modules/mbschr: New file.
70264         * lib/mbschr.c: New file.
70265         * lib/string_.h (strchr): Add a conditional link warning.
70266         (mbschr): New declaration.
70267         * m4/mbschr.m4: New file.
70268         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70269         GNULIB_MBSCHR.
70270         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70271         * MODULES.html.sh (Internationalization functions): Add mbschr.
70272
70273 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70274
70275         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70276
70277         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70278
70279 2007-02-04  Bruno Haible  <bruno@clisp.org>
70280
70281         New module description section 'configure.ac-early'.
70282         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70283         (func_get_autoconf_early_snippet): New function.
70284         (func_import, func_create_testdir): Use it. Remove special cases for
70285         modules 'extensions' and 'lock'.
70286         * modules/extensions (configure.ac-early): Require
70287         gl_USE_SYSTEM_EXTENSIONS.
70288         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70289
70290 2007-02-04  Bruno Haible  <bruno@clisp.org>
70291
70292         Make use of gcj-4.3's -fsource and -ftarget option.
70293         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70294         and if so try the options -fsource and -ftarget.
70295         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70296         source_version, ftarget_option, target_version arguments.
70297         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70298         (is_envjavac_oldgcj_14_14_usable): Renamed from
70299         is_envjavac_gcj_14_14_usable.
70300         (is_envjavac_oldgcj_14_13_usable): Renamed from
70301         is_envjavac_gcj_14_13_usable.
70302         (is_gcj_present): Update.
70303         (is_gcj_43, is_gcj43_usable): New functions.
70304         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70305         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70306         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70307         try the options -fsource and -ftarget.
70308
70309 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70310
70311         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70312         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70313         larger value.
70314
70315 2007-02-03  Jim Meyering  <jim@meyering.net>
70316
70317         Give tools a better chance to allocate space for very large buffers.
70318         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70319
70320         Make pwd and readlink work also when run with an unreadable parent dir
70321         on systems with openat support.
70322         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70323         provided getcwd function, even when we have openat support.
70324         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70325
70326 2007-02-02  Bruno Haible  <bruno@clisp.org>
70327
70328         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70329         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70330         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70331         portability problems if one of these functions is only used on specific
70332         platforms.
70333         Reported by Paul Eggert.
70334
70335 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70336
70337         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70338         is causing more trouble than it's curing.
70339         * lib/regex_internal.h (__mempcpy): Remove.
70340         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70341         (and make the code a tad smaller to boot).
70342         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70343
70344 2007-02-02  Jim Meyering  <jim@meyering.net>
70345
70346         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70347         section, not in the Makefile.am: one.
70348
70349 2007-02-02  Eric Blake  <ebb9@byu.net>
70350
70351         * lib/strchrnul.c: Always include config.h first.
70352
70353         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70354         gnulib strstr is not necessary here.
70355
70356 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70357
70358         * m4/socklen.m4: Fix typo.
70359
70360 2007-02-02  Eric Blake  <ebb9@byu.net>
70361
70362         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70363         * modules/netinet_in (Makefile.am): Likewise.
70364
70365 2007-02-01  Bruno Haible  <bruno@clisp.org>
70366
70367         * lib/string_.h (GL_LINK_WARNING): New macro.
70368         (strcasecmp, strstr, strcasestr): If provided by the system,
70369         conditionally define as a macro that leads to a warning instead of to
70370         an error.
70371         (strncasecmp): Conditionally define as a macro that leads to a warning.
70372
70373 2007-02-01  Karl Berry  <karl@gnu.org>
70374
70375         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70376
70377 2007-02-01  Bruno Haible  <bruno@clisp.org>
70378
70379         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70380         renamings.
70381
70382 2007-02-01  Eric Blake  <ebb9@byu.net>
70383
70384         * modules/regex (Depends-on): Revert dependence on mempcpy.
70385         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70386         module's definition of mempcpy.
70387         Reported by Paul Eggert.
70388
70389 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70390
70391         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70392         the symbol XYZ before redefining it.  This fixes a problem with
70393         programs that don't use XYZ, when compiled on systems that define
70394         XYZ to something else.
70395
70396 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70397
70398         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70399         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70400         writeable to group or other and (2) is intended to have a special
70401         mode bit that is set or cleared.  In such a case, the directory
70402         should be neither group- nor other-writeable until the special
70403         mode bits are right.
70404
70405 2007-01-31  Eric Blake  <ebb9@byu.net>
70406
70407         * modules/mountlist (Depends-on): Add strstr.
70408
70409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70410         bug.
70411         * modules/string (Makefile.am): Remove redundant replacement.
70412         * modules/regex (Depends-on): Add mempcpy.
70413
70414 2007-01-31  Bruno Haible  <bruno@clisp.org>
70415
70416         New module description field 'Link'.
70417         * gnulib-tool (func_usage): Document --extract-link-directive.
70418         (sed_extract_prog): Recognize 'Link' directive.
70419         (func_get_link_directive): New function.
70420         (func_import): Show summary of link directives.
70421         Handle --extract-link-directive option.
70422         * modules/acl (Link): New section.
70423         * modules/clock-time (Link): New section.
70424         * modules/euidaccess (Link): New section.
70425         * modules/gettext (Link): New section.
70426         * modules/iconv (Link): New section.
70427         * modules/lock (Link): New section.
70428         * modules/nanosleep (Link): New section.
70429         * modules/readline (Link): New section.
70430
70431 2007-01-27  Bruno Haible  <bruno@clisp.org>
70432
70433         Enforce the use of gnulib modules for unportable <string.h> functions.
70434         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70435         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70436         (gl_HEADER_STRING_H_BODY): Require it.
70437         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70438         the symbol XYZ to one that gives a link error.
70439         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70440         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70441         * modules/mempcpy (configure.ac): Likewise.
70442         * modules/memrchr (configure.ac): Likewise.
70443         * modules/stpcpy (configure.ac): Likewise.
70444         * modules/stpncpy (configure.ac): Likewise.
70445         * modules/strcase (configure.ac): Likewise.
70446         * modules/strcasestr (configure.ac): Likewise.
70447         * modules/strchrnul (configure.ac): Likewise.
70448         * modules/strdup (configure.ac): Likewise.
70449         * modules/strndup (configure.ac): Likewise.
70450         * modules/strnlen (configure.ac): Likewise.
70451         * modules/strpbrk (configure.ac): Likewise.
70452         * modules/strsep (configure.ac): Likewise.
70453         * modules/strstr (configure.ac): Likewise.
70454         * modules/strtok_r (configure.ac): Likewise.
70455
70456 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70457
70458         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70459
70460 2007-01-30  Jim Meyering  <jim@meyering.net>
70461
70462         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70463
70464 2007-01-29  Bruno Haible  <bruno@clisp.org>
70465
70466         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70467         * lib/execute.c: Likewise.
70468         * lib/pipe.c: Likewise.
70469         * lib/printf-args.h: Likewise.
70470         * lib/printf-args.c: Likewise.
70471         * lib/printf-parse.c: Likewise.
70472         * lib/vasnprintf.c: Likewise.
70473
70474 2007-01-29  Eric Blake  <ebb9@byu.net>
70475
70476         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70477         declaration.
70478
70479 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         * lib/strptime.h (strptime): Use 'restrict' for args where
70482         POSIX requires this.
70483         * lib/strptime.c (strptime): Likewise.
70484         Change license notice from LGPL to GPL, since gnulib-tool will
70485         change this as needed.
70486         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70487         defined.
70488         Include "strptime.h" first, to check interface.
70489         Do not #undef _LIBC and _NL_CURRENT.
70490         Do not include <stdlib.h>; no longer needed.
70491         Include "time_r.h" and declare ptime_locale_status
70492         only if _LIBC is not defined.
70493         (__P): Remove unused macro.
70494         (match_string): Bring back glibc version, but use it only if _LIBC
70495         is defined.
70496         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70497         Remove unnecessary assertion and abort() call.
70498         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70499         * m4/strptime.m4: Fix serial number comment.
70500         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70501         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70502         (Depends-on): Add time_r.
70503
70504 2007-01-29  Bruno Haible  <bruno@clisp.org>
70505
70506         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70507         strptime.
70508         * modules/strptime (Depends-on): Add stdbool.
70509         * lib/strptime.h: Include <time.h> always. Add comments.
70510
70511 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70512
70513         * modules/strptime: New file.
70514         * lib/strptime.h: New file.
70515         * lib/strptime.c: New file.
70516         * m4/strptime.m4: New file.
70517
70518 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70519
70520         * MODULES.html.sh: New module mpsort.
70521         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70522
70523         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70524         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70525         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70526         All uses changed.
70527         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70528         All uses changed.
70529         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70530         to _Restrict_.
70531         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70532         the parameter matches the prototype.
70533
70534 2007-01-28  Jim Meyering  <jim@meyering.net>
70535
70536         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70537         sys/time.h here, reverting that part of the previous patch:
70538         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70539
70540 2007-01-28  Bruno Haible  <bruno@clisp.org>
70541
70542         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70543         value of $(SYS_TIME_H).
70544         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70545         remove it conditionally, too. [added by Jim Meyering]
70546         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70547         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70548         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70549         GETTIMEOFDAY_REPLACEMENT to 1.
70550
70551 2007-01-28  Bruno Haible  <bruno@clisp.org>
70552
70553         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70554         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70555         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70556         Set UNISTD_H instead of UNISTD_H2.
70557         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70558
70559 2007-01-28  Bruno Haible  <bruno@clisp.org>
70560
70561         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70562         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70563
70564 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70565
70566         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
70567         (func_create_testdir): Ensure C locale for `grep' and `tr'
70568         character ranges.
70569         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
70570         ACLOCAL_AMFLAGS parsing state machine.
70571
70572 2007-01-27  Bruno Haible  <bruno@clisp.org>
70573
70574         * modules/unistr/base: Update.
70575
70576 2007-01-27  Bruno Haible  <bruno@clisp.org>
70577
70578         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
70579         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
70580         * modules/unistr/u32-mbtouc-unsafe: Renamed from
70581         modules/unistr/u32-mbtouc.
70582         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
70583         * lib/unistr.h: Update.
70584         * lib/linebreak.c: Update.
70585         * modules/unistr/u32-mbtouc: Renamed from
70586         modules/unistr/u32-mbtouc-safe.
70587         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
70588         * lib/unistr.h: Update.
70589         * lib/unistr/u32-to-u8.c: Update.
70590         * lib/unistr/u32-to-u16.c: Update.
70591
70592 2007-01-27  Bruno Haible  <bruno@clisp.org>
70593
70594         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
70595         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
70596         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
70597         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
70598         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
70599         * modules/unistr/u16-mbtouc-unsafe: Renamed from
70600         modules/unistr/u16-mbtouc.
70601         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
70602         * lib/unistr.h: Update.
70603         * lib/linebreak.c: Update.
70604         * modules/linebreak: Update.
70605         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
70606         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
70607         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
70608         * modules/unistr/u16-mbtouc: Renamed from
70609         modules/unistr/u16-mbtouc-safe.
70610         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
70611         * lib/unistr.h: Update.
70612         * lib/unistr/u16-to-u8.c: Update.
70613         * modules/unistr/u16-to-u8: Update.
70614         * lib/unistr/u16-to-u32.c: Update.
70615         * modules/unistr/u16-to-u32: Update.
70616
70617 2007-01-27  Bruno Haible  <bruno@clisp.org>
70618
70619         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
70620         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
70621         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
70622         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
70623         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
70624         * modules/unistr/u8-mbtouc-unsafe: Renamed from
70625         modules/unistr/u8-mbtouc.
70626         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
70627         * lib/unistr.h: Update.
70628         * lib/striconveh.c: Update.
70629         * modules/striconveh: Update.
70630         * lib/linebreak.c: Update.
70631         * modules/linebreak: Update.
70632         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
70633         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
70634         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
70635         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
70636         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
70637         * lib/unistr.h: Update.
70638         * lib/striconveh.c: Update.
70639         * modules/striconveh: Update.
70640         * lib/unistr/u8-to-u16.c: Update.
70641         * modules/unistr/u8-to-u16: Update.
70642         * lib/unistr/u8-to-u32.c: Update.
70643         * modules/unistr/u8-to-u32: Update.
70644
70645 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70646
70647         Sync from Libtool.
70648         * lib/argz.c: Do not include strings.h nor memory.h, include
70649         string.h unconditionally.  Patch by Simon Josefsson.
70650
70651 2007-01-27  Bruno Haible  <bruno@clisp.org>
70652
70653         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
70654         from gl_HEADER_STRING_H_BODY.
70655         (gl_HEADER_STRING_H_BODY): Require it.
70656         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
70657         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
70658         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
70659         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
70660         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70661         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
70662         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
70663         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
70664         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
70665         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
70666         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
70667         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
70668         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
70669         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
70670         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70671
70672 2007-01-27  Bruno Haible  <bruno@clisp.org>
70673
70674         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
70675         check_PROGRAMS into noinst_PROGRAMS.
70676         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
70677         check_PROGRAMS in this case.
70678         (func_import): Set for_test to false.
70679         (func_create_testdir): Set for_test to true.
70680
70681 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70682             Bruno Haible  <bruno@clisp.org>
70683
70684         * modules/strcasestr (Files): Remove lib/strcasestr.h.
70685         (Depends-on): Add string.
70686         (Includes): Use <string.h> instead of strcasestr.h.
70687         * modules/string (Makefile.am): Also substitute the value of
70688         REPLACE_STRCASESTR.
70689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
70690         assume strcasestr is declared in <string.h> not <strings.h>. Also
70691         set REPLACE_STRCASESTR.
70692         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
70693         REPLACE_STRCASESTR.
70694         * lib/strcasestr.h: Remove file.
70695         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
70696         * lib/string_.h (strcasestr): New declaration.
70697
70698 2007-01-27  Bruno Haible  <bruno@clisp.org>
70699
70700         * lib/string_.h: Use 'extern'.
70701
70702 2007-01-27  Jim Meyering  <jim@meyering.net>
70703
70704         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
70705         of set-but-not-used local, "q".
70706
70707         * lib/mempcpy.c: Include <config.h> before <string.h>.
70708         This fixes a compilation error on HP-UX, due to the system's
70709         "restrict"-using mempcpy prototype.
70710
70711 2007-01-26  Bruno Haible  <bruno@clisp.org>
70712
70713         Small optimization.
70714         * lib/javacomp.c: Include c-strstr.h.
70715          (is_envjavac_gcj): Use c_strstr instead of strstr.
70716         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
70717
70718 2007-01-26  Bruno Haible  <bruno@clisp.org>
70719
70720         * MODULES.html.sh (Unicode string functions): Add the new modules.
70721
70722         * modules/uniconv/u32-strconv-to-locale: New file.
70723         * lib/uniconv/u32-strconv-to-locale.c: New file.
70724
70725         * modules/uniconv/u16-strconv-to-locale: New file.
70726         * lib/uniconv/u16-strconv-to-locale.c: New file.
70727
70728         * modules/uniconv/u8-strconv-to-locale: New file.
70729         * lib/uniconv/u8-strconv-to-locale.c: New file.
70730
70731         * modules/uniconv/u32-strconv-from-locale: New file.
70732         * lib/uniconv/u32-strconv-from-locale.c: New file.
70733
70734         * modules/uniconv/u16-strconv-from-locale: New file.
70735         * lib/uniconv/u16-strconv-from-locale.c: New file.
70736
70737         * modules/uniconv/u8-strconv-from-locale: New file.
70738         * lib/uniconv/u8-strconv-from-locale.c: New file.
70739
70740         * modules/uniconv/u32-strconv-to-enc: New file.
70741         * lib/uniconv/u32-strconv-to-enc.c: New file.
70742         * modules/uniconv/u32-strconv-to-enc-tests: New file.
70743         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
70744
70745         * modules/uniconv/u16-strconv-to-enc: New file.
70746         * lib/uniconv/u16-strconv-to-enc.c: New file.
70747         * lib/uniconv/u-strconv-to-enc.h: New file.
70748         * modules/uniconv/u16-strconv-to-enc-tests: New file.
70749         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
70750
70751         * modules/uniconv/u8-strconv-to-enc: New file.
70752         * lib/uniconv/u8-strconv-to-enc.c: New file.
70753         * modules/uniconv/u8-strconv-to-enc-tests: New file.
70754         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
70755
70756         * modules/uniconv/u32-strconv-from-enc: New file.
70757         * lib/uniconv/u32-strconv-from-enc.c: New file.
70758         * modules/uniconv/u32-strconv-from-enc-tests: New file.
70759         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
70760
70761         * modules/uniconv/u16-strconv-from-enc: New file.
70762         * lib/uniconv/u16-strconv-from-enc.c: New file.
70763         * modules/uniconv/u16-strconv-from-enc-tests: New file.
70764         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
70765
70766         * modules/uniconv/u8-strconv-from-enc: New file.
70767         * lib/uniconv/u8-strconv-from-enc.c: New file.
70768         * lib/uniconv/u-strconv-from-enc.h: New file.
70769         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70770         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70771
70772         * modules/uniconv/u32-conv-from-enc: New file.
70773         * lib/uniconv/u32-conv-from-enc.c: New file.
70774         * modules/uniconv/u32-conv-from-enc-tests: New file.
70775         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70776
70777         * modules/uniconv/u16-conv-from-enc: New file.
70778         * lib/uniconv/u16-conv-from-enc.c: New file.
70779         * lib/uniconv/u-conv-from-enc.h: New file.
70780         * modules/uniconv/u16-conv-from-enc-tests: New file.
70781         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70782
70783         * modules/uniconv/u8-conv-from-enc: New file.
70784         * lib/uniconv/u8-conv-from-enc.c: New file.
70785         * modules/uniconv/u8-conv-from-enc-tests: New file.
70786         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70787
70788         * modules/uniconv/base: New file.
70789         * lib/uniconv.h: New file.
70790
70791 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * doc/gnulib-tool.texi (Initial import): Update to match current
70794         behavior with strdup module.
70795         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70796         * lib/memmem.h: Remove; all uses removed.  This is now done
70797         by <string.h>.
70798         * lib/mempcpy.h: Likewise.
70799         * lib/memrchr.h: Likewise.
70800         * lib/stpcpy.h: Likewise.
70801         * lib/stpncpy.h: Likewise.
70802         * lib/strcase.h: Likewise.
70803         * lib/strchrnul.h: Likewise.
70804         * lib/strdup.h: Likewise.
70805         * lib/strndup.h: Likewise.
70806         * lib/strnlen.h: Likewise.
70807         * lib/strpbrk.h: Likewise.
70808         * lib/strsep.h: Likewise.
70809         * lib/strstr.h: Likewise.
70810         * lib/strtok_r.h: Likewise.
70811         * lib/string_.h: New file.
70812         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70813         Rely on <string.h> instead.
70814         * lib/canon-host.c: Likewise.
70815         * lib/chdir-long.c: Likewise.
70816         * lib/concatpath.c: Likewise.
70817         * lib/exclude.c: Likewise.
70818         * lib/fchdir.c: Likewise.
70819         * lib/getaddrinfo.c: Likewise.
70820         * lib/getcwd.c: Likewise.
70821         * lib/getsubopt.c: Likewise.
70822         * lib/glob.c: Likewise.
70823         * lib/hard-locale.c: Likewise.
70824         * lib/iconvme.c: Likewise.
70825         * lib/javacomp.c: Likewise.
70826         * lib/mempcpy.c: Likewise.
70827         * lib/memrchr.c: Likewise.
70828         * lib/regex_internal.h: Likewise.
70829         * lib/stpncpy.c: Likewise.
70830         * lib/strcasecmp.c: Likewise.
70831         * lib/strchrnul.c: Likewise.
70832         * lib/strdup.c: Likewise.
70833         * lib/striconv.c: Likewise.
70834         * lib/striconveh.c: Likewise.
70835         * lib/striconveha.c: Likewise.
70836         * lib/strncasecmp.c: Likewise.
70837         * lib/strndup.c: Likewise.
70838         * lib/strnlen.c: Likewise.
70839         * lib/strsep.c: Likewise.
70840         * lib/strstr.c: Likewise.
70841         * lib/strtok_r.c: Likewise.
70842         * lib/userspec.c: Likewise.
70843         * lib/w32spawn.h: Likewise.
70844         * lib/xstrndup.c: Likewise.
70845         * lib/mountlist.c (strstr): Remove decl.
70846         * m4/string_h.m4: New file.
70847         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70848         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70850         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70851         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70852         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70853         Set REPLACE_STRCASECMP if necessary.
70854         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70855         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70856         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70857         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70858         HAVE_DECL_STRDUP if necessary.
70859         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70860         since gl_FUNC_STRNDUP does that now.
70861         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70862         Check for decl here...
70863         (gl_PREREQ_STRNLEN): ... not here.
70864         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70865         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70866         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70867         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70868         necessary.
70869         * modules/string: New file.
70870         * modules/memmem (Files): Remove special-purpose include file.
70871         (Depends-on): Add string.
70872         (Include): Include <string.h>, not the removed file.
70873         * modules/mempcpy: Likewise.
70874         * modules/memrchr: Likewise.
70875         * modules/stpcpy: Likewise.
70876         * modules/stpncpy: Likewise.
70877         * modules/strcase: Likewise.
70878         * modules/strchrnul: Likewise.
70879         * modules/strdup: Likewise.
70880         * modules/strndup: Likewise.
70881         * modules/strnlen: Likewise.
70882         * modules/strpbrk: Likewise.
70883         * modules/strsep: Likewise.
70884         * modules/strstr: Likewise.
70885         * modules/strtok_r: Likewise.
70886         * tests/test-dirname.c: Don't include "strdup.h", since
70887         <string.h> now suffices.
70888         * tests/test-memmem.c: Don't include "memmem.h", since
70889         <string.h> now suffices.
70890
70891 2007-01-25  Bruno Haible  <bruno@clisp.org>
70892
70893         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70894         *resultp is 0.
70895
70896         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70897         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70898         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70899         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70900
70901         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70902         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70903         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70904         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70905         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70906         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70907
70908 2007-01-24  Bruno Haible  <bruno@clisp.org>
70909
70910         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70911         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70912         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70913         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70914         gl_FUNC_FTS_CORE.
70915         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70916         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70917         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70918         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70919         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70920         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70921         gl_FUNC_FCHOWNAT.
70922         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70923         gl_FUNC_STRFTIME.
70924         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70925         Reported by Ralf Wildenhues.
70926
70927 2007-01-24  Bruno Haible  <bruno@clisp.org>
70928
70929         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70930         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70931         gl_GETADDRINFO.
70932         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70933         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70934         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70935
70936 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70937
70938         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70939         Don't use 'exit'; just return from 'main'.
70940         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70941
70942         * lib/fnmatch_.h: Readjust white space and comments to match
70943         glibc, to avoid spurious diffs.
70944
70945 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70946
70947         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70948         2004-12-01 change by Jakub Jelinek, since this code won't compile
70949         if !LIBC.  Problem reported by Bob Proulx.
70950
70951 2007-01-23  Bruno Haible  <bruno@clisp.org>
70952
70953         * lib/striconveh.c: Include c-strcaseeq.h.
70954         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70955         * modules/striconveh (Depends-on): Add c-strcaseeq.
70956
70957 2007-01-23  Bruno Haible  <bruno@clisp.org>
70958
70959         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70960
70961         * modules/c-strcaseeq: New file.
70962         * lib/c-strcaseeq.h: New file.
70963
70964         * modules/streq: New file.
70965         * lib/streq.h: New file.
70966
70967 2007-01-23  Bruno Haible  <bruno@clisp.org>
70968
70969         * modules/striconveha-tests: New file.
70970         * tests/test-striconveha.c: New file.
70971
70972         * lib/striconveha.h: Include <stdbool.h>.
70973         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70974         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70975         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70976         (mem_iconveha): New function.
70977         (str_iconveha_notranslit): Renamed from str_iconveha.
70978         (str_iconveha): New function.
70979         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70980         c-strcase.
70981
70982 2007-01-23  Bruno Haible  <bruno@clisp.org>
70983
70984         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70985         encodings without forgiving before trying any encoding with handler.
70986         (str_iconveha): Try all encodings without forgiving before trying any
70987         encoding with handler.
70988
70989 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70990
70991         Import the following changes from libc.
70992
70993         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70994
70995         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70996
70997         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70998
70999         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71000         normal_bracket label.
71001
71002         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71003
71004         [BZ #361]
71005         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71006         to normal_bracket after fetching the next character.
71007
71008 2007-01-22  Bruno Haible  <bruno@clisp.org>
71009
71010         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71011         argument.
71012         * lib/striconveh.c (iconv_carefully_1): New function.
71013         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71014         argument.
71015         (str_cd_iconveh): Update.
71016         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71017         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71018         * tests/test-striconveh.c (MAGIC): New macro.
71019         (new_offsets): New function.
71020         (main): Test call with and without offsets.
71021
71022 2007-01-22  Bruno Haible  <bruno@clisp.org>
71023
71024         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71025         * modules/sys_select (Makefile.am): Likewise.
71026         * modules/sys_socket (Makefile.am): Likewise.
71027         * modules/sys_time (Makefile.am): Likewise.
71028
71029 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71030
71031         * modules/gettimeofday (License): Change from GPL to LGPL, since
71032         gettimeofday is a library function.
71033
71034 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71035
71036         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71037
71038 2007-01-21  Bruno Haible  <bruno@clisp.org>
71039
71040         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71041
71042 2007-01-21  Bruno Haible  <bruno@clisp.org>
71043
71044         * modules/striconveha: New file.
71045         * lib/striconveha.h: New file.
71046         * lib/striconveha.c: New file.
71047         * MODULES.html.sh (Internationalization functions): Add striconveha.
71048         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71049         string.
71050         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71051
71052 2007-01-21  Bruno Haible  <bruno@clisp.org>
71053
71054         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71055         * lib/striconveh.c (str_iconveh): Likewise.
71056
71057 2007-01-21  Bruno Haible  <bruno@clisp.org>
71058
71059         * lib/striconveh.h (mem_iconveh): New declaration.
71060         * lib/striconveh.c (mem_iconveh): New function.
71061         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71062
71063 2007-01-21  Bruno Haible  <bruno@clisp.org>
71064
71065         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71066
71067         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71068         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71069         original result buffer.
71070         (str_cd_iconveh): Update.
71071         * tests/test-striconveh.c (main): Update.
71072
71073         * lib/striconv.h (mem_cd_iconv): Change specification.
71074         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71075         result buffer.
71076         (str_cd_iconv): Update.
71077         * tests/test-striconv.c (main): Update.
71078
71079 2007-01-21  Bruno Haible  <bruno@clisp.org>
71080
71081         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71082
71083 2007-01-20  Jim Meyering  <jim@meyering.net>
71084
71085         * lib/userspec.c (parse_with_separator): If a user or group string
71086         starts with "+", skip the corresponding name-to-ID look-up, since
71087         such a look-up must fail: user and group names may not include "+".
71088
71089 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71092         since we now assume the sys_time module.
71093         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71094         check for sys/time.h; no longer needed.
71095         * modules/poll (Depends-on): Depend on sys_time.
71096
71097 2007-01-18  Bruno Haible  <bruno@clisp.org>
71098
71099         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71100         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71101
71102         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71103         gettimeofday.
71104
71105         * tests/test-gettimeofday.c: Include <time.h>.
71106         (dummy): Remove variable.
71107
71108         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71109         gl_HEADER_SYS_TIME_H.
71110         (gl_HEADER_SYS_TIME_H): New macro.
71111
71112         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71113         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71114         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71115         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71116         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71117         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71118         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71119         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71120         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71121         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71122         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71123
71124         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71125         last change; it caused a compilation error when cross-compiling to
71126         Cygwin.
71127
71128 2007-01-18  Jim Meyering  <jim@meyering.net>
71129
71130         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71131         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71132         than the race-prone "test -d sys || mkdir sys".
71133         (configure.ac): Use AC_PROG_MKDIR_P.
71134         * modules/sys_select: Likewise.
71135         * modules/sys_socket: Likewise.
71136         * modules/sys_time: Likewise.
71137
71138 2007-01-18  Eric Blake  <ebb9@byu.net>
71139
71140         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71141         replace gettimeofday.
71142         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71143         name, to avoid infinite recursion.
71144
71145 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71146
71147         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71148         module sys_time.
71149         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71150         assume timespec.h defines struct timeval.
71151         * lib/settime.c: Likewise.
71152         * lib/utimens.c: Likewise.
71153         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71154         since we now assume the gettimeofday module.
71155         * lib/tempname.c (__gen_tempname): Likewise.
71156         * lib/gettimeofday.h: Remove.
71157         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71158         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71159         Include <time.h>, for 'time()'.
71160         (localtime_buffer_addr): Also use this workaround if
71161         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71162         to simplify the uses.  All uses changed.
71163         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71164         that #undef is inside {}, and 'const' follows type name consistently.
71165         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71166         (gettimeofday): Do not use the maximum possible value for
71167         tv->tv_usec, since that might break usages other than ls.c.
71168         Instead, we'll leave ls.c alone.  This undoes today's patch
71169         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71170         we've never observed the problem but might as well keep the
71171         canary.
71172         * lib/nanosleep.c: Include timespec.h first, for interface check.
71173         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71174         now assume the sys_time module.
71175         * lib/tempname.c: Likewise.
71176         * lib/timespec.h: Likewise.
71177         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71178         needed.
71179         * lib/strftime.c: Likewise.
71180         * lib/timespec.h: Likewise.
71181         * lib/posixtm.c: Include posixtm.h first, for interface check.
71182         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71183         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71184         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71185         * lib/sys_time_.h: New file.
71186         * lib/timespec.h (struct timespec): Use long int, not long.
71187         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71188         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71189         Remove obsolescent call to AC_HEADER_TIME.
71190         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71191         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71192         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71193         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71194         Likewise.
71195         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71196         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71197         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71198         into the sys_time module.  Check for gettimeofday just once.
71199         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71200         for gettimeofday signature to just check the signature.  Merely
71201         compile it, since linking doesn't test signature.  Improve test for
71202         whether gettimeofday.o is actually needed.
71203         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71204         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71205         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71206         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71207         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71208         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71209         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71210         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71211         than worrying about sys/time.h.
71212         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71213         Don't bother worrying about TIME_WITH_SYS_TIME.
71214         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71215         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71216         * m4/sys_time_h.m4: New file.
71217         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71218         Don't include sys/time.h.  Return from main rather than exiting.
71219         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71220         all uses changed.
71221         * modules/gethrxtime (Depends-on): Add sys_time.
71222         * modules/gettime (Depends-on): Likewise.
71223         * modules/gettimeofday (Depends-on): Likewise.
71224         * modules/nanosleep (Depends-on): Likewise.
71225         * modules/settime (Depends-on): Likewise.
71226         * modules/tempname (Depends-on): Likewise.
71227         * modules/utimens (Depends-on): Likewise.
71228         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71229         (Include): Change back to <sys/time.h>.
71230         (Maintainer): Add self.
71231         * modules/sys_time: New file.
71232         * modules/tempname (Depends-on): Add gettimeofday.
71233         * tests/test-gettimeofday.c: Include <sys/time.h>
71234         rather than gettimeofday.h.
71235
71236 2007-01-17  Bruno Haible  <bruno@clisp.org>
71237
71238         * gnulib-tool (func_get_license): Revert last patch. Instead, let
71239         the license default to GPL.
71240         (func_create_testdir): Don't complain if a module is LGPL and its
71241         tests module depends on GPLed modules.
71242
71243 2007-01-17  Bruno Haible  <bruno@clisp.org>
71244
71245         * lib/gettimeofday.c (gettimeofday): Add code for the case
71246         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
71247         maximum possible value for tv->tv_usec, rather than the minimum one.
71248
71249 2005-10-08  Martin Lambers  <marlam@marlam.de>
71250 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71251 2007-01-16  Bruno Haible  <bruno@clisp.org>
71252
71253         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
71254         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
71255         gl_FUNC_GETTIMEOFDAY.
71256         (Include): Add gettimeofday.h.
71257         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71258         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71259         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71260         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71261         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71262         * lib/gettimeofday.h: New file.
71263         * lib/gettimeofday.c: Include <sys/timeb.h>.
71264         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71265         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71266         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71267         fall back on time().
71268
71269         * tests/test-gettimeofday.c: New file.
71270         * modules/gettimeofday-tests: New file.
71271
71272 2007-01-16  Eric Blake  <ebb9@byu.net>
71273
71274         * modules/fnmatch (Depends-on): Depend on wchar.
71275         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71276         * m4/fnmatch.m4: Likewise.
71277         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71278         * m4/mbchar.m4: Likewise.
71279         * modules/mbswidth (Depends-on): Depend on wchar.
71280         * lib/mbswidth.c: Assume <wchar.h>.
71281         * m4/mbswidth.m4: Likewise.
71282         * modules/quotearg (Depends-on): Depend on wchar.
71283         * lib/quotearg.c: Assume <wchar.h>.
71284         * m4/quotearg.m4: Likewise.
71285         * modules/regex (Depends-on): Depend on wchar.
71286         * lib/regex_internal.h: Assume <wchar.h>.
71287         * m4/regex.m4: Likewise.
71288         * modules/stdint (Depends-on): Depend on wchar.
71289         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71290         * m4/stdint.m4: Likewise.
71291         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71292         * modules/strftime (Depends-on): Depend on wchar.
71293         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71294         * modules/strtol (Depends-on): Depend on wchar.
71295         * lib/strtol.c: Assume <wchar.h>.
71296         * modules/wcwidth (Depends-on): Depend on wchar.
71297         * lib/wcwidth.h: Assume <wchar.h>.
71298         * m4/wcwidth.m4: Likewise.
71299
71300 2007-01-16  Bruno Haible  <bruno@clisp.org>
71301
71302         * modules/csharpexec-script: New, created from...
71303         * modules/csharpexec: ... this.
71304
71305 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71306
71307         * modules/javaexec-script: New, created from...
71308         * modules/javaexec: ... this.
71309
71310 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71311
71312         * modules/poll (Dependencies): Add sys_select.
71313
71314 2007-01-15  Jim Meyering  <jim@meyering.net>
71315
71316         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71317         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71318         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71319         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71320
71321 2007-01-15  Bruno Haible  <bruno@clisp.org>
71322
71323         * modules/striconveh: New file.
71324         * lib/striconveh.h: New file.
71325         * lib/striconveh.c: New file.
71326         * MODULES.html.sh (Internationalization functions): Add striconveh.
71327
71328         * modules/striconveh-tests: New file.
71329         * tests/test-striconveh.c: New file.
71330
71331 2007-01-15  Bruno Haible  <bruno@clisp.org>
71332
71333         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71334         not from GNU libiconv or GNU libc.
71335
71336 2007-01-15  Bruno Haible  <bruno@clisp.org>
71337
71338         * doc/gnulib-intro.texi (Copyright): Explain the different license
71339         terms for module descriptions, autoconf macros, tests, documentation.
71340
71341 2007-01-14  Bruno Haible  <bruno@clisp.org>
71342
71343         * modules/striconv-tests: New file.
71344         * tests/test-striconv.c: New file.
71345
71346 2007-01-14  Bruno Haible  <bruno@clisp.org>
71347
71348         * modules/iconv-tests: New file.
71349         * tests/test-iconv.c: New file.
71350
71351 2007-01-14  Bruno Haible  <bruno@clisp.org>
71352
71353         * gnulib-tool (func_get_license): For test modules, use the license of
71354         the main module.
71355
71356 2007-01-14  Bruno Haible  <bruno@clisp.org>
71357
71358         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71359         if iconv is found to exist.
71360
71361 2007-01-14  Bruno Haible  <bruno@clisp.org>
71362
71363         * modules/c-ctype-tests: New file.
71364         * tests/test-c-ctype.c: New file.
71365
71366 2007-01-14  Bruno Haible  <bruno@clisp.org>
71367
71368         * modules/binary-io-tests: New file.
71369         * tests/test-binary-io.sh: New file.
71370         * tests/test-binary-io.c: New file.
71371
71372 2007-01-14  Bruno Haible  <bruno@clisp.org>
71373
71374         * modules/array-oset-tests: New file.
71375         * tests/test-array_oset.c: New file.
71376
71377 2007-01-14  Bruno Haible  <bruno@clisp.org>
71378
71379         * modules/array-list-tests: New file.
71380         * tests/test-array_list.c: New file.
71381
71382 2007-01-14  Bruno Haible  <bruno@clisp.org>
71383
71384         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71385         and make.
71386         Reported by Simon Josefsson in
71387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71388
71389 2007-01-14  Bruno Haible  <bruno@clisp.org>
71390
71391         * modules/allocsa-tests: New file.
71392         * tests/test-allocsa.c: New file.
71393
71394 2007-01-14  Bruno Haible  <bruno@clisp.org>
71395
71396         * modules/fchdir (Depends-on): Add absolute-header.
71397         * modules/unistd (Depends-on): Likewise.
71398
71399 2006-12-30  Bruno Haible  <bruno@clisp.org>
71400
71401         * modules/fchdir: New file.
71402         * modules/unistd (Files): Add lib/unistd_.h.
71403         (Makefile.am): Generate unistd.h from unistd_.h.
71404         * lib/fchdir.c: New file.
71405         * lib/dirent_.h: New file.
71406         * lib/unistd_.h: New file.
71407         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71408         * m4/fchdir.m4: New file.
71409         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71410         (gl_HEADER_UNISTD): Invoke it.
71411         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71412         function.
71413         * lib/backupfile.c (opendir, closedir): Undefine.
71414         * lib/chown.c (open, close): Undefine.
71415         * lib/clean-temp.c (open, close): Undefine.
71416         * lib/copy-file.c (open, close): Undefine.
71417         * lib/execute.c (open, close): Undefine.
71418         * lib/fsusage.c (open, close): Undefine.
71419         * lib/gc-gnulib.c (open, close): Undefine.
71420         * lib/getcwd.c (opendir, closedir): Undefine.
71421         * lib/glob.c (opendir, closedir): Undefine.
71422         * lib/javacomp.c (open, close): Undefine.
71423         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71424         * lib/openat-proc.c (open, close): Undefine.
71425         * lib/pagealign_alloc.c (open, close): Undefine.
71426         * lib/pipe.c (open, close): Undefine.
71427         * lib/progreloc.c (open, close): Undefine.
71428         * lib/savedir.c (opendir, closedir): Undefine.
71429         * lib/utime.c (open, close): Undefine.
71430         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71431
71432 2007-01-10  Bruno Haible  <bruno@clisp.org>
71433
71434         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71435
71436 2007-01-12  Eric Blake  <ebb9@byu.net>
71437
71438         Provide a robust <wchar.h>.  Further simplifications are now
71439         possible in other modules, but not included here.
71440         * modules/wchar: New module.
71441         * m4/wchar.m4: New file.
71442         * lib/wchar_.h: Likewise.
71443         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71444         of the new module.
71445         * MODULES.html.sh (Extended multibyte and wide character utilities):
71446         New section.
71447
71448 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71449
71450         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71451         to a reasonable default for memory allocation.
71452         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71453         file system that reports garbage st_size values for symlinks.
71454         Problem reported by Liyang Hu.
71455
71456 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71457
71458         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71459         Emacs .#* auto-save files).
71460
71461 2007-01-11  Bruno Haible  <bruno@clisp.org>
71462
71463         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71464         directory.
71465
71466 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71467
71468         Use @...@ consistently in lib/wctype_.h.
71469         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71470         on it being set to 1 or 0.
71471         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71472         go back to AC_SUBSTing it.
71473         * modules/wctype (Makefile.am): Undo previous change.
71474
71475 2007-01-10  Eric Blake  <ebb9@byu.net>
71476
71477         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71478         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71479         * modules/wctype (Makefile.am): Likewise.
71480         Reported by Chris McGuire.
71481
71482 2007-01-10  Jim Meyering  <jim@meyering.net>
71483
71484         fts.c: a small readability/maintainability improvement
71485         * lib/fts.c (fts_read): Make this code slightly more readable and
71486         maintainable by hoisting the "sp->fts_cur = p" assignments to
71487         immediately follow the statements that set P.  Derived from
71488         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71489
71490 2007-01-10  Eric Blake  <ebb9@byu.net>
71491
71492         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71493         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71494         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71495         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71496         Reported by Chris McGuire.
71497
71498 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71499
71500         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71501         in sed script.
71502
71503 2007-01-09  Bruno Haible  <bruno@clisp.org>
71504
71505         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71506         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71507         variables.
71508         (func_module): Use them.
71509
71510 2007-01-09  Bruno Haible  <bruno@clisp.org>
71511
71512         * modules/unistr/base: New file.
71513         * lib/unistr.h: New file.
71514
71515         * modules/unistr/u8-to-u16: New file.
71516         * lib/unistr/u8-to-u16.c: New file.
71517
71518         * modules/unistr/u8-to-u32: New file.
71519         * lib/unistr/u8-to-u32.c: New file.
71520
71521         * modules/unistr/u16-to-u8: New file.
71522         * lib/unistr/u16-to-u8.c: New file.
71523
71524         * modules/unistr/u16-to-u32: New file.
71525         * lib/unistr/u16-to-u32.c: New file.
71526
71527         * modules/unistr/u32-to-u8: New file.
71528         * lib/unistr/u32-to-u8.c: New file.
71529
71530         * modules/unistr/u32-to-u16: New file.
71531         * lib/unistr/u32-to-u16.c: New file.
71532
71533         * modules/unistr/u8-check: New file.
71534         * modules/unistr/u16-check: New file.
71535         * modules/unistr/u32-check: New file.
71536         * lib/unistr/u8-check.c: New file.
71537         * lib/unistr/u16-check.c: New file.
71538         * lib/unistr/u32-check.c: New file.
71539
71540         * modules/unistr/u8-chr: New file.
71541         * modules/unistr/u16-chr: New file.
71542         * modules/unistr/u32-chr: New file.
71543         * lib/unistr/u8-chr.c: New file.
71544         * lib/unistr/u16-chr.c: New file.
71545         * lib/unistr/u32-chr.c: New file.
71546
71547         * modules/unistr/u8-cmp: New file.
71548         * modules/unistr/u16-cmp: New file.
71549         * modules/unistr/u32-cmp: New file.
71550         * lib/unistr/u8-cmp.c: New file.
71551         * lib/unistr/u16-cmp.c: New file.
71552         * lib/unistr/u32-cmp.c: New file.
71553
71554         * modules/unistr/u8-cpy: New file.
71555         * modules/unistr/u16-cpy: New file.
71556         * modules/unistr/u32-cpy: New file.
71557         * lib/unistr/u8-cpy.c: New file.
71558         * lib/unistr/u16-cpy.c: New file.
71559         * lib/unistr/u32-cpy.c: New file.
71560         * lib/unistr/u-cpy.h: New file.
71561
71562         * modules/unistr/u8-cpy-alloc: New file.
71563         * modules/unistr/u16-cpy-alloc: New file.
71564         * modules/unistr/u32-cpy-alloc: New file.
71565         * lib/unistr/u8-cpy-alloc.c: New file.
71566         * lib/unistr/u16-cpy-alloc.c: New file.
71567         * lib/unistr/u32-cpy-alloc.c: New file.
71568         * lib/unistr/u-cpy-alloc.h: New file.
71569
71570         * modules/unistr/u8-endswith: New file.
71571         * modules/unistr/u16-endswith: New file.
71572         * modules/unistr/u32-endswith: New file.
71573         * lib/unistr/u8-endswith.c: New file.
71574         * lib/unistr/u16-endswith.c: New file.
71575         * lib/unistr/u32-endswith.c: New file.
71576         * lib/unistr/u-endswith.h: New file.
71577
71578         * modules/unistr/u8-mblen: New file.
71579         * modules/unistr/u16-mblen: New file.
71580         * modules/unistr/u32-mblen: New file.
71581         * lib/unistr/u8-mblen.c: New file.
71582         * lib/unistr/u16-mblen.c: New file.
71583         * lib/unistr/u32-mblen.c: New file.
71584
71585         * modules/unistr/u8-mbtouc: New file.
71586         * modules/unistr/u16-mbtouc: New file.
71587         * modules/unistr/u32-mbtouc: New file.
71588         * lib/unistr/u8-mbtouc.c: New file.
71589         * lib/unistr/u16-mbtouc.c: New file.
71590         * lib/unistr/u32-mbtouc.c: New file.
71591
71592         * modules/unistr/u8-mbtouc-safe: New file.
71593         * modules/unistr/u16-mbtouc-safe: New file.
71594         * modules/unistr/u32-mbtouc-safe: New file.
71595         * lib/unistr/u8-mbtouc-safe.c: New file.
71596         * lib/unistr/u16-mbtouc-safe.c: New file.
71597         * lib/unistr/u32-mbtouc-safe.c: New file.
71598
71599         * modules/unistr/u8-move: New file.
71600         * modules/unistr/u16-move: New file.
71601         * modules/unistr/u32-move: New file.
71602         * lib/unistr/u8-move.c: New file.
71603         * lib/unistr/u16-move.c: New file.
71604         * lib/unistr/u32-move.c: New file.
71605         * lib/unistr/u-move.h: New file.
71606
71607         * modules/unistr/u8-next: New file.
71608         * modules/unistr/u16-next: New file.
71609         * modules/unistr/u32-next: New file.
71610         * lib/unistr/u8-next.c: New file.
71611         * lib/unistr/u16-next.c: New file.
71612         * lib/unistr/u32-next.c: New file.
71613
71614         * modules/unistr/u8-prev: New file.
71615         * modules/unistr/u16-prev: New file.
71616         * modules/unistr/u32-prev: New file.
71617         * lib/unistr/u8-prev.c: New file.
71618         * lib/unistr/u16-prev.c: New file.
71619         * lib/unistr/u32-prev.c: New file.
71620
71621         * modules/unistr/u8-set: New file.
71622         * modules/unistr/u16-set: New file.
71623         * modules/unistr/u32-set: New file.
71624         * lib/unistr/u8-set.c: New file.
71625         * lib/unistr/u16-set.c: New file.
71626         * lib/unistr/u32-set.c: New file.
71627         * lib/unistr/u-set.h: New file.
71628
71629         * modules/unistr/u8-startswith: New file.
71630         * modules/unistr/u16-startswith: New file.
71631         * modules/unistr/u32-startswith: New file.
71632         * lib/unistr/u8-startswith.c: New file.
71633         * lib/unistr/u16-startswith.c: New file.
71634         * lib/unistr/u32-startswith.c: New file.
71635         * lib/unistr/u-startswith.h: New file.
71636
71637         * modules/unistr/u8-stpcpy: New file.
71638         * modules/unistr/u16-stpcpy: New file.
71639         * modules/unistr/u32-stpcpy: New file.
71640         * lib/unistr/u8-stpcpy.c: New file.
71641         * lib/unistr/u16-stpcpy.c: New file.
71642         * lib/unistr/u32-stpcpy.c: New file.
71643         * lib/unistr/u-stpcpy.h: New file.
71644
71645         * modules/unistr/u8-stpncpy: New file.
71646         * modules/unistr/u16-stpncpy: New file.
71647         * modules/unistr/u32-stpncpy: New file.
71648         * lib/unistr/u8-stpncpy.c: New file.
71649         * lib/unistr/u16-stpncpy.c: New file.
71650         * lib/unistr/u32-stpncpy.c: New file.
71651         * lib/unistr/u-stpncpy.h: New file.
71652
71653         * modules/unistr/u8-strcat: New file.
71654         * modules/unistr/u16-strcat: New file.
71655         * modules/unistr/u32-strcat: New file.
71656         * lib/unistr/u8-strcat.c: New file.
71657         * lib/unistr/u16-strcat.c: New file.
71658         * lib/unistr/u32-strcat.c: New file.
71659         * lib/unistr/u-strcat.h: New file.
71660
71661         * modules/unistr/u8-strchr: New file.
71662         * modules/unistr/u16-strchr: New file.
71663         * modules/unistr/u32-strchr: New file.
71664         * lib/unistr/u8-strchr.c: New file.
71665         * lib/unistr/u16-strchr.c: New file.
71666         * lib/unistr/u32-strchr.c: New file.
71667
71668         * modules/unistr/u8-strcmp: New file.
71669         * modules/unistr/u16-strcmp: New file.
71670         * modules/unistr/u32-strcmp: New file.
71671         * lib/unistr/u8-strcmp.c: New file.
71672         * lib/unistr/u16-strcmp.c: New file.
71673         * lib/unistr/u32-strcmp.c: New file.
71674
71675         * modules/unistr/u8-strcpy: New file.
71676         * modules/unistr/u16-strcpy: New file.
71677         * modules/unistr/u32-strcpy: New file.
71678         * lib/unistr/u8-strcpy.c: New file.
71679         * lib/unistr/u16-strcpy.c: New file.
71680         * lib/unistr/u32-strcpy.c: New file.
71681         * lib/unistr/u-strcpy.h: New file.
71682
71683         * modules/unistr/u8-strcspn: New file.
71684         * modules/unistr/u16-strcspn: New file.
71685         * modules/unistr/u32-strcspn: New file.
71686         * lib/unistr/u8-strcspn.c: New file.
71687         * lib/unistr/u16-strcspn.c: New file.
71688         * lib/unistr/u32-strcspn.c: New file.
71689         * lib/unistr/u-strcspn.h: New file.
71690
71691         * modules/unistr/u8-strdup: New file.
71692         * modules/unistr/u16-strdup: New file.
71693         * modules/unistr/u32-strdup: New file.
71694         * lib/unistr/u8-strdup.c: New file.
71695         * lib/unistr/u16-strdup.c: New file.
71696         * lib/unistr/u32-strdup.c: New file.
71697         * lib/unistr/u-strdup.h: New file.
71698
71699         * modules/unistr/u8-strlen: New file.
71700         * modules/unistr/u16-strlen: New file.
71701         * modules/unistr/u32-strlen: New file.
71702         * lib/unistr/u8-strlen.c: New file.
71703         * lib/unistr/u16-strlen.c: New file.
71704         * lib/unistr/u32-strlen.c: New file.
71705         * lib/unistr/u-strlen.h: New file.
71706
71707         * modules/unistr/u8-strmblen: New file.
71708         * modules/unistr/u16-strmblen: New file.
71709         * modules/unistr/u32-strmblen: New file.
71710         * lib/unistr/u8-strmblen.c: New file.
71711         * lib/unistr/u16-strmblen.c: New file.
71712         * lib/unistr/u32-strmblen.c: New file.
71713
71714         * modules/unistr/u8-strmbtouc: New file.
71715         * modules/unistr/u16-strmbtouc: New file.
71716         * modules/unistr/u32-strmbtouc: New file.
71717         * lib/unistr/u8-strmbtouc.c: New file.
71718         * lib/unistr/u16-strmbtouc.c: New file.
71719         * lib/unistr/u32-strmbtouc.c: New file.
71720
71721         * modules/unistr/u8-strncat: New file.
71722         * modules/unistr/u16-strncat: New file.
71723         * modules/unistr/u32-strncat: New file.
71724         * lib/unistr/u8-strncat.c: New file.
71725         * lib/unistr/u16-strncat.c: New file.
71726         * lib/unistr/u32-strncat.c: New file.
71727         * lib/unistr/u-strncat.h: New file.
71728
71729         * modules/unistr/u8-strncmp: New file.
71730         * modules/unistr/u16-strncmp: New file.
71731         * modules/unistr/u32-strncmp: New file.
71732         * lib/unistr/u8-strncmp.c: New file.
71733         * lib/unistr/u16-strncmp.c: New file.
71734         * lib/unistr/u32-strncmp.c: New file.
71735
71736         * modules/unistr/u8-strncpy: New file.
71737         * modules/unistr/u16-strncpy: New file.
71738         * modules/unistr/u32-strncpy: New file.
71739         * lib/unistr/u8-strncpy.c: New file.
71740         * lib/unistr/u16-strncpy.c: New file.
71741         * lib/unistr/u32-strncpy.c: New file.
71742         * lib/unistr/u-strncpy.h: New file.
71743
71744         * modules/unistr/u8-strnlen: New file.
71745         * modules/unistr/u16-strnlen: New file.
71746         * modules/unistr/u32-strnlen: New file.
71747         * lib/unistr/u8-strnlen.c: New file.
71748         * lib/unistr/u16-strnlen.c: New file.
71749         * lib/unistr/u32-strnlen.c: New file.
71750         * lib/unistr/u-strnlen.h: New file.
71751
71752         * modules/unistr/u8-strpbrk: New file.
71753         * modules/unistr/u16-strpbrk: New file.
71754         * modules/unistr/u32-strpbrk: New file.
71755         * lib/unistr/u8-strpbrk.c: New file.
71756         * lib/unistr/u16-strpbrk.c: New file.
71757         * lib/unistr/u32-strpbrk.c: New file.
71758         * lib/unistr/u-strpbrk.h: New file.
71759
71760         * modules/unistr/u8-strrchr: New file.
71761         * modules/unistr/u16-strrchr: New file.
71762         * modules/unistr/u32-strrchr: New file.
71763         * lib/unistr/u8-strrchr.c: New file.
71764         * lib/unistr/u16-strrchr.c: New file.
71765         * lib/unistr/u32-strrchr.c: New file.
71766
71767         * modules/unistr/u8-strspn: New file.
71768         * modules/unistr/u16-strspn: New file.
71769         * modules/unistr/u32-strspn: New file.
71770         * lib/unistr/u8-strspn.c: New file.
71771         * lib/unistr/u16-strspn.c: New file.
71772         * lib/unistr/u32-strspn.c: New file.
71773         * lib/unistr/u-strspn.h: New file.
71774
71775         * modules/unistr/u8-strstr: New file.
71776         * modules/unistr/u16-strstr: New file.
71777         * modules/unistr/u32-strstr: New file.
71778         * lib/unistr/u8-strstr.c: New file.
71779         * lib/unistr/u16-strstr.c: New file.
71780         * lib/unistr/u32-strstr.c: New file.
71781         * lib/unistr/u-strstr.h: New file.
71782
71783         * modules/unistr/u8-strtok: New file.
71784         * modules/unistr/u16-strtok: New file.
71785         * modules/unistr/u32-strtok: New file.
71786         * lib/unistr/u8-strtok.c: New file.
71787         * lib/unistr/u16-strtok.c: New file.
71788         * lib/unistr/u32-strtok.c: New file.
71789         * lib/unistr/u-strtok.h: New file.
71790
71791         * modules/unistr/u8-uctomb: New file.
71792         * modules/unistr/u16-uctomb: New file.
71793         * modules/unistr/u32-uctomb: New file.
71794         * lib/unistr/u8-uctomb.c: New file.
71795         * lib/unistr/u16-uctomb.c: New file.
71796         * lib/unistr/u32-uctomb.c: New file.
71797
71798         * MODULES.html.sh (Unicode string functions): Add the new modules.
71799
71800 2007-01-08  Bruno Haible  <bruno@clisp.org>
71801
71802         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71803         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71804         subdirectories.
71805
71806 2007-01-08  Karl Berry  <karl@gnu.org>
71807
71808         * doc/error.texi: mention that main() fns must set program_name
71809         when progname is used.
71810
71811 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71812
71813         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71814         WCTYPE_H is empty, for the benefit of builds from non-distclean
71815         directories.  Problem reported by Eric Blake in
71816         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71817
71818 2007-01-08  Bruno Haible  <bruno@clisp.org>
71819
71820         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71821         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71822         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71823         PROVIDE_CANONICALIZE_FILENAME_MODE.
71824         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71825
71826 2007-01-08  Bruno Haible  <bruno@clisp.org>
71827
71828         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71829         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71830         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71831         * lib/fts.c: Likewise.
71832         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71833
71834 2006-12-25  Bruno Haible  <bruno@clisp.org>
71835
71836         * modules/utf8-ucs4-safe: New file.
71837         * lib/utf8-ucs4-safe.h: New file.
71838         * lib/unistr/utf8-ucs4-safe.c: New file.
71839
71840         * modules/utf16-ucs4-safe: New file.
71841         * lib/utf16-ucs4-safe.h: New file.
71842         * lib/unistr/utf16-ucs4-safe.c: New file.
71843
71844         * MODULES.html.sh (Unicode string functions): Add the new modules.
71845
71846 2007-01-08  Bruno Haible  <bruno@clisp.org>
71847
71848         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71849         (Depends-on): Add unitypes.
71850         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71851         (u8_mbtouc_aux): Move out to separate file.
71852         (u8_mbtouc): Use ucs4_t, uint8_t types.
71853         * lib/unistr/utf8-ucs4.c: New file.
71854
71855         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71856         (Depends-on): Add unitypes.
71857         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71858         (u16_mbtouc_aux): Move out to separate file.
71859         (u16_mbtouc): Use ucs4_t, uint16_t types.
71860         * lib/unistr/utf16-ucs4.c: New file.
71861
71862         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71863         (Depends-on): Add unitypes.
71864         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71865         (u8_uctomb_aux): Move out to separate file.
71866         (u8_uctomb): Use ucs4_t, uint8_t types.
71867         * lib/unistr/ucs4-utf8.c: New file.
71868
71869         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71870         (Depends-on): Add unitypes.
71871         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71872         (u16_uctomb_aux): Move out to separate file.
71873         (u16_uctomb): Use ucs4_t, uint16_t types.
71874         * lib/unistr/ucs4-utf16.c: New file.
71875
71876 2006-12-25  Bruno Haible  <bruno@clisp.org>
71877
71878         * modules/unitypes: New file.
71879         * lib/unitypes.h: New file.
71880         * MODULES.html.sh (func_all_modules): New section "Unicode string
71881         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71882         this section. Add unitypes.
71883
71884 2007-01-08  Bruno Haible  <bruno@clisp.org>
71885
71886         Avoid variable names that conflict with those from libtool.
71887         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71888         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71889         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71890         library_names_spec to acl_library_names_spec, hardcode_* to
71891         acl_hardcode_*.
71892         Reported by Ralf Wildenhues.
71893
71894 2007-01-08  Bruno Haible  <bruno@clisp.org>
71895
71896         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71897         definition.
71898         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71899         definition.
71900         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71901         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71902         definition.
71903         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71904         definition.
71905         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71906         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71907         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71908         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71909         definition.
71910         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71911         definition.
71912         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71913         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71914         GC_USE_<algorithm>.
71915         * lib/gc-libgcrypt.c: Likewise.
71916         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71917         * modules/gc-arctwo (configure.ac): Likewise.
71918         * modules/gc-des (configure.ac): Likewise.
71919         * modules/gc-hmac-md5 (configure.ac): Likewise.
71920         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71921         * modules/gc-md2 (configure.ac): Likewise.
71922         * modules/gc-md4 (configure.ac): Likewise.
71923         * modules/gc-md5 (configure.ac): Likewise.
71924         * modules/gc-random (configure.ac): Likewise.
71925         * modules/gc-rijndael (configure.ac): Likewise.
71926         * modules/gc-sha1 (configure.ac): Likewise.
71927
71928 2007-01-08  Bruno Haible  <bruno@clisp.org>
71929
71930         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71931         macro definition.
71932         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71933         definition.
71934         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71935         definition.
71936         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71937         * modules/fcntl-safer (configure.ac): Likewise.
71938         * modules/fopen-safer (configure.ac): Likewise.
71939         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71940         GNULIB_FWRITEERROR macro definition.
71941
71942 2007-01-08  Bruno Haible  <bruno@clisp.org>
71943
71944         * m4/gnulib-common.m4: New file.
71945         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71946         (func_get_filelist): Add m4/gnulib-common.m4.
71947
71948 2007-01-08  Bruno Haible  <bruno@clisp.org>
71949
71950         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71951         command.
71952
71953 2007-01-08  Jim Meyering  <jim@meyering.net>
71954
71955         Use a more robust test for a "can't happen" condition.
71956         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71957         narrowed the st_size value.  Presuming the "can't happen" condition
71958         is true, that narrowing could conceivably convert an invalid st_size
71959         value into a valid one.  Instead, use a change based on Matthew
71960         Woehlke's original patch.
71961
71962         Slight readability improvement: use an assert-like macro
71963         in place of literal "abort ()" uses.
71964         * lib/fts.c (fts_assert): Define.
71965         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71966         Use this macro instead of a bare 'abort'.
71967
71968 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71969
71970         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71971         simply work around them.
71972         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71973         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71974         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71975         declaring.
71976         Don't bother to define as macros, since the standard doesn't require it.
71977         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71978         longer worry about IRIX 5.3.
71979         (HAVE_WCTYPE_CTMP_BUG): Remove.
71980
71981 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71982
71983         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71984         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71985         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71986         Problems reported by Georg Schwarz for IRIX 5.3.
71987
71988         * gnulib-tool (autoconf_minversion): Take the maximum version number
71989         found, not the minimum.  Problem reported by James Youngman.
71990
71991 2007-01-03  Karl Berry  <karl@gnu.org>
71992
71993         * doc/error.texi: new file, explaining interaction with progname.
71994         * doc/gnulib.texi: include it.  Update copyright.
71995
71996 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71997
71998         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71999         AC_CANONICAL_HOST, to improve autobuild outputs.
72000
72001 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72002             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72003
72004         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72005         sockets, server sockets, and other file descriptors.  Count errors
72006         to compute the return value.  Reorder the code a bit to be easier
72007         to follow.  Don't set event bits that were not requested (except
72008         POLLERR and POLLHUP).
72009
72010 2007-01-01  Bruno Haible  <bruno@clisp.org>
72011
72012         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72013
72014 2007-01-03  Jim Meyering  <jim@meyering.net>
72015
72016         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72017
72018 2007-01-02  Bruno Haible  <bruno@clisp.org>
72019
72020         * modules/settime (Include): Require timespec.h.
72021         * modules/nanosleep (Include): Likewise.
72022
72023 2007-01-01  Bruno Haible  <bruno@clisp.org>
72024
72025         * gnulib-tool (func_emit_copyright_notice): Bump year.
72026         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72027
72028 2007-01-01  Bruno Haible  <bruno@clisp.org>
72029
72030         Improve support for OpenBSD.
72031         * build-aux/config.rpath (libname_spec): Export.
72032         (library_names_spec): New variable. Export.
72033         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72034         library_names_spec from the config.rpath output. Locate shared library
72035         through the name pattern in library_names_spec.
72036
72037 2007-01-01  Eric Blake  <ebb9@byu.net>
72038
72039         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72040
72041 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72042
72043         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72044         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72045         assume the C locale, and avoid an "eval" that could cause trouble.
72046         Problem with SORT reported by Bob Proulx.
72047
72048         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72049         Define.  Trivial patch from Henning Nielsen Lund, originally
72050         sent to bug-grep@gnu.org today.
72051
72052 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72053
72054         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72055         struct stat.  Problem reported by Henning Nielsen Lund.
72056         * lib/acl.c: Include acl.h first, to check interface.  Don't
72057         bother to include sys/types.h and sys/stat.h again.
72058
72059 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72060
72061         Import the following change from libc; problem reported by
72062         Sven Verdoolaege.
72063
72064         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72065
72066         [BZ #1373]
72067         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72068
72069 2006-12-28  Jim Meyering  <jim@meyering.net>
72070
72071         * build-aux/announce-gen: Do not assume that the package
72072         builds any of tar.gz, tar.bz2, and .xdelta files.
72073         Suggestion from Simon Josefsson.
72074
72075 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72076
72077         * modules/announce-gen: New file.
72078
72079 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72080
72081         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72082         handles its gotchas now.
72083         * lib/mbswidth.c: Likewise.
72084         * lib/wcwidth.h: Likewise.
72085         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72086         and iswcntrl; the wctype module does this stuff now.
72087         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72088         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72089         * modules/mbchar (Depends-on): Add wctype.
72090         * modules/mbswidth (Depends-on): Likewise.
72091         * modules/wcwidth (Depends-on): Likewise.
72092
72093 2006-12-27  Eric Blake  <ebb9@byu.net>
72094
72095         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72096         module uses more than what <wctype.h> is required to provide.
72097
72098 2006-12-26  Eric Blake  <ebb9@byu.net>
72099
72100         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72101
72102 2006-12-26  Eric Blake  <ebb9@byu.net>
72103
72104         * modules/absolute-header: New module.
72105         * modules/fcntl (Depends-on): Depend on it.
72106         * modules/inttypes (Depends-on): Likewise.
72107         * modules/stdint (Depends-on): Likewise.
72108         * modules/sys_stat (Depends-on): Likewise.
72109         * modules/wctype (Depends-on): Likewise.
72110         * MODULES.html.sh (Support for building libraries and
72111         executables): Document it.
72112
72113 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72114
72115         * gnulib-tool (SED): Remove, undoing previous change.
72116         The problem was that it broke coreutils on Solaris, because
72117         "sed --posix" leaked into a makefile.
72118         (sed): New alias, if 'alias' and GNU sed.
72119
72120 2006-12-24  Jim Meyering  <jim@meyering.net>
72121
72122         Work around an fchownat bug in glibc-2.4:
72123         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72124         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72125         in spite of the -P option.
72126         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72127         New macros.
72128         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72129         * modules/openat (Files): Add lib/fchownat.c.
72130         * lib/openat.c (fchownat): Don't define here.  Move to...
72131         * lib/fchownat.c: ...this new file.
72132
72133 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72134
72135         Fix bug reported by Bruno Haible in
72136         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72137         where quotearg.c didn't compile on Mac OS X 10.2 because it
72138         lacks <wchar.h> and wint_t.
72139         * lib/wctype_.h (__wctype_wint_t): New type.
72140         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72141         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72142         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72143         Arg is now of type __wctype_wint_t, not wint_t.
72144         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72145         substitute HAVE_WINT_T.
72146         * modules/wctype (Files): Add m4/wint_t.m4.
72147         (wctype.h): Substitute HAVE_WINT_T.
72148
72149 2006-12-23  Bruno Haible  <bruno@clisp.org>
72150
72151         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72152
72153 2006-12-23  Bruno Haible  <bruno@clisp.org>
72154
72155         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72156         S_ISLNK.
72157         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72158         mingw.
72159
72160 2006-12-22  Bruno Haible  <bruno@clisp.org>
72161
72162         * lib/copy-file.c: Include acl.h.
72163         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72164         Close the file descriptors only after being done with copy_acl.
72165         * modules/copy-file (Depends-on): Add acl.
72166
72167 2006-12-22  Bruno Haible  <bruno@clisp.org>
72168
72169         * gnulib-tool (SED): New variable.
72170         Use $SED instead of sed everywhere.
72171
72172 2006-12-22  Bruno Haible  <bruno@clisp.org>
72173
72174         * modules/no-c++: New file.
72175         * m4/no-c++.m4: New file.
72176         * MODULES.html.sh (Support for building libraries and executables):
72177         Add no-c++.
72178
72179 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72180
72181         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72182         Include <limits.h>, and use its INT_MAX to rewrite the
72183         j loop so that it does not overflow 'int'.  Problem reported by
72184         Ralf Wildenhues in
72185         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72186         Play it safe by shifting left by 1 rather than multiplying by 2,
72187         as GCC is less likely to optimize this away when the value
72188         is signed (when it assumes overflow leads to undefined behavior).
72189         Also, don't assume time_t uses two's complement.
72190
72191 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72192
72193         * MODULES.html.sh: New module wctype.
72194         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72195         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72196         <wctype.h>, since the new wctype module should fix this.
72197         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72198         the wctype module should arrange for it.
72199         * lib/regex_internal.h: Likewise.
72200         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72201         since the wctype module should handle this now.
72202         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72203         * modules/fnmatch (Depends-on): Add wctype.
72204         * modules/quotearg (Depends-on): Likewise.
72205         * modules/regex (Depends-on): Likewise.
72206
72207 2006-12-19  Bruno Haible  <bruno@clisp.org>
72208
72209         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72210         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72211
72212 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72213
72214         * modules/savewd (Depends-on): Fix dependency on fcntl.
72215
72216 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72217
72218         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72219         conforms to C99, rather than relying on the user's environment
72220         setting of STDINT_H.
72221
72222 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72223         and Eric Blake  <ebb9@byu.net>
72224
72225         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72226         This is more consistent with the other defines here.
72227         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72228         Port to z/OS.  Problem reported by Paul Gilmartin.
72229         Change local vars to use gl_ prefix rather than ac_.
72230         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72231         with other defines.
72232         * modules/double-slash-root: New module.
72233         * modules/dirname (Files): Remove m4/double-slash-root.m4.
72234         (Depends-on): Add double-slash-root.
72235         * MODULES.html.sh (File system functions): Mention new module.
72236
72237 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72238
72239         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
72240         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
72241         This is for the benefit of gzip, which doesn't do i18n.
72242
72243 2006-12-12  Jim Meyering  <jim@meyering.net>
72244
72245         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
72246         Reported by Andreas Schwab <schwab@suse.de>.
72247
72248 2006-12-12  Bruno Haible  <bruno@clisp.org>
72249
72250         Merge these changes.
72251         2006-09-05  Bruno Haible  <bruno@clisp.org>
72252         * lib/iconvme.c (iconv_string): No need to save and restore errno when
72253         iconv_alloc succeeded.
72254         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
72255         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72256         test for " && dest " at the end - dest is always != NULL there. Call
72257         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72258         with 2xNULL arguments, also to flush the state storage. Handle the
72259         IRIX iconv behaviour. Realloc the final result, to throw away unused
72260         memory.
72261
72262 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72263
72264         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72265         and fchmodat unconditionally, since glibc 2.4 has them.
72266         Problem reported by Arkadiusz Miskiewicz.
72267
72268 2006-12-10  Bruno Haible  <bruno@clisp.org>
72269
72270         * gnulib-tool (func_import): Show the include files only for those
72271         modules that are copied and specified.
72272         Reported by Karl Berry.
72273
72274 2006-12-08  Jim Meyering  <jim@meyering.net>
72275
72276         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72277         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72278
72279         * build-aux/announce-gen: Add two new options, both optional:
72280         --bootstrap-tools=TOOL_LIST
72281               a comma-separated list of tools, e.g.,
72282               autoconf,automake,bison,gnulib
72283         --gnulib-snapshot-date=DATE
72284               if gnulib is in the bootstrap tool list,
72285               then report this as the snapshot date.
72286               If not specified, use the current date/time.
72287               If you specify a date here, be sure it's UTC.
72288
72289 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72290
72291         * tests/test-argp-2.sh: Fix test to match actual output.
72292         (func_compare): Fix sed script to be portable.
72293
72294 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72295
72296         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72297         workaround for this case.  It is not autoconfigured now; offhand
72298         it's hard to see how to autoconfigure it.
72299
72300 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72301
72302         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72303         a directory that is about to be chowned.  Such a directory's
72304         initial file permissions should permit the owner only and this
72305         should not be changed until after the chown, since the group and
72306         other bits would be incorrect if they granted permission before
72307         the chown.
72308
72309         Fix porting problem for iswctype reported by Georg Schwarz in:
72310         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72311         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72312         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72313         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72314         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72315
72316 2006-12-03  Jim Meyering  <jim@meyering.net>
72317
72318         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72319         p->fts_statp may not yet be defined.
72320         (fts_read): Instead, set it in the caller, once p->fts_statp is
72321         sure to be defined, and corresponds to a top-level directory.
72322         This bug made du -x fail.  Here's the coreutils test case:
72323         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72324         Reported by Mike Frysinger.
72325
72326 2006-12-01  Jim Meyering  <jim@meyering.net>
72327
72328         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72329         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72330         Reported by Simon Josefsson.
72331
72332 2006-11-30  Jim Meyering  <jim@meyering.net>
72333
72334         * m4/warning.m4: Use the all-permissive copyright notice
72335         recommended by RMS (rather than LGPL).
72336         * m4/vararrays.m4: Likewise.
72337         * m4/flexmember.m4: Likewise.
72338
72339 2006-11-29  Bruno Haible  <bruno@clisp.org>
72340
72341         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72342         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72343         using +=.
72344         Reported by Simon Josefsson <simon@josefsson.org>.
72345
72346 2006-11-28  James Youngman <jay@gnu.org>
72347
72348         * README: Advise users that they might find the bug-gnulib@gnu.org
72349         and autotools-announce@gnu.org mailing lists useful.
72350
72351 2006-11-28  Bruno Haible  <bruno@clisp.org>
72352
72353         * m4/ptrdiff_max.m4: Remove file.
72354
72355 2006-11-21  Bruno Haible  <bruno@clisp.org>
72356
72357         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72358         _AC_COMPUTE_INT.
72359         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72360         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72361         _AC_COMPUTE_INT.
72362         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72363         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72364         _AC_COMPUTE_INT.
72365         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72366
72367 2006-11-28  Jim Meyering  <jim@meyering.net>
72368
72369         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72370         warning from "gcc -Wshadow" about shadowing the builtin.
72371
72372 2006-11-27  Bruno Haible  <bruno@clisp.org>
72373
72374         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72375         _AC_COMPUTE_INT.
72376         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72377
72378 2006-11-27  Bruno Haible  <bruno@clisp.org>
72379             Paul Eggert  <eggert@cs.ucla.edu>
72380
72381         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72382
72383 2006-11-26  Bruno Haible  <bruno@clisp.org>
72384
72385         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72386         noinst_LTLIBRARIES.
72387
72388 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72389             Bruno Haible  <bruno@clisp.org>
72390
72391         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72392         if compiling with "gcc -ansi".
72393
72394 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72395
72396         Fix some incompatibilities with gcc -ansi -pedantic.
72397         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72398         if compiling pedantically with GCC, unless it's C99 or later.
72399         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72400         it mishandles gcc -ansi -pedantic as well.
72401         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72402         if gcc -pedantic.
72403         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72404         initializers for struct if -pedantic, unless it's C99 or later.
72405
72406 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72407
72408         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72409         Don't close an fd more than once. Identical atimes indicate
72410         success, not failure.
72411
72412 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72413
72414         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72415
72416 2006-11-23  Jim Meyering  <jim@meyering.net>
72417
72418         * build-aux/announce-gen: New file.  From coreutils.
72419
72420 2006-11-22  Jim Meyering  <jim@meyering.net>
72421
72422         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72423         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72424         (fts_read): Use a temporary to narrow the overused st_size member
72425         before using it in a switch statement.  Reported by Matthew Woehlke.
72426
72427         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72428         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72429
72430 2006-11-20  Bruno Haible  <bruno@clisp.org>
72431
72432         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72433         changequote instead of pairs of brackets.
72434         Reported by Andreas Schwab <schwab@suse.de>.
72435
72436 2006-11-21  Jim Meyering  <jim@meyering.net>
72437
72438         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72439         so as to remain compatible with older compilers.
72440         Patch from Michael Deutschmann.
72441
72442 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72443
72444         * MODULES.html.sh (File system functions): Add openat.
72445
72446         * lib/openat.h (rpl_fstatat): New macro, if
72447         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72448         (fstatat): Define to rpl_fstatat under the same conditions,
72449         unless COMPILING_FSTATAT.
72450         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72451         seems to have the bug.
72452         * lib/fstatat.c: New file.
72453         * modules/openat (Files): Add it.
72454
72455 2006-11-20  Bruno Haible  <bruno@clisp.org>
72456
72457         * Makefile: New file.
72458
72459 2006-11-20  Jim Meyering  <jim@meyering.net>
72460
72461         The beginnings of syntax-related checks for gnulib.
72462         * lib/Makefile: New file.
72463         * lib/t-idcache: New script.  Ensure that the two halves of
72464         idcache.c stay in sync.
72465
72466         * lib/idcache.c: Adjust comments in user- and group- portions to
72467         be more accurate, and to be consistent with one another.
72468
72469 2006-11-20  Jim Meyering  <jim@meyering.net>
72470
72471         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72472         continue using the flexible array member (thus, this module performs
72473         half as many malloc calls), with the addition that...
72474         (getgroup, getuser): Consistently record a non-match via an empty
72475         "name" string, and map an empty string match to a NULL return value.
72476         * modules/idcache (Depends-on): Re-add flexmember.
72477
72478         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72479         (getuidbyname, getgroup, getgidbyname): Likewise.
72480
72481         Use cleaner syntax: NULL rather than 0.
72482         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72483
72484 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72485
72486         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72487         It mishandled the case where the group was missing.
72488         Problem reported by Greg Schafer.
72489         * modules/idcache: Likewise.
72490
72491 2006-11-18  Jim Meyering  <jim@meyering.net>
72492
72493         * check-module (%exempt_header): Add exception for some
72494         conditionally-included headers.
72495
72496         * modules/i-ring (Depends-on): Add verify.
72497         (License): Change to LGPL.
72498
72499 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72500
72501         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72502         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72503         and inttostr.h.  Use snprintf rather than uinttostr, so that
72504         LGPLed code doesn't depend on GPLed.
72505
72506 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72507
72508         * modules/inline (License): Change from GPL to LGPL.
72509
72510 2006-11-17  Jim Meyering  <jim@meyering.net>
72511
72512         * modules/d-type (License): Switch to LGPL.
72513
72514 2006-11-15  Bruno Haible  <bruno@clisp.org>
72515
72516         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72517
72518 2006-11-15  Eric Blake  <ebb9@byu.net>
72519
72520         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72521         the module dependency.
72522
72523 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72524             Bruno Haible  <bruno@clisp.org>
72525
72526         * gnulib-tool (func_create_testdir): Add license consistency check.
72527
72528 2006-11-15  Eric Blake  <ebb9@byu.net>
72529
72530         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72531         random "(cached)" in configure output.
72532
72533 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72534
72535         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72536         test for conforming inttypes.h is both announced and cached.
72537
72538         * MODULES.html.sh (seen_modules, seen_files): New variables.
72539         (func_module): Rewrite to use a few less gnulib-tool and sed
72540         invocations.  Avoid a couple of quadratic algorithms for ...
72541         (missed_modules, missed_files): ... these, with ...
72542         (func_append, func_tmpdir): ... these new functions, from
72543         gnulib-tool.  Analogously, install traps for cleanup.
72544
72545         * tests/test-gc.c (main): Remove unused variables.
72546         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72547
72548 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         * modules/inttostr (License): Change to LGPL.
72551
72552 2006-11-14  Eric Blake  <ebb9@byu.net>
72553
72554         * modules/tempname (License): Change to LGPL.
72555
72556 2006-11-14  Eric Blake  <ebb9@byu.net>
72557
72558         * doc/functions.texi (Function Portability): *printf functions on
72559         Cygwin now understand all POSIX size specifiers.
72560
72561 2006-11-14  Bruno Haible  <bruno@clisp.org>
72562
72563         * modules/c-ctype (License): Change to LGPL.
72564
72565 2006-11-12  Bruno Haible  <bruno@clisp.org>
72566
72567         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
72568         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
72569         for GNOME libraries, for which the include files are installed in
72570         subdirectories of $prefix/include.
72571
72572 2006-11-12  Bruno Haible  <bruno@clisp.org>
72573
72574         * m4/lib-link.m4: Require at least autoconf-2.54.
72575         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
72576         name to underscores for the --with option.
72577
72578 2006-11-13  Bruno Haible  <bruno@clisp.org>
72579
72580         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
72581         the tests directory.
72582         Reported by Ralf Wildenhues.
72583
72584 2006-11-13  Bruno Haible  <bruno@clisp.org>
72585
72586         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
72587         (func_emit_initmacro_end): Undo the override here.
72588         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
72589         Works around the famous automake error in coreutils.
72590
72591 2006-11-13  Eric Blake  <ebb9@byu.net>
72592
72593         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
72594         element, not its node.
72595
72596 2006-11-12  Bruno Haible  <bruno@clisp.org>
72597
72598         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
72599         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
72600
72601 2006-11-12  Bruno Haible  <bruno@clisp.org>
72602
72603         * gnulib-tool: New option --local-symlink.
72604         (func_usage): Document it.
72605         (lsymbolic): New variable.
72606         (func_import, func_create_testdir): If --symlink was not specified,
72607         test whether --local-symlink was specified and the file comes from
72608         the local_gnulib_dir.
72609
72610 2006-11-12  Bruno Haible  <bruno@clisp.org>
72611
72612         * gnulib-tool (func_ln): New function.
72613         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
72614
72615 2006-11-12  Bruno Haible  <bruno@clisp.org>
72616
72617         Finish support for source files in subdirectories.
72618         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
72619         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
72620         AUTOMAKE_OPTIONS.
72621         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
72622
72623 2006-11-12  Bruno Haible  <bruno@clisp.org>
72624
72625         * gnulib-tool (func_get_automake_snippet): Synthesize also an
72626         EXTRA_lib_SOURCES augmentation.
72627         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
72628
72629 2006-11-12  Jim Meyering  <jim@meyering.net>
72630
72631         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
72632         file descriptors.  This also averts a failure on systems with
72633         native openat support when a traversed directory lacks "x" access.
72634         * lib/fts_.h: Include "i-ring.h"
72635         (struct FTS) [fts_fd_ring]: New member.
72636         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
72637         (FCHDIR): Add parentheses.
72638         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
72639         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
72640         When descending, rather than simply closing the previous
72641         fts_cwd_fd value, push that file descriptor onto the ring.
72642         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
72643         (fts_open): Initialize the new fd_ring member.
72644         (fts_close): Clear the ring.
72645         (fts_safe_changedir): When possible, use our new fd_ring to skip
72646         the diropen and fstat and dev/ino comparison that would normally
72647         accompany a virtual `chdir ("..")'.
72648
72649         * modules/fts (Depends-on): Add i-ring.
72650         * modules/i-ring: New module.
72651         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
72652         * m4/i-ring.m4: New file.
72653
72654 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72655
72656         * gnulib-tool (func_create_testdir): Fix replacement of
72657         `build-aux' in configure.ac.  Run autotools in gltests
72658         subdirectory.
72659         (func_create_testdir, func_create_megatestdir, test): There is
72660         no need for '--force' in most autotool invocations in a new
72661         tree.  Actually fail the whole test if any of the tools, or the
72662         configure or make stages fail.
72663
72664         Sync from Automake.
72665         * build-aux/gnupload: Revert last change.  Add pointer to upload
72666         instructions of the GNU Maintenance Instructions.
72667         Suggestion by Karl Berry.
72668
72669 2006-11-10  Jim Meyering  <jim@meyering.net>
72670
72671         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
72672
72673 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72674
72675         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
72676         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
72677         (bind_textdomain_codeset) [! ENABLE_NLS]:
72678         Evaluate all the arguments.  That way, callers get compatible behavior
72679         if the arguments have side effects.  Also, it avoids some GCC
72680         diagnostics in some cases; Joel E. Denny reported problems when Bison
72681         was configured with --enable-gcc-warnigs.
72682
72683 2006-11-10  Jim Meyering  <jim@meyering.net>
72684
72685         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
72686         relevant options in CFLAGS (like -O, -fno-inline) are taken into
72687         account.
72688
72689 2006-11-10  Jim Meyering  <jim@meyering.net>
72690
72691         * modules/inline: New file/module.
72692         * modules/xalloc (Files): Remove m4/inline.m4.
72693         (Depends-on): Add inline, instead.
72694         * modules/oset: Likewise.
72695         * modules/list: Likewise.
72696
72697 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72698
72699         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
72700         Problem reported by Matthew Woehlke.
72701
72702 2006-11-09  Bruno Haible  <bruno@clisp.org>
72703
72704         * lib/tempname.c (gen_tempname): Remove variant that invokes
72705         __gen_tempname.
72706         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
72707         __gen_tempname.
72708
72709 2006-11-08  Bruno Haible  <bruno@clisp.org>
72710
72711         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
72712         to 'yes' instead of 'cross-compiling'.
72713
72714 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
72715
72716         * lib/quotearg.h (quotearg_free): New decl.
72717         * lib/quotearg.c (quotearg_free): New function.
72718         (slot0, nslots, slotvec0, slotvec):
72719         Now file-scope so that quotearg_free can get at them.
72720
72721 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72722
72723         Sync from Automake.
72724         * build-aux/gnupload: Add missing 'gnu' to example URL.
72725         Report by Karl Berry.
72726
72727 2006-11-08  Bruno Haible  <bruno@clisp.org>
72728
72729         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
72730         Suggested by Paul Eggert.
72731
72732 2006-11-08  Jim Meyering  <jim@meyering.net>
72733
72734         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
72735         It's already included if !_LIBC.
72736         (fts_safe_changedir): Add a comment.
72737
72738 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72739
72740         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
72741         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
72742         Matthew Woehlke.
72743
72744         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
72745         definitions up, to avoid colliding with change below.
72746         (static_inline) [HAVE_INLINE]: New macro.
72747         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
72748         Provide extern decls when !HAVE_INLINE.  Do not define unless
72749         static_inline is defined, either by us or by xmalloc.c.  Use
72750         static_inline rather than static inline.
72751         (XCALLOC): Optimize sizeof(T) = 1 case.
72752         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
72753
72754 2006-11-07  Bruno Haible  <bruno@clisp.org>
72755
72756         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
72757         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
72758         AC_C_INLINE.
72759         * modules/xalloc (Files): Add m4/inline.m4.
72760
72761 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72762
72763         * README: Fix typo.
72764         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
72765         (Miscellanous Notes): ...from this.
72766
72767 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72768
72769         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72770         Mention that offsetof should be used instead of sizeof.
72771         From Bruno Haible.
72772
72773 2006-11-07  Bruno Haible  <bruno@clisp.org>
72774
72775         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72776
72777 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72778
72779         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72780         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72781         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72782         (gl_tree_add_before, gl_tree_add_after):
72783         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72784         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72785         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72786         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72787         (gl_linked_add_after, gl_linked_add_at): Likewise.
72788         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72789         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72790         (gl_tree_add_before, gl_tree_add_after): Likewise.
72791         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72792         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72793         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72794
72795 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72796
72797         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72798
72799 2006-11-06  Bruno Haible  <bruno@clisp.org>
72800
72801         * m4/inline.m4: New file.
72802         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72803         * modules/list (Files): Add m4/inline.m4.
72804         * modules/oset (Files): Likewise.
72805
72806 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72807
72808         * lib/idcache.c: Include <stddef.h>, for offsetof.
72809         (struct userid.name): Change from char * to a flexible array member.
72810         All uses changed.
72811         * modules/idcache (Depends-on): Add flexmember.
72812
72813         * MODULES.html.sh (Core language properties): New module flexmember.
72814         * modules/flexmember, m4/flexmember.m4: New files.
72815
72816         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72817         inline functions that are identical with the old xnmalloc_inline,
72818         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72819         that we can avoid some unnecessary integer multiplications and
72820         divisions in the common case where the element size is known at
72821         compile time.
72822         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72823         needed.
72824         (xnboundedmalloc): Remove.
72825         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72826         arguments, for consistency with rest of this header.
72827         (xcharalloc): Rewrite using XNMALLOC.
72828         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72829         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72830         versions have been moved to lib/xalloc.h and renamed to be the
72831         non-*_inline versions.
72832         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72833         and xnrealloc functions, since those functions are now inline and
72834         now call us.
72835         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72836         renaming described above.
72837         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72838         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72839         captures the dependency in AC_C_INLINE.
72840
72841         New module canonicalize-lgpl, proposed by Charles Wilson in
72842         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72843         with a few small changes afterwards.
72844         * MODULES.html.sh (File system functions): New module
72845         canonicalize-lgpl.
72846         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72847         and canonicalize_file_name.
72848         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72849         * modules/canonicalize-lgpl: New files.
72850
72851 2006-11-05  Bruno Haible  <bruno@clisp.org>
72852
72853         * gnulib-tool (func_import, func_create_testdir): Create directories
72854         also for files in subdirectories of lib/.
72855
72856 2006-11-05  Bruno Haible  <bruno@clisp.org>
72857
72858         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72859         ANSI C compliant.
72860
72861 2006-11-03  Bruno Haible  <bruno@clisp.org>
72862
72863         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72864         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72865         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72866         (xnboundedmalloc): New inline function.
72867         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72868         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72869         xmalloc.
72870         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72871         xmalloc.
72872         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72873         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72874         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72875         xmalloc.
72876         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72877         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72878         xmalloc.
72879         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72880         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72881         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72882         xmalloc.
72883         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72884         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72885         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72886         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72887         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72888         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72889         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72890
72891 2006-11-03  Bruno Haible  <bruno@clisp.org>
72892
72893         * lib/c-ctype.h [C++]: Define functions without name mangling.
72894         * lib/fwriteerror.h [C++]: Likewise.
72895         * lib/gcd.h [C++]: Likewise.
72896         * lib/linebreak.h [C++]: Likewise.
72897
72898 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72899
72900         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72901         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72902         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72903         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72904         Check for functions and headers just once.
72905         Check for declaration of canonicalize_file_name.
72906         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72907
72908 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72909
72910         * gnulib-tool (func_import): Fix typo in actioncmd.
72911
72912 2006-11-02  Bruno Haible  <bruno@clisp.org>
72913
72914         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72915         newline sequence in the Makefile.am snippet as a space, like "make"
72916         does.
72917         Reported by Roger Persson <perrog@gmail.com>.
72918
72919 2006-11-01  Bruno Haible  <bruno@clisp.org>
72920
72921         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72922         already declared in <string.h>.
72923         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72924
72925 2006-11-01  Bruno Haible  <bruno@clisp.org>
72926
72927         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72928         * lib/strcase.h: Include <string.h>.
72929         (strcasecmp): Define to rpl_strcasecmp here.
72930
72931 2006-11-01  Bruno Haible  <bruno@clisp.org>
72932
72933         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72934
72935 2006-11-01  Eric Blake  <ebb9@byu.net>
72936
72937         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72938
72939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72940
72941 2006-10-29  Bruno Haible  <bruno@clisp.org>
72942
72943         Make it compile in C++ mode.
72944         * lib/full-write.c (full_rw): Add a cast.
72945
72946 2006-11-01  Bruno Haible  <bruno@clisp.org>
72947
72948         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72949         be POSIX compliant.
72950         Reported by Roger Persson <perrog@gmail.com>.
72951
72952 2006-11-01  Eric Blake  <ebb9@byu.net>
72953
72954         * lib/getopt_.h: Fix comments.
72955
72956 2006-10-31  Eric Blake  <ebb9@byu.net>
72957
72958         * modules/tmpdir (Depends-on): Add sys_stat.
72959         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72960         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72961         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72962         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72963         tempname.
72964
72965 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72966
72967         Avoid some C++ diagnostics reported by Bruno Haible.
72968         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72969         xmalloc.
72970         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72971         (struct slotvec): Move to top level.
72972         (quotearg_n_options): Rewrite to avoid xmalloc.
72973         * lib/xalloc.h (xcharalloc): New function.
72974         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72975         [defined __cplusplus]: Add function template that provides result
72976         type propagation.  This part of the change is from Bruno Haible.
72977
72978 2006-10-29  Bruno Haible  <bruno@clisp.org>
72979
72980         Make it compile in C++ mode.
72981         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72982         * lib/strnlen1.c (strnlen1): Cast memchr result.
72983         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72984         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72985         (create_temp_dir): Rename local variable 'template'.
72986         (compile_csharp_using_sscli): Add cast.
72987         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72988         * lib/findprog.c (find_in_path): Likewise.
72989         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72990         * lib/wait-process.c (register_slave_subprocess): Likewise.
72991
72992 2006-10-22  Bruno Haible  <bruno@clisp.org>
72993
72994         * modules/tsearch: New file.
72995         * lib/tsearch.h: New file.
72996         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72997         * m4/tsearch.m4: New file.
72998         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72999
73000 2006-10-29  Eric Blake  <ebb9@byu.net>
73001
73002         * lib/arcfour.c: Assume config.h.
73003         * lib/arctwo.c: Likewise.
73004         * lib/base64.c: Likewise.
73005         * lib/check-version.c: Likewise.
73006         * lib/crc.c: Likewise.
73007         * lib/des.c: Likewise.
73008         * lib/gc-gnulib.c: Likewise.
73009         * lib/gc-libgcrypt.c: Likewise.
73010         * lib/gc-pbkdf2-sha1.c: Likewise.
73011         * lib/getaddrinfo.c: Likewise.
73012         * lib/getdelim.c: Likewise.
73013         * lib/getline.c: Likewise.
73014         * lib/hmac-md5.c: Likewise.
73015         * lib/hmac-sha1.c: Likewise.
73016         * lib/iconvme.c: Likewise.
73017         * lib/md2.c: Likewise.
73018         * lib/md4.c: Likewise.
73019         * lib/memxor.c: Likewise.
73020         * lib/read-file.c: Likewise.
73021         * lib/readline.c: Likewise.
73022         * lib/rijndael-alg-fst.c: Likewise.
73023         * lib/rijndael-api-fst.c: Likewise.
73024         * lib/xgetdomainname.c: Likewise.
73025
73026 2006-10-28  Eric Blake  <ebb9@byu.net>
73027
73028         * lib/xstrndup.c: Assume config.h.
73029
73030 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73031
73032         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73033         stat-macros.h is now for our own macros, whereas stat_h is for
73034         macros in the <sys/stat.h> name space.
73035         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73036         (STAT_MACROS_H): Remove.
73037         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73038         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73039         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73040         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73041         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73042         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73043         Move these macros to ...
73044         * lib/stat_.h: here.  Don't include stat-macros.h.
73045         * lib/canonicalize.c: Don't include stat-macros.h.
73046         * lib/chown.c: Likewise.
73047         * lib/euidaccess.c: Likewise.
73048         * lib/file-type.c: Likewise.
73049         * lib/filemode.c: Likewise.
73050         * lib/glob.c: Likewise.
73051         * lib/isapipe.c: Likewise.
73052         * lib/lchown.c: Likewise.
73053         * lib/lstat.c: Likewise.
73054         * lib/mkdir-p.c: Likewise.
73055         * lib/rmdir.c: Likewise.
73056         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73057         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73058         unless mkdir isn't declared, to speed up 'configure'.
73059         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73060         would define all the S_* symbols.
73061         * modules/canonicalize (Depends-on):
73062         Depend on sys_stat, not stat-macros.
73063         * modules/chown: Likewise.
73064         * modules/euidaccess: Likewise.
73065         * modules/filemode: Likewise.
73066         * modules/file-type: Likewise.
73067         * modules/glob: Likewise.
73068         * modules/isapipe: Likewise.
73069         * modules/lchown: Likewise.
73070         * modules/lstat: Likewise.
73071         * modules/mkancesdirs: Likewise.
73072         * modules/rmdir: Likewise.
73073         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73074         * modules/modechange: Likewise.
73075         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73076         (configure.ac): Remove gl_STAT_MACROS.
73077         * modules/sys_stat (Depends-on): Remove stat-macros.
73078
73079 2006-10-27  Bruno Haible  <bruno@clisp.org>
73080
73081         * m4/signed.m4: Remove file.
73082         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73083         invocation.
73084         * modules/vasnprintf (Files): Remove m4/signed.m4.
73085
73086 2006-10-27  Bruno Haible  <bruno@clisp.org>
73087
73088         Update to GNU gettext 0.16.
73089         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73090         m4/inttypes-h.m4, m4/signed.m4.
73091         * m4/gettext.m4: Update to GNU gettext 0.16.
73092         * m4/intl.m4: New file, from GNU gettext.
73093         * m4/intldir.m4: New file, from GNU gettext.
73094         * config/srclist.txt: Update
73095
73096 2006-10-27  Eric Blake  <ebb9@byu.net>
73097
73098         * MODULES.html.sh: Document tempname.
73099         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73100         dependencies.
73101         (Files): Move lib/tempname.c...
73102         * modules/tempname: ...to this new module.
73103         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73104         (gl_PREREQ_TEMPNAME): Move...
73105         * m4/tempname.m4: ...to this new file.
73106         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73107         * modules/sys_stat (Depends-on): Add stat-macros.
73108         * lib/stat_.h (includes): Pick up stat macros.
73109         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73110         if stat macros are broken.
73111         * lib/tempname.c (includes): No need to include "stat-macros.h".
73112         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73113         (direxists, __path_search) [!_LIBC]: Don't compile these in
73114         gnulib; the tmpdir module covers that.
73115         * lib/tempname.h: New file.
73116
73117 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73118
73119         * COPYING: Explain how gnulib-tool converts licence headers.
73120         Almost all wording by Eric Blake.
73121
73122 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73123
73124         * lib/mbchar.h (is_basic_table): Make read-only.
73125         * lib/mbchar.c (is_basic_table): Likewise.
73126         Reported by John Darrington.
73127
73128 2006-10-25  Bruno Haible  <bruno@clisp.org>
73129
73130         * lib/progname.h (set_program_name): Undefine before defining.
73131
73132 2006-10-25  Bruno Haible  <bruno@clisp.org>
73133
73134         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73135         false for non-gcc C++ compilers.
73136         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73137
73138 2006-10-24  Bruno Haible  <bruno@clisp.org>
73139
73140         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73141         iconv implementations like Irix iconv.
73142
73143 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         * modules/vararrays: New file.
73146         * m4/vararrays.m4: New file, taken from diffutils.
73147         * MODULES.html.sh: New module vararrays.
73148
73149 2006-10-24  Karl Berry  <karl@gnu.org>
73150
73151         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73152         Don't call GNU Unix.
73153
73154 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73155
73156         * users.txt: Add Libtool.
73157
73158         Sync from Libtool:
73159
73160         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73161
73162         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73163         to gnulib's policy of including config.h unconditionally.
73164
73165 2006-10-24  Bruno Haible  <bruno@clisp.org>
73166
73167         * modules/wcwidth (Files): Add m4/wint_t.m4.
73168         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73169         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73170
73171 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73172
73173         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73174         to pacify GCC with some -W flags enabled.  Problem reported by
73175         Bruno Haible.
73176
73177 2006-10-24  Jim Meyering  <jim@meyering.net>
73178
73179         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73180         Reported by Karl Berry.
73181
73182 2006-10-23  Bruno Haible  <bruno@clisp.org>
73183
73184         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73185
73186 2006-10-24  Bruno Haible  <bruno@clisp.org>
73187
73188         * lib/gl_list.h: Use C comment style, not C++ comment style.
73189
73190 2006-10-23  Eric Blake  <ebb9@byu.net>
73191
73192         * lib/getaddrinfo.c (includes): Add missing include.
73193
73194 2006-10-23  Bruno Haible  <bruno@clisp.org>
73195             Paul Eggert  <eggert@cs.ucla.edu>
73196
73197         Ability to rename obstack_free.
73198         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73199         obstack_free.
73200         (obstack_free): Invoke the __obstack_free macro.
73201         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73202
73203 2006-10-23  Bruno Haible  <bruno@clisp.org>
73204             Paul Eggert  <eggert@cs.ucla.edu>
73205
73206         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73207         __argc, __argv from the declaration. (They are defined as macros on
73208         mingw.)
73209
73210 2006-10-22  Bruno Haible  <bruno@clisp.org>
73211
73212         * doc/gnulib-intro.texi: New file.
73213         * doc/gnulib.texi: Include it.
73214
73215 2006-10-21  Bruno Haible  <bruno@clisp.org>
73216
73217         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73218         "Introduction", "Miscellanous Notes", "Particular Modules".
73219
73220 2006-10-21  Bruno Haible  <bruno@clisp.org>
73221
73222         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73223         Change mostlyclean-local rule to avoid sh syntax error from bash
73224         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73225
73226 2006-10-23  Jim Meyering  <jim@meyering.net>
73227
73228         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73229         in place of snprintf.
73230
73231         * modules/inttostr (Files): Add lib/uinttostr.c.
73232         * lib/uinttostr.c (inttostr): New file/function.
73233         * lib/inttostr.h (uinttostr): Declare.
73234         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
73235         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73236         Add uinttostr.
73237         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
73238
73239 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73240
73241         * lib/canonicalize.c (ELOOP): Define if not already defined.
73242         Problem reported by Bruno Haible in
73243         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
73244
73245 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73246
73247         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
73248         Problem reported by Perry Smith and Ville Laurikari.
73249
73250         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
73251         uses.
73252
73253 2006-10-19  Bruno Haible  <bruno@clisp.org>
73254
73255         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73256         for mingw.
73257
73258 2006-10-19  Bruno Haible  <bruno@clisp.org>
73259
73260         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73261         Needed for mingw.
73262
73263 2006-10-19  Bruno Haible  <bruno@clisp.org>
73264
73265         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73266
73267 2006-10-19  Bruno Haible  <bruno@clisp.org>
73268
73269         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73270         it.
73271
73272 2006-10-19  Bruno Haible  <bruno@clisp.org>
73273
73274         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73275         invocation.
73276
73277 2006-10-19  Bruno Haible  <bruno@clisp.org>
73278
73279         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73280         mountlist by default.
73281
73282 2006-10-16  Bruno Haible  <bruno@clisp.org>
73283
73284         * lib/c-strstr.c: Include c-strstr.h.
73285
73286 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73287
73288         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73289         in a slash.
73290
73291 2006-10-18  Bruno Haible  <bruno@clisp.org>
73292
73293         * lib/lock.h [C++]: Wrap definitions in extern "C".
73294
73295 2006-10-18  Bruno Haible  <bruno@clisp.org>
73296
73297         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73298         gl_LIBOBJS list.
73299
73300 2006-10-18  Bruno Haible  <bruno@clisp.org>
73301
73302         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73303
73304 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73305
73306         * lib/xstrtol.h: Include gettext.h.
73307         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73308         Problem reported by Eric Blake.
73309         * modules/xstrtol (Depends-on): Add gettext-h.
73310
73311 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73312
73313         * lib/strftime.c (advance): New macro.
73314         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73315         incomplete type, so you can't add 0 to it.  Problem and patch
73316         reported by Eelco Dolstra for dietlibc.
73317
73318 2006-10-18  Jim Meyering  <jim@meyering.net>
73319
73320         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73321         type for a local, and rename it: s/up/user_proc/.
73322
73323 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73324
73325         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73326         READ_UTMP_USER_PROCESS.
73327         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73328
73329 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73330
73331         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73332         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73333
73334 2006-10-17  Eric Blake  <ebb9@byu.net>
73335
73336         * lib/sigprocmask.c (sigprocmask): Fix typo.
73337
73338         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73339
73340         * modules/clean-temp (Makefile.am): Don't add to make output...
73341         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73342         config.h.
73343
73344 2006-10-17  Bruno Haible  <bruno@clisp.org>
73345
73346         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73347         differently if DEFAULT_TEXT_DOMAIN is set.
73348
73349 2006-10-16  Bruno Haible  <bruno@clisp.org>
73350
73351         * lib/clean-temp.c: Include fwriteerror.h.
73352
73353 2006-10-16  Bruno Haible  <bruno@clisp.org>
73354
73355         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73356
73357 2006-10-16  Bruno Haible  <bruno@clisp.org>
73358
73359         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73360         * lib/sigprocmask.h: Include <sys/types.h>.
73361         (sigset_t): Use the system's definition if present.
73362
73363 2006-10-17  Eric Blake  <ebb9@byu.net>
73364
73365         * lib/xvasprintf.c (includes): Assume config.h.
73366         * lib/xasprintf.c (includes): Likewise.
73367
73368 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73369
73370         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73371         at least as wide as intmax_t.
73372
73373 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73374
73375         (Imported from Automake.)
73376         * build-aux/gnupload: Update to version 1.1 of directive file.
73377
73378 2006-10-16  Eric Blake  <ebb9@byu.net>
73379
73380         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73381         match Automake 1.10a.
73382
73383 2006-10-14  Bruno Haible  <bruno@clisp.org>
73384
73385         * modules/sigprocmask: New file.
73386         * lib/sigprocmask.h: New file.
73387         * lib/sigprocmask.c: New file.
73388         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73389         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73390         request sigprocmask.o.
73391         (gl_PREREQ_SIGPROCMASK): New macro.
73392         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73393         (Depends-on): Add sigprocmask.
73394         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73395         gt_SIGNALBLOCKING. Test for 'raise' only once.
73396         * lib/fatal-signal.c: Include sigprocmask.h.
73397         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73398         unblock_fatal_signals): Define always.
73399         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73400         sigprocmask.
73401
73402 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73403
73404         Sync from Automake.
73405         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73406         which incorrectly sets the mode of an existing destination
73407         directory.  In some cases the unpatched install-sh could do the
73408         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73409         system.  We hope this is rare in practice, but it's clearly worth
73410         fixing.  Problem reported by Alex Unleashed in
73411         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73412         Also, don't bother to check for -m bugs unless we're using -m;
73413         suggested by Stepan Kasal.
73414
73415 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73416
73417         Sync from Automake.
73418         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73419         `-c' flag, so they appear at the same position as in %FASTDEP%
73420         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73421         which ignores unknown options only after the first non-option.
73422         Bug report against M4 by Nelson H. F. Beebe.
73423
73424 2006-10-13  Jim Meyering  <jim@meyering.net>
73425
73426         Fix a bug in yesterday's change.
73427         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73428         p->fts_statp->st_dev would be used uninitialized.
73429         Ensures that we always call fts_stat on the very first entry.
73430         Miklos Szeredi reported that find -xdev stopped working.
73431
73432 2006-10-12  Bruno Haible  <bruno@clisp.org>
73433
73434         * gnulib-tool (func_get_automake_snippet): Append an automatically
73435         computed EXTRA_DIST augmentation.
73436         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73437         * modules/alloca-opt (Makefile.am): Likewise.
73438         * modules/allocsa (Makefile.am): Likewise.
73439         * modules/arcfour (Makefile.am): Likewise.
73440         * modules/arctwo (Makefile.am): Likewise.
73441         * modules/argmatch (Makefile.am): Likewise.
73442         * modules/argz (Makefile.am): Likewise.
73443         * modules/atexit (Makefile.am): Likewise.
73444         * modules/backupfile (Makefile.am): Likewise.
73445         * modules/byteswap (Makefile.am): Likewise.
73446         * modules/c-strtod (Makefile.am): Likewise.
73447         * modules/c-strtold (Makefile.am): Likewise.
73448         * modules/calloc (Makefile.am): Likewise.
73449         * modules/canon-host (Makefile.am): Likewise.
73450         * modules/canonicalize (Makefile.am): Likewise.
73451         * modules/chdir-long (Makefile.am): Likewise.
73452         * modules/chdir-safer (Makefile.am): Likewise.
73453         * modules/check-version (Makefile.am): Likewise.
73454         * modules/chown (Makefile.am): Likewise.
73455         * modules/cloexec (Makefile.am): Likewise.
73456         * modules/close-stream (Makefile.am): Likewise.
73457         * modules/closeout (Makefile.am): Likewise.
73458         * modules/crc (Makefile.am): Likewise.
73459         * modules/csharpexec (Makefile.am): Likewise.
73460         * modules/cycle-check (Makefile.am): Likewise.
73461         * modules/des (Makefile.am): Likewise.
73462         * modules/dev-ino (Makefile.am): Likewise.
73463         * modules/dirfd (Makefile.am): Likewise.
73464         * modules/dirname (Makefile.am): Likewise.
73465         * modules/dup2 (Makefile.am): Likewise.
73466         * modules/eealloc (Makefile.am): Likewise.
73467         * modules/error (Makefile.am): Likewise.
73468         * modules/euidaccess (Makefile.am): Likewise.
73469         * modules/exclude (Makefile.am): Likewise.
73470         * modules/exitfail (Makefile.am): Likewise.
73471         * modules/fcntl-safer (Makefile.am): Likewise.
73472         * modules/fcntl (Makefile.am): Likewise.
73473         * modules/file-type (Makefile.am): Likewise.
73474         * modules/fileblocks (Makefile.am): Likewise.
73475         * modules/filemode (Makefile.am): Likewise.
73476         * modules/filenamecat (Makefile.am): Likewise.
73477         * modules/fnmatch (Makefile.am): Likewise.
73478         * modules/fopen-safer (Makefile.am): Likewise.
73479         * modules/fpending (Makefile.am): Likewise.
73480         * modules/fprintftime (Makefile.am): Likewise.
73481         * modules/free (Makefile.am): Likewise.
73482         * modules/fsusage (Makefile.am): Likewise.
73483         * modules/ftruncate (Makefile.am): Likewise.
73484         * modules/fts (Makefile.am): Likewise.
73485         * modules/gc-arcfour (Makefile.am): Likewise.
73486         * modules/gc-des (Makefile.am): Likewise.
73487         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73488         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73489         * modules/gc-md4 (Makefile.am): Likewise.
73490         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73491         * modules/gc-sha1 (Makefile.am): Likewise.
73492         * modules/gc (Makefile.am): Likewise.
73493         * modules/getaddrinfo (Makefile.am): Likewise.
73494         * modules/getcwd (Makefile.am): Likewise.
73495         * modules/getdelim (Makefile.am): Likewise.
73496         * modules/getdomainname (Makefile.am): Likewise.
73497         * modules/getgroups (Makefile.am): Likewise.
73498         * modules/gethostname (Makefile.am): Likewise.
73499         * modules/gethrxtime (Makefile.am): Likewise.
73500         * modules/getline (Makefile.am): Likewise.
73501         * modules/getloadavg (Makefile.am): Likewise.
73502         * modules/getlogin_r (Makefile.am): Likewise.
73503         * modules/getndelim2 (Makefile.am): Likewise.
73504         * modules/getopt (Makefile.am): Likewise.
73505         * modules/getpagesize (Makefile.am): Likewise.
73506         * modules/getpass-gnu (Makefile.am): Likewise.
73507         * modules/getpass (Makefile.am): Likewise.
73508         * modules/getsubopt (Makefile.am): Likewise.
73509         * modules/gettime (Makefile.am): Likewise.
73510         * modules/gettimeofday (Makefile.am): Likewise.
73511         * modules/getugroups (Makefile.am): Likewise.
73512         * modules/getusershell (Makefile.am): Likewise.
73513         * modules/glob (Makefile.am): Likewise.
73514         * modules/group-member (Makefile.am): Likewise.
73515         * modules/hard-locale (Makefile.am): Likewise.
73516         * modules/hash (Makefile.am): Likewise.
73517         * modules/hmac-md5 (Makefile.am): Likewise.
73518         * modules/hmac-sha1 (Makefile.am): Likewise.
73519         * modules/human (Makefile.am): Likewise.
73520         * modules/idcache (Makefile.am): Likewise.
73521         * modules/imaxabs (Makefile.am): Likewise.
73522         * modules/imaxdiv (Makefile.am): Likewise.
73523         * modules/inet_ntop (Makefile.am): Likewise.
73524         * modules/inet_pton (Makefile.am): Likewise.
73525         * modules/intprops (Makefile.am): Likewise.
73526         * modules/inttostr (Makefile.am): Likewise.
73527         * modules/inttypes (Makefile.am): Likewise.
73528         * modules/isapipe (Makefile.am): Likewise.
73529         * modules/javaversion (Makefile.am): Likewise.
73530         * modules/lchmod (Makefile.am): Likewise.
73531         * modules/lchown (Makefile.am): Likewise.
73532         * modules/localcharset (Makefile.am): Likewise.
73533         * modules/long-options (Makefile.am): Likewise.
73534         * modules/lstat (Makefile.am): Likewise.
73535         * modules/malloc (Makefile.am): Likewise.
73536         * modules/mathl (Makefile.am): Likewise.
73537         * modules/mbchar (Makefile.am): Likewise.
73538         * modules/md2 (Makefile.am): Likewise.
73539         * modules/md4 (Makefile.am): Likewise.
73540         * modules/md5 (Makefile.am): Likewise.
73541         * modules/memcasecmp (Makefile.am): Likewise.
73542         * modules/memchr (Makefile.am): Likewise.
73543         * modules/memcmp (Makefile.am): Likewise.
73544         * modules/memcoll (Makefile.am): Likewise.
73545         * modules/memcpy (Makefile.am): Likewise.
73546         * modules/memmem (Makefile.am): Likewise.
73547         * modules/memmove (Makefile.am): Likewise.
73548         * modules/mempcpy (Makefile.am): Likewise.
73549         * modules/memrchr (Makefile.am): Likewise.
73550         * modules/memset (Makefile.am): Likewise.
73551         * modules/memxor (Makefile.am): Likewise.
73552         * modules/mkancesdirs (Makefile.am): Likewise.
73553         * modules/mkdir-p (Makefile.am): Likewise.
73554         * modules/mkdir (Makefile.am): Likewise.
73555         * modules/mkdtemp (Makefile.am): Likewise.
73556         * modules/mkstemp (Makefile.am): Likewise.
73557         * modules/mktime (Makefile.am): Likewise.
73558         * modules/modechange (Makefile.am): Likewise.
73559         * modules/mountlist (Makefile.am): Likewise.
73560         * modules/nanosleep (Makefile.am): Likewise.
73561         * modules/obstack (Makefile.am): Likewise.
73562         * modules/openat (Makefile.am): Likewise.
73563         * modules/pagealign_alloc (Makefile.am): Likewise.
73564         * modules/pathmax (Makefile.am): Likewise.
73565         * modules/physmem (Makefile.am): Likewise.
73566         * modules/poll (Makefile.am): Likewise.
73567         * modules/posixtm (Makefile.am): Likewise.
73568         * modules/posixver (Makefile.am): Likewise.
73569         * modules/putenv (Makefile.am): Likewise.
73570         * modules/quote (Makefile.am): Likewise.
73571         * modules/quotearg (Makefile.am): Likewise.
73572         * modules/raise (Makefile.am): Likewise.
73573         * modules/read-file (Makefile.am): Likewise.
73574         * modules/readline (Makefile.am): Likewise.
73575         * modules/readlink (Makefile.am): Likewise.
73576         * modules/readtokens (Makefile.am): Likewise.
73577         * modules/readutmp (Makefile.am): Likewise.
73578         * modules/realloc (Makefile.am): Likewise.
73579         * modules/regex (Makefile.am): Likewise.
73580         * modules/rename-dest-slash (Makefile.am): Likewise.
73581         * modules/rename (Makefile.am): Likewise.
73582         * modules/rijndael (Makefile.am): Likewise.
73583         * modules/rmdir (Makefile.am): Likewise.
73584         * modules/rpmatch (Makefile.am): Likewise.
73585         * modules/safe-read (Makefile.am): Likewise.
73586         * modules/safe-write (Makefile.am): Likewise.
73587         * modules/same-inode (Makefile.am): Likewise.
73588         * modules/same (Makefile.am): Likewise.
73589         * modules/save-cwd (Makefile.am): Likewise.
73590         * modules/savedir (Makefile.am): Likewise.
73591         * modules/setenv (Makefile.am): Likewise.
73592         * modules/settime (Makefile.am): Likewise.
73593         * modules/sha1 (Makefile.am): Likewise.
73594         * modules/sig2str (Makefile.am): Likewise.
73595         * modules/snprintf (Makefile.am): Likewise.
73596         * modules/stat-macros (Makefile.am): Likewise.
73597         * modules/stat-time (Makefile.am): Likewise.
73598         * modules/stdbool (Makefile.am): Likewise.
73599         * modules/stdint (Makefile.am): Likewise.
73600         * modules/stdlib-safer (Makefile.am): Likewise.
73601         * modules/stpcpy (Makefile.am): Likewise.
73602         * modules/stpncpy (Makefile.am): Likewise.
73603         * modules/strcase (Makefile.am): Likewise.
73604         * modules/strcasestr (Makefile.am): Likewise.
73605         * modules/strchrnul (Makefile.am): Likewise.
73606         * modules/strcspn (Makefile.am): Likewise.
73607         * modules/strdup (Makefile.am): Likewise.
73608         * modules/strerror (Makefile.am): Likewise.
73609         * modules/strftime (Makefile.am): Likewise.
73610         * modules/strndup (Makefile.am): Likewise.
73611         * modules/strnlen (Makefile.am): Likewise.
73612         * modules/strpbrk (Makefile.am): Likewise.
73613         * modules/strsep (Makefile.am): Likewise.
73614         * modules/strstr (Makefile.am): Likewise.
73615         * modules/strtod (Makefile.am): Likewise.
73616         * modules/strtoimax (Makefile.am): Likewise.
73617         * modules/strtok_r (Makefile.am): Likewise.
73618         * modules/strtol (Makefile.am): Likewise.
73619         * modules/strtoll (Makefile.am): Likewise.
73620         * modules/strtoul (Makefile.am): Likewise.
73621         * modules/strtoull (Makefile.am): Likewise.
73622         * modules/strtoumax (Makefile.am): Likewise.
73623         * modules/strverscmp (Makefile.am): Likewise.
73624         * modules/sys_socket (Makefile.am): Likewise.
73625         * modules/sys_stat (Makefile.am): Likewise.
73626         * modules/sysexits (Makefile.am): Likewise.
73627         * modules/time_r (Makefile.am): Likewise.
73628         * modules/timegm (Makefile.am): Likewise.
73629         * modules/timespec (Makefile.am): Likewise.
73630         * modules/tmpfile-safer (Makefile.am): Likewise.
73631         * modules/trim (Makefile.am): Likewise.
73632         * modules/unistd-safer (Makefile.am): Likewise.
73633         * modules/unlinkdir (Makefile.am): Likewise.
73634         * modules/unlocked-io (Makefile.am): Likewise.
73635         * modules/userspec (Makefile.am): Likewise.
73636         * modules/utime (Makefile.am): Likewise.
73637         * modules/utimecmp (Makefile.am): Likewise.
73638         * modules/utimens (Makefile.am): Likewise.
73639         * modules/vasnprintf (Makefile.am): Likewise.
73640         * modules/vasprintf (Makefile.am): Likewise.
73641         * modules/vsnprintf (Makefile.am): Likewise.
73642         * modules/xalloc (Makefile.am): Likewise.
73643         * modules/xgetcwd (Makefile.am): Likewise.
73644         * modules/xnanosleep (Makefile.am): Likewise.
73645         * modules/xreadlink (Makefile.am): Likewise.
73646         * modules/xstrtod (Makefile.am): Likewise.
73647         * modules/xstrtol (Makefile.am): Likewise.
73648         * modules/xstrtold (Makefile.am): Likewise.
73649         * modules/yesno (Makefile.am): Likewise.
73650         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
73651
73652 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73653
73654         * modules/error (Makefile.am): Distribute files through
73655         EXTRA_DIST, not lib_SOURCES.
73656
73657 2006-10-12  Eric Blake  <ebb9@byu.net>
73658
73659         * modules/error (Makefile.am): Distribute files in /lib.
73660         * modules/obstack (Makefile.am): Likewise.
73661
73662 2006-10-12  Bruno Haible  <bruno@clisp.org>
73663
73664         * modules/acl (Makefile.am): Distribute all files in lib/ through
73665         EXTRA_DIST.
73666         * modules/arcfour (Makefile.am): Likewise.
73667         * modules/arctwo (Makefile.am): Likewise.
73668         * modules/argmatch (Makefile.am): Likewise.
73669         * modules/argz (Makefile.am): Likewise.
73670         * modules/atexit (Makefile.am): Likewise.
73671         * modules/backupfile (Makefile.am): Likewise.
73672         * modules/c-strtod (Makefile.am): Likewise.
73673         * modules/c-strtold (Makefile.am): Likewise.
73674         * modules/calloc (Makefile.am): Likewise.
73675         * modules/canon-host (Makefile.am): Likewise.
73676         * modules/canonicalize (Makefile.am): Likewise.
73677         * modules/chdir-long (Makefile.am): Likewise.
73678         * modules/chdir-safer (Makefile.am): Likewise.
73679         * modules/check-version (Makefile.am): Likewise.
73680         * modules/chown (Makefile.am): Likewise.
73681         * modules/cloexec (Makefile.am): Likewise.
73682         * modules/close-stream (Makefile.am): Likewise.
73683         * modules/closeout (Makefile.am): Likewise.
73684         * modules/crc (Makefile.am): Likewise.
73685         * modules/cycle-check (Makefile.am): Likewise.
73686         * modules/des (Makefile.am): Likewise.
73687         * modules/dirfd (Makefile.am): Likewise.
73688         * modules/dirname (Makefile.am): Likewise.
73689         * modules/dup2 (Makefile.am): Likewise.
73690         * modules/euidaccess (Makefile.am): Likewise.
73691         * modules/exclude (Makefile.am): Likewise.
73692         * modules/exitfail (Makefile.am): Likewise.
73693         * modules/fcntl-safer (Makefile.am): Likewise.
73694         * modules/file-type (Makefile.am): Likewise.
73695         * modules/fileblocks (Makefile.am): Likewise.
73696         * modules/filemode (Makefile.am): Likewise.
73697         * modules/filenamecat (Makefile.am): Likewise.
73698         * modules/fnmatch (Makefile.am): Likewise.
73699         * modules/fopen-safer (Makefile.am): Likewise.
73700         * modules/fpending (Makefile.am): Likewise.
73701         * modules/fprintftime (Makefile.am): Likewise.
73702         * modules/free (Makefile.am): Likewise.
73703         * modules/fsusage (Makefile.am): Likewise.
73704         * modules/ftruncate (Makefile.am): Likewise.
73705         * modules/fts (Makefile.am): Likewise.
73706         * modules/gc (Makefile.am): Likewise.
73707         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73708         * modules/getaddrinfo (Makefile.am): Likewise.
73709         * modules/getcwd (Makefile.am): Likewise.
73710         * modules/getdelim (Makefile.am): Likewise.
73711         * modules/getdomainname (Makefile.am): Likewise.
73712         * modules/getgroups (Makefile.am): Likewise.
73713         * modules/gethostname (Makefile.am): Likewise.
73714         * modules/gethrxtime (Makefile.am): Likewise.
73715         * modules/getline (Makefile.am): Likewise.
73716         * modules/getloadavg (Makefile.am): Likewise.
73717         * modules/getlogin_r (Makefile.am): Likewise.
73718         * modules/getopt (Makefile.am): Likewise.
73719         * modules/getpass (Makefile.am): Likewise.
73720         * modules/getpass-gnu (Makefile.am): Likewise.
73721         * modules/getsubopt (Makefile.am): Likewise.
73722         * modules/gettime (Makefile.am): Likewise.
73723         * modules/gettimeofday (Makefile.am): Likewise.
73724         * modules/getugroups (Makefile.am): Likewise.
73725         * modules/getusershell (Makefile.am): Likewise.
73726         * modules/glob (Makefile.am): Likewise.
73727         * modules/group-member (Makefile.am): Likewise.
73728         * modules/hard-locale (Makefile.am): Likewise.
73729         * modules/hash (Makefile.am): Likewise.
73730         * modules/hmac-md5 (Makefile.am): Likewise.
73731         * modules/hmac-sha1 (Makefile.am): Likewise.
73732         * modules/human (Makefile.am): Likewise.
73733         * modules/idcache (Makefile.am): Likewise.
73734         * modules/imaxabs (Makefile.am): Likewise.
73735         * modules/imaxdiv (Makefile.am): Likewise.
73736         * modules/inet_ntop (Makefile.am): Likewise.
73737         * modules/inet_pton (Makefile.am): Likewise.
73738         * modules/inttostr (Makefile.am): Likewise.
73739         * modules/isapipe (Makefile.am): Likewise.
73740         * modules/lchown (Makefile.am): Likewise.
73741         * modules/long-options (Makefile.am): Likewise.
73742         * modules/lstat (Makefile.am): Likewise.
73743         * modules/malloc (Makefile.am): Likewise.
73744         * modules/mathl (Makefile.am): Likewise.
73745         * modules/mbchar (Makefile.am): Likewise.
73746         * modules/md2 (Makefile.am): Likewise.
73747         * modules/md4 (Makefile.am): Likewise.
73748         * modules/md5 (Makefile.am): Likewise.
73749         * modules/memcasecmp (Makefile.am): Likewise.
73750         * modules/memchr (Makefile.am): Likewise.
73751         * modules/memcmp (Makefile.am): Likewise.
73752         * modules/memcoll (Makefile.am): Likewise.
73753         * modules/memcpy (Makefile.am): Likewise.
73754         * modules/memmem (Makefile.am): Likewise.
73755         * modules/memmove (Makefile.am): Likewise.
73756         * modules/mempcpy (Makefile.am): Likewise.
73757         * modules/memrchr (Makefile.am): Likewise.
73758         * modules/memset (Makefile.am): Likewise.
73759         * modules/memxor (Makefile.am): Likewise.
73760         * modules/mkancesdirs (Makefile.am): Likewise.
73761         * modules/mkdir (Makefile.am): Likewise.
73762         * modules/mkdir-p (Makefile.am): Likewise.
73763         * modules/mkdtemp (Makefile.am): Likewise.
73764         * modules/mkstemp (Makefile.am): Likewise.
73765         * modules/mktime (Makefile.am): Likewise.
73766         * modules/modechange (Makefile.am): Likewise.
73767         * modules/mountlist (Makefile.am): Likewise.
73768         * modules/nanosleep (Makefile.am): Likewise.
73769         * modules/openat (Makefile.am): Likewise.
73770         * modules/pagealign_alloc (Makefile.am): Likewise.
73771         * modules/physmem (Makefile.am): Likewise.
73772         * modules/poll (Makefile.am): Likewise.
73773         * modules/posixtm (Makefile.am): Likewise.
73774         * modules/posixver (Makefile.am): Likewise.
73775         * modules/putenv (Makefile.am): Likewise.
73776         * modules/quote (Makefile.am): Likewise.
73777         * modules/quotearg (Makefile.am): Likewise.
73778         * modules/raise (Makefile.am): Likewise.
73779         * modules/read-file (Makefile.am): Likewise.
73780         * modules/readline (Makefile.am): Likewise.
73781         * modules/readlink (Makefile.am): Likewise.
73782         * modules/readtokens (Makefile.am): Likewise.
73783         * modules/readutmp (Makefile.am): Likewise.
73784         * modules/realloc (Makefile.am): Likewise.
73785         * modules/regex (Makefile.am): Likewise.
73786         * modules/rename (Makefile.am): Likewise.
73787         * modules/rename-dest-slash (Makefile.am): Likewise.
73788         * modules/rijndael (Makefile.am): Likewise.
73789         * modules/rmdir (Makefile.am): Likewise.
73790         * modules/rpmatch (Makefile.am): Likewise.
73791         * modules/safe-read (Makefile.am): Likewise.
73792         * modules/safe-write (Makefile.am): Likewise.
73793         * modules/same (Makefile.am): Likewise.
73794         * modules/save-cwd (Makefile.am): Likewise.
73795         * modules/savedir (Makefile.am): Likewise.
73796         * modules/setenv (Makefile.am): Likewise.
73797         * modules/settime (Makefile.am): Likewise.
73798         * modules/sha1 (Makefile.am): Likewise.
73799         * modules/sig2str (Makefile.am): Likewise.
73800         * modules/snprintf (Makefile.am): Likewise.
73801         * modules/stdlib-safer (Makefile.am): Likewise.
73802         * modules/stpcpy (Makefile.am): Likewise.
73803         * modules/stpncpy (Makefile.am): Likewise.
73804         * modules/strcase (Makefile.am): Likewise.
73805         * modules/strcasestr (Makefile.am): Likewise.
73806         * modules/strchrnul (Makefile.am): Likewise.
73807         * modules/strcspn (Makefile.am): Likewise.
73808         * modules/strdup (Makefile.am): Likewise.
73809         * modules/strerror (Makefile.am): Likewise.
73810         * modules/strftime (Makefile.am): Likewise.
73811         * modules/strndup (Makefile.am): Likewise.
73812         * modules/strnlen (Makefile.am): Likewise.
73813         * modules/strpbrk (Makefile.am): Likewise.
73814         * modules/strsep (Makefile.am): Likewise.
73815         * modules/strstr (Makefile.am): Likewise.
73816         * modules/strtod (Makefile.am): Likewise.
73817         * modules/strtoimax (Makefile.am): Likewise.
73818         * modules/strtok_r (Makefile.am): Likewise.
73819         * modules/strtol (Makefile.am): Likewise.
73820         * modules/strtoll (Makefile.am): Likewise.
73821         * modules/strtoul (Makefile.am): Likewise.
73822         * modules/strtoull (Makefile.am): Likewise.
73823         * modules/strtoumax (Makefile.am): Likewise.
73824         * modules/strverscmp (Makefile.am): Likewise.
73825         * modules/time_r (Makefile.am): Likewise.
73826         * modules/timegm (Makefile.am): Likewise.
73827         * modules/tmpfile-safer (Makefile.am): Likewise.
73828         * modules/unistd-safer (Makefile.am): Likewise.
73829         * modules/unlinkdir (Makefile.am): Likewise.
73830         * modules/userspec (Makefile.am): Likewise.
73831         * modules/utime (Makefile.am): Likewise.
73832         * modules/utimecmp (Makefile.am): Likewise.
73833         * modules/utimens (Makefile.am): Likewise.
73834         * modules/vasnprintf (Makefile.am): Likewise.
73835         * modules/vasprintf (Makefile.am): Likewise.
73836         * modules/vsnprintf (Makefile.am): Likewise.
73837         * modules/xalloc (Makefile.am): Likewise.
73838         * modules/xgetcwd (Makefile.am): Likewise.
73839         * modules/xnanosleep (Makefile.am): Likewise.
73840         * modules/xreadlink (Makefile.am): Likewise.
73841         * modules/xstrtod (Makefile.am): Likewise.
73842         * modules/xstrtol (Makefile.am): Likewise.
73843         * modules/xstrtold (Makefile.am): Likewise.
73844         * modules/yesno (Makefile.am): Likewise.
73845
73846 2006-10-12  Jim Meyering  <jim@meyering.net>
73847
73848         * m4/getloadavg.m4: Revert the change below.
73849
73850         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73851         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73852         fail with a symlink, which is what coreutils' ./bootstrap now
73853         creates by default.
73854
73855 2006-10-12  Bruno Haible  <bruno@clisp.org>
73856
73857         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73858         mingw.
73859         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73860         MSVC and mingw explicitly.
73861
73862 2006-10-11  Simon Josefsson  <jas@extundo.com>
73863             Bruno Haible  <bruno@clisp.org>
73864
73865         Add support for multiple gnulib-tool invocations in the scope of a
73866         single configure.ac file.
73867         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73868         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73869         with the same contents as the _LIBADD variable.
73870         (func_emit_initmacro_start, func_emit_initmacro_end,
73871         func_emit_initmacro_done): New functions.
73872         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73873         gl_LIBOBJS and gl_LTLIBOBJS.
73874
73875 2006-10-11  Bruno Haible  <bruno@clisp.org>
73876
73877         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73878         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73879         autoreconf. Instead, invoke autopoint explicitly but move back the
73880         *.m4 files from gnulib.
73881
73882 2006-10-11  Bruno Haible  <bruno@clisp.org>
73883
73884         * gnulib-tool (func_usage): Make module names after --create-testdir
73885         optional.
73886         (func_create_testdir): If no module was specified, use nearly all
73887         modules.
73888
73889 2006-10-12  Jim Meyering  <jim@meyering.net>
73890
73891         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73892         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73893         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73894         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73895         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73896         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73897         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73898         (fts_set_stat_required): New function.
73899         (fts_open): Defer the calls to fts_stat, if possible or requested.
73900         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73901         into fts_stat itself.
73902         (fts_read): Perform any required (deferred) fts_stat call.
73903         (fts_build): Likewise, for the directory we're about to open and read.
73904         In the readdir loop, carefully decide whether each entry will require
73905         an eventual call to fts_stat, using dirent.d_type info if available.
73906         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73907         a command line argument into this function.  Update all callers.
73908         Map a return value of FTS_DOT to FTS_D for a command line argument.
73909         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73910         Thanks to Miklos Szeredi for his tenacity and for the initial
73911         bug report about "find" failing on a FUSE-based file system.
73912
73913         * lib/fts.c (fts_open): Use consistent indentation.
73914
73915 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73916
73917         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73918         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73919         reported by Jim Meyering.  All uses of cache variables renamed
73920         to match Autoconf's.
73921         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73922         the other one.
73923
73924         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73925         Fix misspelling in diagnostic.
73926
73927 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73928
73929         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73930         defined.  Problem reported by Matthew Woehlke.
73931
73932         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73933         Add support for Tandem NonStop R series.
73934         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73935         Use new macro.
73936
73937         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73938         (has_trailing_slash): Omit size arg; all callers changed.
73939         Omit 'inline', since it doesn't help performance and we'd
73940         need to configure it.
73941         Don't count //, ///, etc. as having a trailing slash.
73942         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73943         (rpl_rename_dest_slash): On failure, use rename's errno rather
73944         than (in some cases) an incorrect or junk errno.
73945         Simplify code by removing need to compute length; this does
73946         cause it to make two passes instead of one over the file name,
73947         but it's worth it.
73948
73949         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73950         change, since Autoconf's version may no longer be appropriate now
73951         that we are using CVS Autoconf's version.  Add support for Tandem.
73952
73953 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73954             Bruno Haible  <bruno@clisp.org>
73955
73956         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73957         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73958         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73959         gl_AC_TYPE_LONG_LONG.
73960
73961         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73962         instead of HAVE_LONG_LONG.
73963         * lib/printf-args.c (printf_fetchargs): Likewise.
73964         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73965         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73966         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73967         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73968         gl_AC_TYPE_LONG_LONG.
73969
73970 2006-10-11  Bruno Haible  <bruno@clisp.org>
73971
73972         * m4/longlong.m4: Add comments.
73973         * m4/ulonglong.m4: Likewise.
73974
73975 2006-10-10  Bruno Haible  <bruno@clisp.org>
73976
73977         Make it possible to #define stpcpy, strdup to aliases.
73978         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73979         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73980
73981 2006-10-10  Bruno Haible  <bruno@clisp.org>
73982
73983         Make it possible to #define gcd to an alias.
73984         * lib/gcd.c: Include config.h.
73985
73986 2006-10-10  Bruno Haible  <bruno@clisp.org>
73987
73988         Make it possible to #define c_isascii to an alias.
73989         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73990         defined. Undefine the macros before defining them, to avoid gcc
73991         warnings.
73992         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73993         define NO_C_CTYPE_MACROS early.
73994
73995 2006-10-10  Bruno Haible  <bruno@clisp.org>
73996
73997         Make it possible to #define set_program_name to an alias.
73998         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73999         ENABLE_RELOCATABLE early.
74000
74001 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74004         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74005         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74006         More generally, don't assume that 64-bit signed int is available
74007         if unsigned int is, and vice versa.
74008         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74009         unsigned symbols, not on their signed counterparts.
74010         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74011         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74012         (UINT64_C, UINTMAX_C):
74013         Likewise.
74014         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74015         unsigned counterparts.
74016         (Have_long_long, Unsigned): New macros.
74017         (Int): Renamed from INT.
74018         (strtoimax): Use the new macros.
74019         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74020         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74021         * modules/inttypes (inttypes.h): Substitute
74022         HAVE_UNSIGNED_LONG_LONG_INT.
74023         * modules/stdint (stdint.h): Likewise.
74024         (Files): Add m4/ulonglong.m4.
74025
74026 2006-10-10  Bruno Haible  <bruno@clisp.org>
74027
74028         Fix a gcc -Wshadow warning.
74029         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74030         to 'bucket'.
74031         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74032         gl_linked_indexof_from_to): Likewise.
74033         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74034         Likewise.
74035         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74036         Likewise.
74037         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74038         Reported by Eric Blake.
74039
74040 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74041
74042         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74043         for NetBSD.  Problem reported by Bruno Haible.
74044
74045 2006-10-09  Jim Meyering  <jim@meyering.net>
74046
74047         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74048         Patch from Bruno Haible.
74049
74050 2006-10-09  Jim Meyering  <jim@meyering.net>
74051
74052         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74053         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74054         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74055
74056 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74057
74058         Don't include <config.h> twice; this doesn't work in some cases,
74059         e.g., when config.h has "#define intmax_t long long int" and
74060         we include <config.h>, <inttypes.h>, <config.h> in that order.
74061         Problem reported by Matthew Woehlke in:
74062         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74063         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74064         * lib/fts-cycle.c: Don't include config.h.
74065         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74066         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74067         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74068         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74069         inttypes.h.
74070         * lib/xstrtoumax.c: Likewise.
74071         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74072         __strtol and the like, so that this module is more like its siblings.
74073         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74074         Remove; no longer needed now that we assume gnulib inttypes.h.
74075
74076 2006-10-08  Bruno Haible  <bruno@clisp.org>
74077
74078         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74079         option.
74080
74081 2006-10-07  Jim Meyering  <jim@meyering.net>
74082
74083         * modules/inttypes (inttypes.h): Revert what seems to have been
74084         an inadvertent part of today's change: use "|", not "/" in the
74085         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74086
74087 2006-10-07  Bruno Haible  <bruno@clisp.org>
74088
74089         * modules/sublist: New file.
74090
74091 2006-10-07  Bruno Haible  <bruno@clisp.org>
74092
74093         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74094         * modules/argz (argz.h): Likewise.
74095         * modules/arpa_inet (arpa/inet.h): Likewise.
74096         * modules/byteswap (byteswap.h): Likewise.
74097         * modules/configmake (configmake.h): Likewise.
74098         * modules/fcntl (fcntl.h): Likewise.
74099         * modules/fnmatch (fnmatch.h): Likewise.
74100         * modules/getopt (getopt.h): Likewise.
74101         * modules/glob (glob.h): Likewise.
74102         * modules/inttypes (inttypes.h): Likewise.
74103         * modules/netinet_in (netinet/in.h): Likewise.
74104         * modules/poll (poll.h): Likewise.
74105         * modules/stdbool (stdbool.h): Likewise.
74106         * modules/stdint (stdint.h): Likewise.
74107         * modules/sys_select (sys/select.h): Likewise.
74108         * modules/sys_socket (sys/socket.h): Likewise.
74109         * modules/sys_stat (sys/stat.h): Likewise.
74110         * modules/sysexits (sysexits.h): Likewise.
74111         * modules/unistd (unistd.h): Likewise.
74112         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74113         Add a "DO NOT EDIT" comment to the generated file.
74114         (func_import): Likewise for gnulib-comp.m4.
74115
74116 2006-10-07  Bruno Haible  <bruno@clisp.org>
74117
74118         * lib/gl_sublist.h: New file.
74119         * lib/gl_sublist.c: New file.
74120
74121 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74122
74123         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74124         name (relative to the original working directory) and the file
74125         name component (relative to the temporary working directory).  All
74126         callers changed.
74127         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74128         * lib/mkdir-p.c (make_dir_parents): Likewise.
74129         * lib/mkdir-p.h (make_dir_parents): Likewise.
74130
74131 2006-10-06  Eric Blake  <ebb9@byu.net>
74132
74133         Define several macros for use by the clean-temp module.
74134         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74135         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74136         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74137
74138         * lib/clean-temp.h (close_stream_temp): New declaration.
74139         * lib/clean-temp.c (includes): Pull in headers according to what
74140         other modules are in use.
74141         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74142
74143 2006-10-06  Bruno Haible  <bruno@clisp.org>
74144
74145         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74146         instead of fopen, fwriteerror.
74147
74148 2006-10-06  Bruno Haible  <bruno@clisp.org>
74149
74150         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74151         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74152         int.
74153         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74154         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74155         Return an error indicator.
74156         Suggested by Eric Blake.
74157
74158 2006-10-06  Bruno Haible  <bruno@clisp.org>
74159
74160         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74161         Reported by Eric Blake.
74162
74163 2006-10-06  Bruno Haible  <bruno@clisp.org>
74164
74165         * modules/closeout (Description): Mention stderr too.
74166
74167 2006-10-06  Bruno Haible  <bruno@clisp.org>
74168         and Paul Eggert  <eggert@cs.ucla.edu>
74169
74170         * lib/closeout.c (close_stdout): Also close stderr.
74171         * lib/closeout.h: Update comment.
74172
74173 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74174
74175         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74176         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74177         * lib/dirchownmod.c: Include lchown.h.
74178         * lib/lchown.c: Don't include files that lchown.h now includes.
74179         Don't declare chown, since lchown.h now does that.
74180         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74181         (lchown): Define to rpl_chown if lchown is declared but
74182         does not exist.  Declare using a prototype if lchown is not
74183         declared.  Add a copyright notice.
74184         * lib/mkstemp.h: Include <unistd.h>.
74185         * lib/openat.c: Include lchown.h.
74186
74187         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74188         we now test for that separately.
74189         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74190         rather than O_NOFOLLOW, when testing whether it's possible to
74191         avoid a race condition reliably.
74192         * lib/savewd.c (savewd_chdir): Likewise.
74193
74194         Remove macros that are no longer needed now that stdint.h is
74195         reliable.
74196         * lib/fsusage.c (UINTMAX_MAX): Remove.
74197         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74198         * lib/utimecmp.c (SIZE_MAX): Remove.
74199
74200         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74201
74202         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74203         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74204         O_NOATIME works.
74205
74206 2006-10-05  Bruno Haible  <bruno@clisp.org>
74207
74208         * lib/gl_list.h (gl_sortedlist_search_from_to,
74209         gl_sortedlist_indexof_from_to): New declarations.
74210         (gl_list_implementation): New fields sortedlist_search_from_to,
74211         sortedlist_indexof_from_to.
74212         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74213         inline functions.
74214         * lib/gl_list.c (gl_sortedlist_search_from_to,
74215         gl_sortedlist_indexof_from_to): New functions.
74216         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74217         function.
74218         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74219         (gl_array_sortedlist_search_from_to): New function.
74220         (gl_array_list_implementation): Update.
74221         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74222         function.
74223         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74224         (gl_carray_sortedlist_search_from_to): New function.
74225         (gl_carray_list_implementation): Update.
74226         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74227         gl_linked_sortedlist_indexof_from_to): New functions.
74228         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74229         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74230         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74231         gl_tree_sortedlist_indexof_from_to): New functions.
74232         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74233         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74234         Update.
74235         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74236         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
74237         Update.
74238
74239 2006-10-05  Bruno Haible  <bruno@clisp.org>
74240
74241         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
74242         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
74243         (struct gl_list_implementation): Add fields search_from_to,
74244         indexof_from_to. Remove fields search, indexof.
74245         (gl_list_search): Use the search_from_to method.
74246         (gl_list_search_from, gl_list_search_from_to): New functions.
74247         (gl_list_indexof): Use the indexof_from_to method.
74248         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74249         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
74250         (gl_list_search_from, gl_list_search_from_to): New functions.
74251         (gl_list_indexof): Use the indexof_from_to method.
74252         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74253         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
74254         gl_array_indexof. Add start_index, end_index arguments.
74255         (gl_array_search_from_to): Renamed from gl_array_search. Add
74256         start_index, end_index arguments.
74257         (gl_array_remove, gl_array_list_implementation): Update.
74258         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74259         gl_carray_indexof. Add start_index, end_index arguments.
74260         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74261         start_index, end_index arguments.
74262         (gl_carray_remove, gl_carray_list_implementation): Update.
74263         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74264         gl_linked_search. Add start_index, end_index arguments.
74265         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74266         start_index, end_index arguments.
74267         (gl_linked_remove): Update.
74268         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74269         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74270         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74271         field to 'size_t'.
74272         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74273         gl_tree_search. Add start_index, end_index arguments.
74274         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74275         start_index, end_index arguments.
74276         (gl_tree_remove): Update.
74277         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74278         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74279         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74280         function.
74281         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74282         gl_tree_search. Add start_index, end_index arguments.
74283         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74284         start_index, end_index arguments.
74285         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74286         Update.
74287         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74288
74289 2006-10-05  Bruno Haible  <bruno@clisp.org>
74290
74291         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74292
74293         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74294         fwriteerror_temp): New declarations.
74295         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74296         (descriptors): New variable.
74297         (cleanup): First, close the descriptors.
74298         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74299         fclose_temp, fwriteerror_temp): New functions.
74300
74301 2006-10-04  Jim Meyering  <jim@meyering.net>
74302
74303         * lib/fts.c (fts_open): Tiny comment change.
74304
74305 2006-10-04  Bruno Haible  <bruno@clisp.org>
74306
74307         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74308         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74309         gl_LOCK_BODY.
74310         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74311         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74312         gl_LOCK_EARLY_BODY.
74313         (gl_LOCK): Require gl_LOCK_BODY.
74314
74315 2006-10-04  Bruno Haible  <bruno@clisp.org>
74316
74317         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74318         (gl_oset_search_atleast): New declaration.
74319         (struct gl_oset_implementation): Add field 'search_atleast'.
74320         (gl_oset_search_atleast): New inline function.
74321         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74322         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74323         (gl_array_oset_implementation): Update.
74324         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74325         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74326         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74327
74328 2006-10-04  Bruno Haible  <bruno@clisp.org>
74329
74330         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74331
74332 2006-10-03  Bruno Haible  <bruno@clisp.org>
74333
74334         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74335         from gl_avltreehash_list_implementation.
74336
74337 2006-10-03  Bruno Haible  <bruno@clisp.org>
74338
74339         * lib/gl_oset.c (gl_oset_add): Fix return type.
74340
74341 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74342
74343         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74344
74345 2006-10-02  Eric Blake  <ebb9@byu.net>
74346
74347         * modules/strnlen (Depends-on): Add extensions.
74348
74349 2006-10-02  Eric Blake  <ebb9@byu.net>
74350
74351         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74352         definition in 2.60+.
74353
74354 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74355
74356         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74357         checks.
74358
74359 2006-10-02  Bruno Haible  <bruno@clisp.org>
74360
74361         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74362         to the AUTOMAKE_OPTIONS.
74363         Reported by Jim Meyering.
74364
74365 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74366
74367         Work around bug in Solaris 10 /proc file system:
74368         /proc/self/fd/NNN/.. isn't the parent directory of
74369         the directory whose file descriptor is NNN.  This needs to
74370         be worked around at run time, not compile time, since a
74371         program might be built on Solaris 8, where things work, and
74372         run on Solaris 10.
74373         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74374         to use the following interface instead:
74375         (OPENAT_BUFFER_SIZE): New macro.
74376         (openat_proc_name): New function.
74377         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74378         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74379         Likewise.
74380         * lib/openat-proc.c: New file.
74381         * modules/openat (Files): Add lib/openat-proc.c.
74382         (Depends-on): Add same-inode, stdbool.
74383         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74384
74385 2006-09-29  Bruno Haible  <bruno@clisp.org>
74386
74387         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74388         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74389         argument. Set stdout_closed before testing for ferror, not after.
74390         (fwriteerror, fwriteerror_no_ebadf): New functions.
74391
74392 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74393
74394         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74395
74396 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74397
74398         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74399         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74400
74401 2006-09-28  Jim Meyering  <jim@meyering.net>
74402
74403         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74404         Include <unistd.h>.
74405
74406 2006-09-28  Bruno Haible  <bruno@clisp.org>
74407
74408         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74409         * modules/linkedhash-list (Depends-on): Likewise.
74410         * modules/rbtreehash-list (Depends-on): Likewise.
74411
74412 2006-09-28  Bruno Haible  <bruno@clisp.org>
74413
74414         * lib/strndup.h: Simplify the redefinition of strndup.
74415         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74417
74418 2006-09-28  Bruno Haible  <bruno@clisp.org>
74419
74420         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74421         * lib/gl_linkedhash_list.c: Likewise.
74422         * lib/gl_rbtreehash_list.c: Likewise.
74423
74424 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74425
74426         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74427         getaddrinfo.
74428
74429         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74430         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74431         it causes <stdio_ext.h> to cause a compile-time error.
74432         Problem reported by Nelson H. F. Beebe.
74433         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74434         of HAVE_DECL___PENDING.
74435
74436         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74437         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74438         declaration.
74439
74440 2006-09-27  Jim Meyering  <jim@meyering.net>
74441
74442         This file could end up with a definition for a function
74443         named __strndup, rather than rpl_strndup on a system with
74444         incomplete weak_alias support.
74445         * lib/strndup.c (strndup): Rename from __strndup.
74446         Remove #defines that used to map __strndup to strndup.
74447         Don't use K&R prototypes.
74448         Remove LIBC-related code, since this file is not sync'd with glibc.
74449         * lib/strndup.h: Revamp, accordingly.
74450         * m4/strndup.m4: Modernize.
74451
74452 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74453
74454         * modules/savewd (Depends-on): Add 'raise'.
74455         * lib/savewd.c: Include <signal.h>, for 'raise'.
74456
74457 2006-09-26  Jim Meyering  <jim@meyering.net>
74458
74459         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74460         when we detect Darwin 8.7.0's acl_get_file bug.
74461         Rearrange to perform the new (below) run-test while $LIBS
74462         contains any acl-related library.  Set USE_ACL at the end.
74463         (gl_ACL_GET_FILE): New function.
74464
74465 2006-09-26  Eric Blake  <ebb9@byu.net>
74466
74467         * lib/verror.c: Include <config.h> unconditionally.
74468
74469 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74470
74471         * modules/clock-time (Maintainer): Add self.
74472         * modules/getlogin_r (Depends-on): Add extensions.
74473
74474 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74475
74476         * modules/clock-time: New module.
74477         * modules/nanosleep (Depends-on): Add clock-time.
74478         * modules/gethrxtime (Depends-on): Likewise.
74479         * modules/gettime (Depends-on): Likewise.
74480         * modules/settime (Depends-on): Likewise.
74481
74482         * modules/fts-lgpl: Depend on openat.
74483         * modules/mkancesdirs: Depend on savewd.
74484         * modules/mkdir-p: Likewise.
74485
74486 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74487
74488         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74489
74490         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74491         `gl_have_arbitrary_file_name_length_limit' to
74492         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74493         actually works between configure runs.
74494
74495 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74496             Bruno Haible  <bruno@clisp.org>
74497
74498         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74499
74500 2006-09-25  Jim Meyering  <jim@meyering.net>
74501
74502         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74503         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74504
74505 2006-09-25  Eric Blake  <ebb9@byu.net>
74506
74507         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74508         exec's in 2006-09-18 patch when shuffling fds.
74509
74510 2006-09-25  Bruno Haible  <bruno@clisp.org>
74511
74512         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74513         Reported by Jim Meyering.
74514
74515 2006-09-24  Jim Meyering  <jim@meyering.net>
74516
74517         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74518         compare a pointer against a literal "0".  That caused failures with
74519         at least HP-UX's hpcc.
74520
74521 2006-09-22  Simon Josefsson  <jas@extundo.com>
74522
74523         * modules/gc-sha1:
74524         * modules/gc-md4:
74525         * modules/gc-hmac-sha1:
74526         * modules/gc-hmac-md5:
74527         * modules/gc-des:
74528         * modules/gc-arcfour: Distribute more files.
74529
74530 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74531
74532         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74533         (gl_linked_iterator_from_to): Initialize struct completely.
74534         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74535         (gl_tree_iterator_from_to): Likewise
74536         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74537         * lib/gl_array_list.c [lint] (gl_array_iterator)
74538         (gl_array_iterator_from_to): Likewise.
74539         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74540         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74541         (gl_carray_iterator_from_to): Likewise.
74542
74543         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74544         * lib/md4.c (md4_process_block): Remove unused variable.
74545         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74546         parentheses for clarity.
74547
74548 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74549
74550         * modules/bison-i18n (Depends-on): Add gettext.
74551
74552 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74553
74554         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74555         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74556         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74557         also add missing comma that caused broken test.
74558         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74559         stdlib.h, for `abort'.
74560         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74561         variables.
74562         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74563         include unistd.h if present, for `rmdir'.
74564         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
74565         variables.
74566         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
74567         in the process include standard headers for prototypes.
74568         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
74569         gets declared on GNU/Linux.
74570         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
74571         unistd.h, for `rmdir'.
74572         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
74573
74574         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
74575         always true.
74576         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
74577
74578         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
74579
74580 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74581
74582         * gnulib-tool (func_version): Create output all at once.  This
74583         may help avoid triggering unnecessary SIGPIPEs, and at any
74584         rate it doesn't hurt.
74585
74586 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74587             Bruno Haible  <bruno@clisp.org>
74588
74589         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
74590         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74591         * m4/signed.m4 (bh_C_SIGNED): Likewise.
74592
74593         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
74594         (gl_FUNC_VASPRINTF): Invoke it.
74595
74596 2006-09-22  Bruno Haible  <bruno@clisp.org>
74597
74598         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
74599         getloadavg.c as first argument.
74600
74601 2006-09-22  Bruno Haible  <bruno@clisp.org>
74602
74603         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
74604         at the beginning of the gl_INIT macro.
74605         * modules/getloadavg (configure.ac): Pass $gl_source_base to
74606         gl_GETLOADAVG.
74607
74608 2006-09-22  Bruno Haible  <bruno@clisp.org>
74609
74610         * gnulib-tool (func_create_megatestdir): Don't include the config-h
74611         module.
74612         Suggested by Ralf Wildenhues.
74613
74614 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74615
74616         Import this patch from libc:
74617
74618         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
74619
74620         * lib/regex_internal.c (re_string_reconstruct): Handle
74621         offset < pstr->valid_raw_len && pstr->offsets_needed case.
74622         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
74623         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
74624         re_string_context_at.
74625
74626         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
74627         now requires it.
74628         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
74629         gl_REGEX now does it for us.
74630         (gl_REGEX): Add test taken from
74631         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
74632
74633         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
74634         Check that large offsets work.  Modernize Autoconf usages.
74635         Prefer "yes" to mean a good thing rather than a bad.
74636         Don't put "#define mkstemp" in config.h, as this might interfere
74637         with standard system headers that "#define mkstemp mkstemp64".
74638
74639         * modules/mkstemp (Depends-on): Add extensions, so that
74640         mkstemp is visible on some platforms.
74641         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
74642         (Include): Change to "mkstemp.h" from <stdlib.h>.
74643         (Files): Add mkstemp.h.
74644
74645         * lib/mkstemp.h: New file, since some standard headers
74646         #define mkstemp.
74647         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
74648         Include "mkstemp.h".
74649         Make the _LIBC code resemble glibc original more,
74650         e.g., use K&R style.
74651         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
74652         (mkstemp): Remove, since mkstemp.h does this for us.
74653         * lib/stdlib--.h: Include mkstemp.h.
74654
74655         Import this patch from libc:
74656
74657         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74658
74659         * lib/tempname.c (__gen_tempname): Change attempts_min
74660         into a macro.  Use preprocessor to decide how to initialize
74661         attempts [Coverity CID 67].
74662
74663 2006-09-20  Bruno Haible  <bruno@clisp.org>
74664
74665         * lib/mkdtemp.c: Import from libc.
74666         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74667                 * sysdeps/posix/tempname.c (__gen_tempname): Change
74668                 attempts_min into a macro.  Use preprocessor to decide how to
74669                 initialize attempts [Coverity CID 67].
74670         2001-11-27  Paul Eggert  <eggert@twinsun.com>
74671                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
74672                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
74673
74674 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74675
74676         * gnulib-tool (func_exit): New function, to allow to pass the
74677         exit status portably through the trap.  Use everywhere.
74678         (--help, --version): Signal a write error.
74679         (trap): catch SIGPIPE, for write errors.
74680         Exit at the end of the trap, with the correct exit status.
74681
74682 2006-09-19  Karl Berry  <karl@gnu.org>
74683
74684         * doc/gnulib.texi: note about the license texinfo files.
74685
74686 2006-09-19  Eric Blake  <ebb9@byu.net>
74687
74688         * gnulib-tool: Avoid space-tab.
74689
74690 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74691
74692         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
74693         that prevented coreutils 6.1 from building.  Problem reported
74694         by Petter Reinholdtsen.
74695
74696 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74697
74698         * gnulib-tool (avoidlist): Fix typo that broke options like
74699         --avoid=lock that are used by coreutils bootstrap.
74700
74701 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
74702
74703         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
74704         more systematically.
74705
74706 2006-09-18  Jim Meyering  <jim@meyering.net>
74707
74708         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
74709
74710 2006-09-18  Bruno Haible  <bruno@clisp.org>
74711
74712         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
74713
74714 2006-09-18  Bruno Haible  <bruno@clisp.org>
74715
74716         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
74717         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
74718         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
74719         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
74720         * m4/gettext.m4: Require autoconf >= 2.52.
74721         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
74722         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
74723         of gl_cv_header_inttypes_h.
74724
74725 2006-09-18  Bruno Haible  <bruno@clisp.org>
74726
74727         * lib/javaversion.c: Include configmake.h.
74728
74729 2006-09-18  Bruno Haible  <bruno@clisp.org>
74730
74731         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
74732         avoid that the while loops be executed in a subshell.
74733
74734 2006-09-18  Bruno Haible  <bruno@clisp.org>
74735
74736         * MODULES.html.sh (func_module): Break long lines.
74737         Suggested by Bruce Korb <bkorb@gnu.org>.
74738
74739 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74740
74741         Speed up by a factor of 1.12.
74742         * gnulib-tool (nl): New variable.
74743         (func_import): Rewrite include directive extraction to only read each
74744         directive once.
74745
74746 2006-09-17  Bruno Haible  <bruno@clisp.org>
74747
74748         * modules/javaversion (Makefile.am): Remove DEFS setting.
74749         (Depends-on): Add configmake, for PKGDATADIR definition.
74750
74751 2006-09-17  Bruno Haible  <bruno@clisp.org>
74752
74753         * gnulib-tool (func_create_testdir): Rewrite all files at once.
74754
74755 2006-09-17  Bruno Haible  <bruno@clisp.org>
74756
74757         * gnulib-tool (func_append): New function, stolen from libtool.m4.
74758         (func_modules_transitive_closure, func_modules_add_dummy,
74759         func_modules_to_filelist, func_import, func_create_testdir,
74760         func_create_megatestdir, ...): Use it wherever possible.
74761         Suggested by Ralf Wildenhues.
74762
74763 2006-09-16  Karl Berry  <karl@gnu.org>
74764
74765         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74766         to avoid sectioning errors.
74767         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74768         [ifinfo]: blank line after @center-ed titles.
74769         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74770         Spell FSF address consistently with others.
74771         (These changes approved by rms.)
74772
74773 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74774
74775         Speed up by a factor of 1.61.
74776         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74777         already checked module names again.
74778
74779 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74780
74781         Speed up by a factor of 1.13.
74782         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74783         for new_files, and the input to func_add_or_update.
74784
74785 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74786
74787         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74788         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74789
74790 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74791
74792         * modules/mkancesdirs (Depends-on): Add fcntl.
74793         * modules/savewd: New file.
74794         * MODULES.html.sh (File system functions): Add savewd.
74795
74796         * modules/configmake (Makefile.am): Add support for the
74797         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74798
74799 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         * m4/savewd.m4: New file.
74802
74803 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74804
74805         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74806         (dirchownmod): New arg FD.  All callers changed.
74807         Use FD rather than opening the directory ourself, as opening is
74808         now the caller's responsibility.
74809         * lib/dirchownmod.h: Likewise.
74810         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74811         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74812         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74813         (test_dir): Remove.
74814         (mkancesdirs): Return length of prefix of FILE that has already
74815         been made, or -2 if there is a child doing the work.  Redo
74816         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74817         ".", and treat ".." specially since it might stray back into
74818         already-created areas.  Use a subprocess if necessary.  New arg
74819         WD; all users changed.  MAKE_DIR function should now return 1
74820         if it creates a directory that is not readable.  Return -2 if
74821         a child process is spun off.
74822         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74823         Adjust signature to match code.
74824         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74825         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74826         all users changed.
74827         * lib/savewd.c, lib/savewd.h: New files.
74828
74829 2006-09-15  Jim Meyering  <jim@meyering.net>
74830
74831         * modules/rename-dest-slash: New module.
74832         * MODULES.html.sh (posix_compat): Add it here.
74833
74834         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74835
74836 2006-09-15  Jim Meyering  <jim@meyering.net>
74837
74838         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74839         file.
74840
74841         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74842
74843 2006-09-15  Jim Meyering  <jim@meyering.net>
74844
74845         * lib/rename-dest-slash.c (has_trailing_slash): Use
74846         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74847         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74848         test before testing whether SRC is a directory.
74849         Suggestions from Bruno Haible.
74850
74851         Avoid a warning about an unused variable.
74852         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74853         into the #ifdef block where it's used.
74854
74855         * lib/rename-dest-slash.c: New file.
74856
74857 2006-09-14  Bruno Haible  <bruno@clisp.org>
74858
74859         * lib/allocsa.c: Include <config.h> unconditionally.
74860         * lib/asnprintf.c: Likewise.
74861         * lib/asprintf.c: Likewise.
74862         * lib/c-strcasecmp.c: Likewise.
74863         * lib/c-strcasestr.c: Likewise.
74864         * lib/c-strncasecmp.c: Likewise.
74865         * lib/c-strstr.c: Likewise.
74866         * lib/classpath.c: Likewise.
74867         * lib/clean-temp.c: Likewise.
74868         * lib/concatpath.c: Likewise.
74869         * lib/copy-file.c: Likewise.
74870         * lib/csharpcomp.c: Likewise.
74871         * lib/csharpexec.c: Likewise.
74872         * lib/execute.c: Likewise.
74873         * lib/fatal-signal.c: Likewise.
74874         * lib/findprog.c: Likewise.
74875         * lib/fwriteerror.c: Likewise.
74876         * lib/gl_array_list.c: Likewise.
74877         * lib/gl_array_oset.c: Likewise.
74878         * lib/gl_avltree_list.c: Likewise.
74879         * lib/gl_avltree_oset.c: Likewise.
74880         * lib/gl_avltreehash_list.c: Likewise.
74881         * lib/gl_carray_list.c: Likewise.
74882         * lib/gl_linked_list.c: Likewise.
74883         * lib/gl_linkedhash_list.c: Likewise.
74884         * lib/gl_list.c: Likewise.
74885         * lib/gl_oset.c: Likewise.
74886         * lib/gl_rbtree_list.c: Likewise.
74887         * lib/gl_rbtree_oset.c: Likewise.
74888         * lib/gl_rbtreehash_list.c: Likewise.
74889         * lib/imaxabs.c: Likewise.
74890         * lib/imaxdiv.c: Likewise.
74891         * lib/javacomp.c: Likewise.
74892         * lib/javaexec.c: Likewise.
74893         * lib/javaversion.c: Likewise.
74894         * lib/linebreak.c: Likewise.
74895         * lib/localcharset.c: Likewise.
74896         * lib/lock.c: Likewise.
74897         * lib/mbchar.c: Likewise.
74898         * lib/mbswidth.c: Likewise.
74899         * lib/mkdtemp.c: Likewise.
74900         * lib/pipe.c: Likewise.
74901         * lib/printf-args.c: Likewise.
74902         * lib/printf-parse.c: Likewise.
74903         * lib/progname.c: Likewise.
74904         * lib/progreloc.c: Likewise.
74905         * lib/readlink.c: Likewise.
74906         * lib/sh-quote.c: Likewise.
74907         * lib/stpcpy.c: Likewise.
74908         * lib/stpncpy.c: Likewise.
74909         * lib/strcasecmp.c: Likewise.
74910         * lib/strcasestr.c: Likewise.
74911         * lib/strcspn.c: Likewise.
74912         * lib/striconv.c: Likewise.
74913         * lib/strncasecmp.c: Likewise.
74914         * lib/strnlen1.c: Likewise.
74915         * lib/strstr.c: Likewise.
74916         * lib/strtok_r.c: Likewise.
74917         * lib/tls.c: Likewise.
74918         * lib/tmpdir.c: Likewise.
74919         * lib/unicodeio.c: Likewise.
74920         * lib/unsetenv.c: Likewise.
74921         * lib/vasnprintf.c: Likewise.
74922         * lib/vasprintf.c: Likewise.
74923         * lib/wait-process.c: Likewise.
74924         * lib/xallocsa.c: Likewise.
74925         * lib/xsetenv.c: Likewise.
74926         * lib/xstriconv.c: Likewise.
74927
74928 2006-09-13  Simon Josefsson  <jas@extundo.com>
74929
74930         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74931         that internally, suggested by Ralf Wildenhues
74932         <Ralf.Wildenhues@gmx.de>.
74933
74934 2006-09-13  Simon Josefsson  <jas@extundo.com>
74935
74936         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74937         @LIBOBJS@.
74938         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74939
74940 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74941
74942         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74943         longer worry about uses that don't define HAVE_CONFIG_H.
74944         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74945         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74946         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74947         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74948         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74949         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74950         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74951         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74952         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74953         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74954         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74955         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74956         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74957         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74958         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74959         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74960         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74961         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74962         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74963         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74964         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74965         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74966         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74967         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74968         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74969         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74970         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74971         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74972         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74973         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74974         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74975         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74976         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74977         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74978         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74979         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74980         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74981         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74982         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74983         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74984         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74985         Likewise.
74986
74987 2006-09-13  Eric Blake  <ebb9@byu.net>
74988
74989         * lib/getopt.c: Fix typo in last commit.
74990
74991 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74992
74993         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74994         dgettext.
74995
74996 2006-09-12  Jim Meyering  <jim@meyering.net>
74997
74998         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74999         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75000         Reported by Nelson H. F. Beebe.
75001
75002 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75003
75004         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75005         program_invocation_name and program_invocation_short_name are
75006         initialized.
75007         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75008         and program_invocation_short_name to argp.h, so they are visible
75009         to user programs.
75010         * lib/argp.h: Likewise
75011
75012 2006-09-10  Bruno Haible  <bruno@clisp.org>
75013
75014         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75015         m4/inttypes_h.m4, m4/uintmax_t.m4.
75016
75017 2006-09-10  Bruno Haible  <bruno@clisp.org>
75018
75019         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75020         gl_AC_TYPE_UINTMAX_T.
75021
75022 2006-09-10  Bruno Haible  <bruno@clisp.org>
75023
75024         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75025
75026 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75027
75028         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75029         convention.  Text proposed by Bruno Haible.
75030         (struct argp_option): Document the use of N_() wrappers.
75031
75032         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75033         '\v', and translate the two parts separately, instead of feeding
75034         the whole string to gettext.  This allows to exclude
75035         '\v' from the strings visible to the translator by writing doc
75036         strings as N_("..") "\v" N_("..").
75037
75038 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75039
75040         * config/srclist.txt: Undo latest change; the bug was fixed.
75041
75042 2006-09-09  Bruno Haible  <bruno@clisp.org>
75043
75044         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75045         assignments if building a library without libtool.
75046         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75047         in func_emit_lib_Makefile_am.
75048         (func_import): When building a static library libfoo.a, arrange to
75049         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75050         (func_create_testdir): Likewise.
75051         * modules/gc (configure.ac, Makefile.am): If building statically,
75052         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75053         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75054         * modules/striconv (configure.ac, Makefile.am): Likewise.
75055         Based on a suggestion by Ralf Wildenhues.
75056
75057 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75058
75059         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75060         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75061         Also:
75062
75063         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75064         Add year_2050_test to catch glibc bug 2821
75065         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75066
75067         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75068         Prefer #ifdef to #if.
75069
75070         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75071         Return from 'main' instead of calling 'exit'.
75072
75073 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75074
75075         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75076         returned the maximum time_t value rather than (time_t) -1.
75077         Problem originally reported by William Bardwell
75078         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75079
75080         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75081         Moved to here ...
75082         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75083         ... from here.
75084
75085 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75086
75087         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75088         2821 is fixed.
75089
75090 2006-09-08  Jim Meyering  <jim@meyering.net>
75091
75092         Don't make generated files read-only.  That would bother too many
75093         people.  However, do retain the ability to work when targets are
75094         read-only: remove the destination and temporary files before writing
75095         them (when generated via sed or echo), or by using the -f option for
75096         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75097         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75098         * modules/byteswap, modules/configmake, modules/fcntl:
75099         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75100         * modules/localcharset, modules/netinet_in, modules/poll:
75101         * modules/stdbool, modules/stdint, modules/sys_select:
75102         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75103
75104 2006-09-08  Jim Meyering  <jim@meyering.net>
75105
75106         Avoid new build failure on FreeBSD 6.0.
75107         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75108         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75109         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75110
75111 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75112
75113         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75114
75115 2006-09-07  Jim Meyering  <jim@meyering.net>
75116
75117         Fix global typo in last change: use chmod u-w, not chmod u-x.
75118         Spotted by Paul Eggert and Bruce Korb.
75119         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75120         * modules/byteswap, modules/configmake, modules/fcntl:
75121         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75122         * modules/localcharset, modules/netinet_in, modules/poll:
75123         * modules/stdbool, modules/stdint, modules/sys_select:
75124         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75125
75126 2006-09-06  Jim Meyering  <jim@meyering.net>
75127
75128         Make generated files be read-only.
75129         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75130         Ensure that each generated file is now read-only.
75131         * modules/argz: Likewise.
75132         * modules/arpa_inet: Likewise.
75133         * modules/byteswap: Likewise.
75134         * modules/configmake: Likewise.
75135         * modules/fcntl: Likewise.
75136         * modules/fnmatch: Likewise.
75137         * modules/getopt: Likewise.
75138         * modules/glob: Likewise.
75139         * modules/inttypes: Likewise.
75140         * modules/netinet_in: Likewise.
75141         * modules/poll: Likewise.
75142         * modules/stdbool: Likewise.
75143         * modules/stdint: Likewise.
75144         * modules/sys_select: Likewise.
75145         * modules/sys_socket: Likewise.
75146         * modules/sys_stat: Likewise.
75147         * modules/sysexits: Likewise.
75148         * modules/localcharset: Same as above, but continue using temporary
75149         file named "t-$@" (why different?) rather than the "$@-t" used
75150         everywhere else.
75151
75152         * modules/sysexits (Makefile.am): Replace literal occurrences
75153         of "sysexit.h" more readable, and more consistent, "$@".
75154
75155 2006-09-06  Bruno Haible  <bruno@clisp.org>
75156
75157         * modules/striconv: New file.
75158         * modules/xstriconv: New file.
75159         * MODULES.html.sh (Internationalization functions): Add striconv,
75160         xstriconv.
75161
75162 2006-09-06  Bruno Haible  <bruno@clisp.org>
75163
75164         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75165         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75166         not using libtool correctly.
75167
75168 2006-09-06  Bruno Haible  <bruno@clisp.org>
75169
75170         * lib/striconv.h: New file.
75171         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75172         iconvstring.c.
75173         * lib/xstriconv.h: New file.
75174         * lib/xstriconv.c: New file.
75175
75176 2006-09-06  Bruno Haible  <bruno@clisp.org>
75177
75178         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75179         lib_..._LDFLAGS.
75180
75181 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75182
75183         * lib/argz_.h: Sync from Libtool.
75184
75185         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75186                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75187
75188         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75189
75190 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75191
75192         * modules/trim: New file.
75193
75194 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75195
75196         * lib/trim.h: New file.
75197         * lib/trim.c: New file.
75198
75199 2006-09-05  Bruno Haible  <bruno@clisp.org>
75200
75201         * MODULES.html.sh (String handling): Add trim.
75202
75203 2006-09-04  Karl Berry  <karl@gnu.org>
75204
75205         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75206         until next release.
75207
75208 2006-09-03  Bruno Haible  <bruno@clisp.org>
75209
75210         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75211         correctly.
75212
75213 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75214
75215         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75216         not gl_GETLOADAVG.  Omit unneeded semicolons.
75217         Problems reported by Ralf Wildenhues in
75218         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75219         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75220         at the end, which is the usual gnulib style.
75221
75222         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75223         of doing all the work ourselves.
75224         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75225         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75226
75227 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75228
75229         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75230         Problem reported by Ralf Wildenhues in
75231         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75232
75233         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
75234         HAVE_STRUCT_STATFS_F_FSTYPENAME.
75235
75236 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
75239         yesterday's patch by changing test -n to test -z.
75240
75241 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75242
75243         * modules/getloadavg (Files): Add m4/getloadavg.m4.
75244         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
75245         the former is now obsolescent.
75246
75247         * modules/chdir-long (Depends-on): Add fcntl.
75248
75249 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
75252         obsolescent, and programs should use gnulib instead.
75253         * m4/getloadavg.m4: New file, with contents taken from Autoconf
75254         but with prefixes changed.
75255
75256 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75259         or stdbool.h, because they might not exist while configuring.
75260
75261         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75262         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75263         does that for us.
75264         (O_DIRECTORY): Remove.
75265
75266 2006-08-31  Eric Blake  <ebb9@byu.net>
75267
75268         * gnulib-tool: Don't let emacs change spaces to TAB.
75269
75270 2006-08-31  Bruno Haible  <bruno@clisp.org>
75271
75272         * gnulib-tool: When calling func_import more than once, do it in a
75273         subshell.
75274         Reported by Eric Blake <ebb9@byu.net>.
75275
75276 2006-08-31  Bruno Haible  <bruno@clisp.org>
75277
75278         * gnulib-tool (nl): Remove variable.
75279         (sed_transform_lib_file): Use more robust test for config-h module.
75280         (func_import): Fix typo in 2006-08-25 patch.
75281
75282 2006-08-31  Bruno Haible  <bruno@clisp.org>
75283
75284         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75285         specified, augment Makefile.am variables instead of assigning them.
75286
75287 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75288
75289         Work around a bug in both the Linux and SunOS 64-bit kernels:
75290         nanosleep mishandles sleeps for longer than 2**31 seconds.
75291         Problem reported by Frank v Waveren in
75292         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75294         Check for nanosleep bug.
75295         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75296
75297 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75298
75299         Work around a bug in both the Linux and SunOS 64-bit kernels:
75300         nanosleep mishandles sleeps for longer than 2**31 seconds.
75301         Problem reported by Frank v Waveren in
75302         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75303         * lib/nanosleep.c (BILLION): New constant.
75304         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75305         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75306         implementation.
75307
75308 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75309
75310         * modules/nanosleep (Depends-on): Add gettime.
75311
75312 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75313         and Simon Josefsson  <jas@extundo.com>
75314         and Oskar Liljeblad  <oskar@osk.mine.nu>
75315
75316         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75317         * gnulib-tool (func_import): New license type 'unmodifiable license
75318         text'.
75319         * modules/fdl: Use it.  Longer description.
75320         * module/gpl, module/lgpl: New files.
75321
75322 2006-08-30  Jim Meyering  <jim@meyering.net>
75323
75324         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75325         shadowing the parameter.
75326
75327 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75328
75329         Sync from Libtool:
75330
75331         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75332
75333         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75334         sharing with gnulib.  Report by Eric Blake.
75335
75336 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75337
75338         * modules/isapipe: New file.
75339         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75340
75341 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75342
75343         * modules/configmake (Makefile.am): Add a comment, and omit
75344         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75345         by Bruno Haible.
75346
75347 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * m4/isapipe.m4: New file.
75350
75351 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75352
75353         * lib/isapipe.c, lib/isapipe.h: New files.
75354
75355 2006-08-29  Jim Meyering  <jim@meyering.net>
75356
75357         * modules/configmake (Makefile.am): Make configmake.h depend on
75358         Makefile.  Otherwise, a stale configmake.h could hang around.
75359
75360 2006-08-29  Eric Blake  <ebb9@byu.net>
75361
75362         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75363         resolution of upstream bug 3044.
75364
75365 2006-08-29  Bruno Haible  <bruno@clisp.org>
75366
75367         * modules/localcharset (Depends-on): Add configmake.
75368         (Makefile.am): Remove setting of LIBDIR through DEFS.
75369
75370 2006-08-29  Bruno Haible  <bruno@clisp.org>
75371
75372         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75373         defined.
75374
75375 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75376
75377         * modules/fcntl: New file.
75378         * modules/chdir-safer (Depends-on): Add fcntl.
75379         * modules/fts: Likewise.
75380         * modules/mkdir-p: Likewise.
75381
75382         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75383         This undoes the most recent change, since we're now addressing the
75384         problem in a different way.
75385
75386         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75387         into output, since the output might be called Makefile.am even
75388         if $makefile_name is something different.
75389         (func_import): Use $makefile_am rather than
75390         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75391         empty.
75392
75393         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75394
75395 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75396
75397         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75398         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75399         recent change to stdint.m4, since we're now addressing the problem in a
75400         different way.
75401
75402 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75403
75404         * m4/fcntl_h.m4: New file.
75405
75406 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75407
75408         * lib/fcntl_.h: New file.
75409         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75410         the fcntl module.
75411         * lib/dirchownmod.c: Likewise.
75412         * lib/fts.c: Likewise.
75413
75414         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75415         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75416         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75417         just before including <inttypes.h>, to avoid circular inclusion.
75418
75419 2006-08-28  Jim Meyering  <jim@meyering.net>
75420
75421         * doc/visibility.texi: Actually read and correct the grammar of the
75422         sentence affected by yesterday's change.
75423
75424 2006-08-28  Eric Blake  <ebb9@byu.net>
75425
75426         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75427         needs wrapper.
75428
75429 2006-08-28  Eric Blake  <ebb9@byu.net>
75430
75431         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75432
75433 2006-08-28  Eric Blake  <ebb9@byu.net>
75434
75435         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75436
75437 2006-08-28  Bruno Haible  <bruno@clisp.org>
75438
75439         * modules/c-strstr: New file, from GNU gettext.
75440         * MODULES.html.sh (String handling): Add c-strstr.
75441
75442 2006-08-28  Bruno Haible  <bruno@clisp.org>
75443
75444         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75445         macros.
75446         Reported by Eric Blake.
75447
75448 2006-08-28  Bruno Haible  <bruno@clisp.org>
75449
75450         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75451         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75452         * lib/vasprintf.c: Include errno.h, limits.h.
75453         (EOVERFLOW): New fallback definition.
75454         (vasprintf): Test here whether the string length is > INT_MAX.
75455         * lib/vsnprintf.c: Include errno.h, limits.h.
75456         (EOVERFLOW): New fallback definition.
75457         (vsnprintf): Fix bug when generated string was too long for the buffer.
75458         Test here whether the string length is > INT_MAX.
75459
75460 2006-08-28  Bruno Haible  <bruno@clisp.org>
75461
75462         * lib/inttypes_.h (SCNX*): Remove definitions.
75463         Reported by Eric Blake.
75464
75465 2006-08-28  Bruno Haible  <bruno@clisp.org>
75466
75467         * lib/c-strstr.h: New file, from GNU gettext.
75468         * lib/c-strstr.c: New file, from GNU gettext.
75469
75470 2006-08-28  Bruno Haible  <bruno@clisp.org>
75471
75472         * gnulib-tool: Reorder some statements.
75473
75474 2006-08-28  Bruno Haible  <bruno@clisp.org>
75475
75476         * gnulib-tool: New option --makefile-name.
75477         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75478         $makefile_name.
75479         (func_import): Write $makefile_name to the cache file, and read it from
75480         there unless explicitly specified. Use $makefile_name as file name
75481         instead of Makefile.am. Adjust the recommendations accordingly.
75482
75483 2006-08-28  Bruno Haible  <bruno@clisp.org>
75484
75485         * gnulib-tool (func_verify_module): Check against misapplying patch.
75486
75487 2006-08-28  Bruno Haible  <bruno@clisp.org>
75488
75489         * gnulib-tool (func_relativize, func_relconcat): New functions.
75490         Give an error if --local-dir is given with --update.
75491         Remove trailing slashes from $local_gnulib_dir.
75492         (func_import): Store the relativized $local_gnulib_dir in
75493         gnulib-cache.m4, and read it from there if not specified explicitly.
75494
75495 2006-08-28  Bruno Haible  <bruno@clisp.org>
75496
75497         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75498         is the current directory. Respect also $local_gnulib_dir.
75499
75500 2006-08-28  Bruno Haible  <bruno@clisp.org>
75501             Simon Josefsson  <jas@extundo.com>
75502
75503         BeOS portability.
75504         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75505
75506 2006-08-27  Jim Meyering  <jim@meyering.net>
75507
75508         * doc/visibility.texi: Remove duplicate word: "pointer".
75509
75510 2006-08-26  Bruno Haible  <bruno@clisp.org>
75511
75512         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75513         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75514         (Makefile.am): Create inttypes.h from inttypes_.h.
75515         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75516
75517         * modules/imaxabs: New file.
75518
75519         * modules/imaxdiv: New file.
75520
75521 2006-08-26  Bruno Haible  <bruno@clisp.org>
75522
75523         * m4/inttypes.m4: New file.
75524         * m4/_inttypes_h.m4: Remove file.
75525         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75526         PRI_MACROS_BROKEN.
75527         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75528
75529         * m4/imaxabs.m4: New file.
75530
75531         * m4/imaxdiv.m4: New file.
75532
75533 2006-08-26  Bruno Haible  <bruno@clisp.org>
75534
75535         * lib/inttypes_.h: New file.
75536         * lib/inttypes.h: Remove file.
75537         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75538
75539         * lib/imaxabs.c: New file.
75540
75541         * lib/imaxdiv.c: New file.
75542
75543 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75544
75545         New config-h module, so that "make" output needn't be cluttered
75546         by -DHAVE_CONFIG_H.
75547         * MODULES.html.sh (Support for building libraries and executables):
75548         Add config-h.
75549         * modules/config-h: New file.
75550         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75551         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75552         the config-h module is used.
75553
75554         New configmake module, so that "make" output needn't be cluttered
75555         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75556         * MODULES.html.sh (Support for building libraries and executables):
75557         Add configmake.
75558         * modules/configmake: New file.
75559
75560 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75561
75562         * m4/config-h.m4: New file.
75563
75564 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75565
75566         * config/srclist.txt: Add elisp-comp.
75567
75568 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75569
75570         * MODULES.html.sh (Support for building libraries and executables):
75571         Add elisp-comp.
75572         * build-aux/elisp-comp: New file.
75573         * modules/elisp-comp: New file.
75574
75575 2006-08-24  Bruno Haible  <bruno@clisp.org>
75576
75577         * gnulib-tool (func_create_testdir): Use non-default values of
75578         sourcebase and m4base.
75579
75580 2006-08-24  Bruno Haible  <bruno@clisp.org>
75581
75582         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
75583         HTML structure.
75584
75585 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75586
75587         * modules/openat (Depends-on): Add lchown.
75588
75589 2006-08-23  Bruno Haible  <bruno@clisp.org>
75590
75591         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
75592         of gl_LOCK_EARLY instead of gl_LOCK.
75593
75594 2006-08-23  Bruno Haible  <bruno@clisp.org>
75595
75596         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
75597         on OSF/1 to no.
75598         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
75599
75600 2006-08-23  Bruno Haible  <bruno@clisp.org>
75601
75602         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
75603         as unusable.
75604
75605         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
75606         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
75607         (gl_LOCK): New macro.
75608
75609 2006-08-22  Simon Josefsson  <jas@extundo.com>
75610
75611         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
75612         to md5 module.
75613
75614 2006-08-22  Simon Josefsson  <jas@extundo.com>
75615
75616         * MODULES.html.sh: Add "Support for maintaining and release
75617         projects".
75618
75619         * build-aux/gnupload: New file, from coreutils.
75620
75621 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75622
75623         Avoid the need for AC_LIBSOURCES in m4 macros.
75624         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
75625         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
75626         * modules/check-version (EXTRA_DIST): Add check-version.h.
75627         * modules/crc (EXTRA_DIST): Add crc.h.
75628         * modules/des (EXTRA_DIST): Add des.h.
75629         * modules/gc (EXTRA_DIST): Add gc.h.
75630         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
75631         * modules/getline (EXTRA_DIST): Add getline.h.
75632         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
75633         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
75634         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
75635         * modules/md2 (EXTRA_DIST): Add md2.h.
75636         * modules/md4 (EXTRA_DIST): Add md4.h.
75637         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
75638         * modules/read-file (EXTRA_DIST): Add read-file.h.
75639         * modules/readline (EXTRA_DIST): Add readline.h.
75640         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
75641         rijndael-api-fst.h.
75642
75643 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75644
75645         * m4/rijndael.m4 (gl_ARCFOUR):
75646         * m4/arctwo.m4 (gl_ARCTWO):
75647         * m4/check-version.m4 (gl_CHECK_VERSION):
75648         * m4/crc.m4 (gl_CRC):
75649         * m4/des.m4 (gl_DES):
75650         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
75651         * m4/gc.m4 (gl_GC):
75652         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
75653         * m4/getline.m4 (gl_FUNC_GETLINE):
75654         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
75655         * m4/hmac-md5.m4 (gl_HMAC_MD5):
75656         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
75657         * m4/md2.m4 (gl_MD2):
75658         * m4/md4.m4 (gl_MD4):
75659         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
75660         * m4/read-file.m4 (gl_FUNC_READ_FILE):
75661         * m4/readline.m4 (gl_FUNC_READLINE):
75662         * m4/rijndael.m4 (gl_RIJNDAEL):
75663         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75664         to get the necessary .h files and whatnot.
75665
75666 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75667
75668         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
75669         gnulib rather than the other way around.
75670         * config/srclistvars.sh (COREUTILS): Remove.
75671
75672 2006-08-22  Jim Meyering  <jim@meyering.net>
75673
75674         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
75675
75676         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
75677
75678 2006-08-22  Eric Blake  <ebb9@byu.net>
75679
75680         * modules/regexprops-generic: New file.
75681         * MODULES.html.sh (Support for building documentation): List it.
75682
75683 2006-08-22  Eric Blake  <ebb9@byu.net>
75684
75685         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
75686         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
75687         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
75688         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
75689
75690 2006-08-22  Bruno Haible  <bruno@clisp.org>
75691
75692         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
75693         and lib_LTLIBRARIES like the other lib_* variables.
75694
75695 2006-08-22  Bruno Haible  <bruno@clisp.org>
75696
75697         * build-aux/x-to-1.in: New file, from GNU gettext.
75698
75699 2006-08-22  Bruno Haible  <bruno@clisp.org>
75700
75701         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
75702         <utmpx.h> exists.
75703
75704 2006-08-22  Bruno Haible  <bruno@clisp.org>
75705
75706         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
75707         <utmpx.h> exists.
75708
75709 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75710
75711         BeOS portability.
75712         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
75713         exist.
75714         Problem reported by Bruno Haible.
75715
75716 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75717
75718         Avoid the need for AC_LIBSOURCES in m4 macros.
75719         * modules/acl (EXTRA_DIST): Add acl.h.
75720         * modules/argmatch (Files): Add m4/argmatch.m4.
75721         (configure.ac): Add gl_ARGMATCH.
75722         (EXTRA_DIST): Renamed from lib_SOURCES, for
75723         consistency with the other modules.  Remove argmatch.c.
75724         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
75725         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
75726         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
75727         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
75728         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
75729         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
75730         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
75731         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
75732         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
75733         * modules/closeout (EXTRA_DIST): Add closeout.h.
75734         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
75735         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
75736         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
75737         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
75738         dirname.h; remove basename.c and stripslash.c.
75739         * modules/exclude (EXTRA_DIST): Add exclude.h.
75740         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
75741         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
75742         * modules/file-type (EXTRA_DIST): Add file-type.h.
75743         * modules/filemode (EXTRA_DIST): Add filemode.h.
75744         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
75745         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75746         * modules/fpending (EXTRA_DIST): Add __fpending.h.
75747         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
75748         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
75749         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
75750         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
75751         * modules/getdate (EXTRA_DIST): Add getdate.c.
75752         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
75753         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
75754         * modules/getpass (EXTRA_DIST): Add getpass.h.
75755         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
75756         * modules/group-member (EXTRA_DIST): Add group-member.h.
75757         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
75758         * modules/hash (EXTRA_DIST): Add hash.h.
75759         * modules/human (EXTRA_DIST): Add human.h.
75760         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
75761         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
75762         * modules/lchown (EXTRA_DIST): Add lchown.h.
75763         * modules/long-options (EXTRA_DIST): Add long-options.h.
75764         * modules/lstat (EXTRA_DIST): Add lstat.h.
75765         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75766         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75767         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75768         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75769         * modules/memxor (EXTRA_DIST): Add memxor.h.
75770         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75771         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75772         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75773         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75774         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75775         * modules/physmem (EXTRA_DIST): Add physmem.h.
75776         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75777         * modules/posixver (EXTRA_DIST): Add posixver.h.
75778         * modules/quote (EXTRA_DIST): Add quote.h.
75779         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75780         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75781         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75782         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75783         regex_internal.h regexec.c.
75784         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75785         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75786         * modules/same (EXTRA_DIST): Add same.h.
75787         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75788         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75789         * modules/savedir (EXTRA_DIST): Add savedir.h.
75790         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75791         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75792         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75793         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75794         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75795         * modules/strdup (EXTRA_DIST): Add strdup.h.
75796         * modules/strftime (EXTRA_DIST): Add strftime.h.
75797         * modules/strndup (EXTRA_DIST): Add strndup.h.
75798         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75799         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75800         * modules/time_r (EXTRA_DIST): Add time_r.h.
75801         * modules/timespec (EXTRA_DIST): Add timespec.h.
75802         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75803         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75804         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75805         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75806         * modules/userspec (EXTRA_DIST): Add userspec.h.
75807         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75808         * modules/utimens (EXTRA_DIST): Add utimens.h.
75809         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75810         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75811         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75812         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75813         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75814         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75815         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75816         * modules/yesno (EXTRA_DIST): Add yesno.h.
75817
75818 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75819
75820         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75821
75822         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75823         * m4/dev-ino.m4, same-inode.m4: Remove.
75824
75825         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75826         * m4/acl.m4 (AC_FUNC_ACL):
75827         * m4/backupfile.m4 (gl_BACKUPFILE):
75828         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75829         * m4/canon-host.m4 (gl_CANON_HOST):
75830         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75831         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75832         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75833         * m4/cloexec.m4 (gl_CLOEXEC):
75834         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75835         * m4/closeout.m4 (gl_CLOSEOUT):
75836         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75837         * m4/dirname.m4 (gl_DIRNAME):
75838         * m4/exclude.m4 (gl_EXCLUDE):
75839         * m4/exitfail.m4 (gl_EXITFAIL):
75840         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75841         * m4/file-type.m4 (gl_FILE_TYPE):
75842         * m4/filemode.m4 (gl_FILEMODE):
75843         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75844         * m4/fpending.m4 (gl_FUNC_FPENDING):
75845         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75846         * m4/fts.m4 (gl_FUNC_FTS):
75847         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75848         * m4/getdate.m4 (gl_GETDATE):
75849         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75850         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75851         * m4/getpass.m4 (gl_FUNC_GETPASS):
75852         * m4/gettime.m4 (gl_GETTIME):
75853         * m4/getugroups.m4 (gl_GETUGROUPS):
75854         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75855         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75856         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75857         * m4/hash.m4 (gl_HASH):
75858         * m4/idcache.m4 (gl_IDCACHE):
75859         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75860         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75861         * m4/long-options.m4 (gl_LONG_OPTIONS):
75862         * m4/lstat.m4 (gl_FUNC_LSTAT):
75863         * m4/md5.m4 (gl_MD5):
75864         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75865         * m4/memcoll.m4 (gl_MEMCOLL):
75866         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75867         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75868         * m4/memxor.m4 (gl_MEMXOR):
75869         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75870         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75871         * m4/modechange.m4 (gl_MODECHANGE):
75872         * m4/mountlist.m4 (gl_MOUNTLIST):
75873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75874         * m4/openat.m4 (gl_FUNC_OPENAT):
75875         * m4/pathmax.m4 (gl_PATHMAX):
75876         * m4/physmem.m4 (gl_PHYSMEM):
75877         * m4/posixtm.m4 (gl_POSIXTM):
75878         * m4/posixver.m4 (gl_POSIXVER):
75879         * m4/quote.m4 (gl_QUOTE):
75880         * m4/quotearg.m4 (gl_QUOTEARG):
75881         * m4/readtokens.m4 (gl_READTOKENS):
75882         * m4/readutmp.m4 (gl_READUTMP):
75883         * m4/regex.m4 (gl_REGEX):
75884         * m4/safe-read.m4 (gl_SAFE_READ):
75885         * m4/safe-write.m4 (gl_SAFE_WRITE):
75886         * m4/same.m4 (gl_SAME):
75887         * m4/save-cwd.m4 (gl_SAVE_CWD):
75888         * m4/savedir.m4 (gl_SAVEDIR):
75889         * m4/settime.m4 (gl_SETTIME):
75890         * m4/sha1.m4 (gl_SHA1):
75891         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75892         * m4/stat-macros.m4 (gl_STAT_MACROS):
75893         * m4/stat-time.m4 (gl_STAT_TIME):
75894         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75895         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75896         * m4/strdup.m4 (gl_FUNC_STRDUP):
75897         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75898         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75899         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75900         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75901         * m4/time_r.m4 (gl_TIME_R):
75902         * m4/timespec.m4 (gl_TIMESPEC):
75903         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75904         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75905         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75906         * m4/userspec.m4 (gl_USERSPEC):
75907         * m4/utimecmp.m4 (gl_UTIMECMP):
75908         * m4/utimens.m4 (gl_UTIMENS):
75909         * m4/xalloc.m4 (gl_XALLOC):
75910         * m4/xgetcwd.m4 (gl_XGETCWD):
75911         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75912         * m4/xreadlink.m4 (gl_XREADLINK):
75913         * m4/xstrtod.m4 (gl_XSTRTOD):
75914         * m4/yesno.m4 (gl_YESNO):
75915         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75916         to get the necessary .h files and whatnot.
75917
75918 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75919             Bruno Haible  <bruno@clisp.org>
75920
75921         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75922         /bin/sh understanding of '!' conditional negation.
75923
75924 2006-08-21  Jim Meyering  <jim@meyering.net>
75925
75926         * modules/openat (Depends-on): Really alphabetize.
75927
75928         * modules/acl (Depends-on): Add error and quote.
75929
75930         * check-module (find_included_lib_files): Add at-func.c to the
75931         ok-to-include-more-than-once white list.
75932
75933         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75934
75935 2006-08-21  Bruno Haible  <bruno@clisp.org>
75936
75937         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75938         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75939         Reported by Martin Lambers <marlam@marlam.de>.
75940
75941 2006-08-21  Bruno Haible  <bruno@clisp.org>
75942
75943         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75944         specify an installation location, don't emit a noinst_LIBRARIES or
75945         noinst_LTLIBRARIES assignment.
75946
75947 2006-08-21  Bruno Haible  <bruno@clisp.org>
75948
75949         BeOS portability.
75950         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75951         BeOS has mbrtowc() but no <wctype.h>.
75952
75953 2006-08-21  Bruno Haible  <bruno@clisp.org>
75954
75955         BeOS portability.
75956         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75957         exist.
75958
75959 2006-08-21  Bruno Haible  <bruno@clisp.org>
75960
75961         BeOS portability.
75962         * lib/mbchar.h: Include <wctype.h> only if it exists.
75963
75964 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75965
75966         Remove files that are no longer needed by their respective modules.
75967         * m4/obstack.m4: Remove.
75968         * m4/strerror_r.m4: Remove.
75969         * m4/uint32_t.m4: Remove.
75970         * m4/uintptr_t.m4: Remove.
75971         * m4/ullong_max.m4: Remove.
75972         * m4/xstrtoimax.m4: Remove.
75973         * m4/xstrtoumax.m4: Remove.
75974
75975         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75976         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75977         dependencies now capture this.
75978
75979         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75980         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75981         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75982         * m4/human.m4 (gl_HUMAN): Likewise.
75983         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75984         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75985
75986         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75987
75988         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75989         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75990         stdint.
75991         * m4/human.m4 (gl_HUMAN): Likewise.
75992         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75993         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75994         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75995         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75996         * m4/xstrtol (gl_XSTRTOL): Likewise.
75997
75998         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75999         AC_TYPE_LONG_LONG_INT.
76000         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76001         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76002         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76003         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76004
76005         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76006         on stdbool.
76007
76008         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76009         (gl_PREREQ_XSTRTOUL): Remove.
76010
76011         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76012
76013         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76014         mode.
76015
76016 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76017
76018         Add and change modules to make it easier for coreutils to use
76019         gnulib-tool.
76020         * modules/backupfile (Files): Remove m4/d-ino.m4.
76021         (Depends-on): Add d-ino.
76022         * modules/cycle-check (Depends-on): Add stdint.
76023         (lib_SOURCES): Add cycle-check.h.
76024         * modules/d-ino: New module.
76025         * modules/d-type: New module.
76026         * modules/error (Files): Remove m4/strerror_r.m4.
76027         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76028         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76029         m4/inttypes_h.m4, m4/uintmax_t.m4.
76030         (Depends-on): Add stdint.
76031         (lib_SOURCES): Add fsusage.h.
76032         * modules/getcwd (Files): Remove d-ino.m4.
76033         (Depends-on): Add d-ino.
76034         * modules/getndelim2 (Depends-on): Add stdint.
76035         * modules/glob (Files): Remove m4/d-type.m4.
76036         (Depends-on): Add d-type.
76037         * modules/host-os: New module.
76038         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76039         m4/inttypes_h.m4, m4/uintmax_t.m4.
76040         * Depends-on: Add stdint.
76041         (lib_SOURCES): Add human.h.
76042         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76043         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76044         m4/uintmax_t.m4, m4/ulonglong.m4.
76045         (Depends-on): Add stdint.
76046         (EXTRA_DIST): Add inttostr.h.
76047         * modules/lchmod: New module.
76048         * modules/link-follow: New module.
76049         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76050         (Depends-on): Add lchmod.
76051         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76052         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76053         (Depends-on): Add stdint.
76054         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76055         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76056         (Depends-on): Add stdint.
76057         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76058         * modules/perl: New module.
76059         * modules/regex (Depends-on): Add stdint.
76060         * modules/rmdir-errno: New module.
76061         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76062         m4/intmax_t.m4.
76063         (Depends-on): Add stdint.
76064         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76065         m4/uintmax_t.m4.
76066         (Depends-on): Add stdint.
76067         * modules/unlink-busy: New module.
76068         * modules/utimecmp (Depends-on): Add stdint.
76069         * modules/uptime: New module.
76070         * modules/winsz-ioctl: New module.
76071         * modules/winsz-termios: New module.
76072         * modules/xnanosleep (Depends-on): Add nanosleep.
76073         * modules/ullong_max: Remove.
76074         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76075         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76076         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76077         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76078         (Depends-on): Add inttypes.
76079         (lib_SOURCES): Add xstrtol.h.
76080         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76081         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76082         * MODULES.html.sh: Move 'assert' into the assert section.
76083         Move 'dummy' into the linking section.
76084         Remove ullong_max.
76085         Add section for compatibility checks for POSIX:2001 functions,
76086         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76087         winsz-ioctl, and winsz-termios into it.
76088         Add lchmod.
76089         Add top-level Misc section and put host-os, perl, and uptime
76090         into it.
76091
76092 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76093
76094         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76095         now assume the stdint module.  Do not include inttypes.h.
76096         * lib/fsusage.h: Likewise.
76097         * lib/getndelim2.c: Likewise.
76098         * lib/human.h: Likewise.
76099         * lib/inttostr.h: Likewise.
76100         * lib/obstack.c: Likewise.
76101         * lib/regex_internal.h: Likewise.
76102         * lib/tempname.c: Likewise.
76103         * lib/utimecmp.c: Likewise.
76104         * lib/xstrtol.h: Likewise.
76105
76106         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76107
76108         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76109         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76110         * lib/xtime.h: Likewise.
76111
76112 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76113
76114         * modules/openat (Files): Add lib/fchmodat.c.
76115         Fixes problem reported by Jay Youngman.
76116
76117 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76118
76119         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76120         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76121
76122 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76123             Bruno Haible  <bruno@clisp.org>
76124
76125         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76126         and is a script that invokes bison. Tighten the code. Add comments.
76127
76128 2006-08-18  Jim Meyering  <jim@meyering.net>
76129
76130         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76131         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76132         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76133         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76134
76135 2006-08-18  Bruno Haible  <bruno@clisp.org>
76136
76137         * modules/bison-i18n: New file.
76138         * MODULES.html.sh (Internationalization functions): Add it.
76139
76140 2006-08-18  Bruno Haible  <bruno@clisp.org>
76141
76142         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76143         sys/statvfs.h. When getmntinfo was found, check its declaration and
76144         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76145
76146 2006-08-18  Bruno Haible  <bruno@clisp.org>
76147
76148         * m4/bison-i18n.m4: New file, from bison.
76149
76150 2006-08-18  Bruno Haible  <bruno@clisp.org>
76151
76152         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76153         (ME_DUMMY): Treat "kernfs" as a dummy.
76154         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76155
76156 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76157
76158         Update from coreutils.
76159
76160         2006-08-15  Jim Meyering  <jim@meyering.net>
76161
76162         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76163
76164         2006-01-17  Jim Meyering  <jim@meyering.net>
76165
76166         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76167
76168         2006-01-11  Jim Meyering  <jim@meyering.net>
76169
76170         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76171         Check for the lchmod function.
76172
76173 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76174
76175         Update from coreutils.
76176
76177         * lib/__fpending.h: Add copyright notice.
76178         * lib/fprintftime.h: Likewise.
76179         * lib/savedir.c: Use (C) in copyright notice.
76180         * lib/savedir.h: Likewise.
76181
76182         2006-08-15  Jim Meyering  <jim@meyering.net>
76183
76184         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76185         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76186         in support of the EXPECTED_ERRNO macro.
76187         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76188         definitions.  Instead, define the appropriate symbols and include
76189         "at-func.c".
76190         * lib/mkdirat.c (mkdirat): Likewise.
76191         * lib/fchmodat.c (fchmodat): Likewise.
76192         (ENOSYS): Remove definition.
76193         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76194         it.  Don't include "unistd--.h" -- it wasn't ever used.
76195
76196         2006-01-17  Jim Meyering  <jim@meyering.net>
76197
76198         Rewrite fts.c not to change the current working directory,
76199         by using openat, fstatat, fdopendir, etc..
76200
76201         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76202         (HAVE_OPENAT_SUPPORT): Define.
76203         [_LIBC] (fchdir): Don't undef or define; no longer used.
76204         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76205         Now, this `function' always succeeds, and consumes its file descriptor
76206         parameter -- so callers must not close such FDs.  Update callers.
76207         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76208         (diropen): Add parameter, SP.  Adjust all callers.
76209         Implement using diropen_fd, rather than open.
76210         (fts_open): Initialize new member, fts_cwd_fd.
76211         Remove fts_rft-setting code.
76212         (fts_close): Close fts_cwd_fd, if necessary.
76213         (__opendir2): Define in terms of opendir or opendirat,
76214         depending on whether the FST_NOCHDIR flag is set.
76215         (fts_build): Since fts_safe_changedir consumes its FD, and since
76216         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76217         and close the dup'd file descriptor upon failure.
76218         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76219         (fts_safe_changedir): Tweak semantics to reflect that this function
76220         now calls cwd_advance_fd and hence consumes its FD argument.
76221         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76222         [struct FTS] (fts_rft): Remove now-unused member.
76223         [struct FTS] (fts_cycle.state): Improve comment.
76224
76225         * lib/openat.c (openat_needs_fchdir): New function.
76226         * lib/openat.h (openat_needs_fchdir): Declare it.
76227
76228 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76229
76230         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76231         Problem and fix reported by Pádraig Brady in
76232         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
76233
76234 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76235
76236         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
76237
76238 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76239
76240         * lib/memcoll.c (memcoll): Optimize for the common case where the
76241         arguments are bytewise equal.
76242
76243 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76244
76245         * doc/regexprops-generic.texi: Add a copyright notice.
76246
76247 2006-08-15  Bruno Haible  <bruno@clisp.org>
76248
76249         * modules/tmpdir (License): Change to LGPL.
76250
76251 2006-08-15  Bruno Haible  <bruno@clisp.org>
76252
76253         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
76254         module.
76255
76256 2006-08-14  Simon Josefsson  <jas@extundo.com>
76257
76258         * config/srclist.txt: Add gnupload.
76259
76260 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76261
76262         Change copyright notice from LGPL 2 to GPL 2, since that's the
76263         standard form used in the gnulib repository.
76264         * tests/test-lock.c: Likewise.
76265         * tests/test-stdint.c: Likewise.
76266         * tests/test-tls.c: Likewise.
76267
76268         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76269         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76270         Add copyright notice.
76271
76272         * check-module: Add copyright notice.  Output a copyright
76273         notice if "--version" is specified.
76274         * modules/COPYING: New file.
76275         * tests/test-getaddrinfo.c: Add copyright notice.
76276         * tests/test-verify.c: Likewise.
76277
76278 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76279
76280         Change copyright notice from LGPL 2 to GPL 2, since that's the
76281         standard form used in the gnulib repository.
76282         * lib/lock.c: LGPL -> GPL.
76283         * lib/lock.h: Likewise.
76284         * lib/strnlen1.c: Likewise.
76285         * lib/strnlen1.h: Likewise.
76286         * lib/tls.c: Likewise.
76287         * lib/tls.h: Likewise.
76288         * lib/tmpdir.c: Likewise.
76289
76290         * lib/TODO: Remove; this belongs only in coreutils.
76291
76292 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76293
76294         Add copyright notices to long-enough files that lack them, since
76295         otherwise the files aren't clearly free.  Use the same notice that
76296         getdate.texi already uses.
76297         * doc/alloca-opt.texi: Add copyright notice.
76298         * doc/alloca.texi: Likewise.
76299         * doc/ctime.texi: Likewise.
76300         * doc/functions.texi: Likewise.
76301         * doc/gcd.texi: Likewise.
76302         * doc/gnulib-tool.texi: Likewise.
76303         * doc/inet_ntoa.texi: Likewise.
76304         * doc/visibility.texi: Likewise.
76305
76306         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76307         * doc/quote.texi: Add copyright notice.
76308
76309         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76310         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76311         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76312         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76313         is now obsolete, and give a pointer to the Sun list.
76314         Add copyright notice.
76315
76316 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76317
76318         * config/srclistvars.sh: Add copyright notice.
76319
76320 2006-08-14  Eric Blake  <ebb9@byu.net>
76321
76322         Import the following change from libc:
76323
76324         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76325
76326         Upstream bug 2997.
76327         * lib/misc/error.c: Add space between program name and message if file
76328         name is missing.
76329
76330 2006-08-12  Karl Berry  <karl@gnu.org>
76331
76332         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76333         remove, these originate in gnulib now.
76334
76335 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76336
76337         * doc/Makefile (standards.info standards.html standards.dvi):
76338         Also depend on make-stds.texi.
76339
76340 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76341
76342         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76343         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76344
76345         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76346         in wchar_t.  Problem reported by Eric Blake.
76347
76348         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76349         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76350         Also, help the compiler to keep LEN in a register.
76351
76352 2006-08-11  Eric Blake  <ebb9@byu.net>
76353
76354         * users.txt: Sort.  Add tar.
76355
76356 2006-08-11  Bruno Haible  <bruno@clisp.org>
76357
76358         * users.txt: New file.
76359
76360 2006-08-11  Bruno Haible  <bruno@clisp.org>
76361
76362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76363         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76364
76365 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76366
76367         * modules/snprintf (Depends-on): Remove minmax.
76368         (Maintainer): Add self and Bruno.
76369
76370 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76371
76372         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76373         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76374         (EOVERFLOW): Define if the system does not.
76375         Do not include "minmax.h"; it wasn't used.
76376         (snprintf): Don't assume size_t promotes to an unsigned type.
76377         Fix bug when generated string was too long for the buffer: the
76378         buffer's contents are supposed to be the initial prefix of the
76379         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76380         exceeds INT_MAX; do the check ourselves.
76381
76382         Import the following changes from libc:
76383
76384         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76385
76386         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76387         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76388         set wc to the byte which couldn't be converted.
76389         (re_string_reconstruct): Don't clear valid_raw_len before calling
76390         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76391         tip_context using re_string_context_at.
76392
76393         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76394
76395         * lib/posix/regex.h: g++ still cannot handled [restrict].
76396
76397         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76398
76399         * lib/posix/regex.h: Remove special handling for VMS.
76400
76401 2006-08-10  Jim Meyering  <jim@meyering.net>
76402
76403         * modules/same-inode: New module.
76404         * modules/dev-ino: New module.
76405         * modules/cycle-check: Depend on these modules, rather than simply
76406         including their .h files.
76407         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76408         required via m4/cycle-check.m4.
76409         * modules/same: Depend on new same-inode module, rather than
76410         including same-inode.h.
76411         * modules/chdir-safer: New file.
76412
76413         * modules/chown (Depends-on): Add stat-macros.
76414
76415 2006-08-10  Jim Meyering  <jim@meyering.net>
76416
76417         * m4/cycle-check.m4: New file.
76418         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76419         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76420
76421 2006-08-10  Eric Blake  <ebb9@byu.net>
76422
76423         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76424         in from original proposal.
76425
76426 2006-08-10  Eric Blake  <ebb9@byu.net>
76427         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76428
76429         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76430         namespace.
76431
76432 2006-08-10  Bruno Haible  <bruno@clisp.org>
76433
76434         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76435         as well.
76436
76437 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76438
76439         Sync from coreutils.
76440
76441         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76442
76443         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76444         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76445
76446 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * modules/restrict: Remove; no longer needed now that we assume
76449         Autoconf 2.59 or later.
76450         * MODULES.html.sh: Remove 'restrict'.
76451         * modules/argp (Depends-on): Remove 'restrict'.
76452         * modules/base64 (Depends-on): Likewise.
76453         * modules/gc (Depends-on): Likewise.
76454         * modules/getaddrinfo (Depends-on): Likewise.
76455         * modules/glob (Depends-on): Likewise.
76456         * modules/inet_ntop (Depends-on): Likewise.
76457         * modules/inet_pton (Depends-on): Likewise.
76458         * modules/memxor (Depends-on): Likewise.
76459         * modules/regex (Depends-on): Likewise.
76460         * modules/strtok_r (Depends-on): Likewise.
76461         * modules/time_r (Depends-on): Likewise.
76462
76463 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76464
76465         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76466         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76467         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76468         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76469         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76470         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76471         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76472         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76473
76474         Merge from coreutils.
76475         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76476         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76477         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76478         * m4/time_r.m4 (gl_TIME_R): Likewise.
76479
76480 2006-08-09  Karl Berry  <karl@gnu.org>
76481
76482         * config/srclist.txt: no more gettext-tools, per Bruno.
76483
76484 2006-08-08  Eric Blake  <ebb9@byu.net>
76485
76486         * modules/verror: New module.
76487         * MODULES.html.sh: Document it.
76488
76489 2006-08-08  Eric Blake  <ebb9@byu.net>
76490
76491         * lib/verror.h, lib/verror.c: New files.
76492
76493 2006-08-08  Eric Blake  <ebb9@byu.net>
76494
76495         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76496         verror_at_line output complies with GNU Coding Standards even when
76497         file is NULL.
76498
76499 2006-08-07  Bruno Haible  <bruno@clisp.org>
76500
76501         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76502         versions of AIX.
76503         Reported by Ralf Wildenhues.
76504
76505 2006-08-07  Bruno Haible  <bruno@clisp.org>
76506
76507         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76508         in an AC_DEFUN. Needed so that the autoconf snippets can use
76509         AC_REQUIRE.
76510
76511 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76512
76513         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76514         Initialize pkgdata_DATA.
76515         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76516         overriding it.
76517
76518 2006-08-06  Eric Blake  <ebb9@byu.net>
76519
76520         * lib/error.h: Fold in some upstream changes from glibc.
76521         * lib/error.c: Likewise.
76522
76523 2006-08-04  Bruno Haible  <bruno@clisp.org>
76524
76525         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76526         Make the mostlyclean-local rule depend on mostlyclean-generic.
76527         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76528
76529 2006-07-31  Bruno Haible  <bruno@clisp.org>
76530
76531         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76532         <stdlib.h>, <string.h>.
76533
76534 2006-07-30  Bruno Haible  <bruno@clisp.org>
76535
76536         * modules/readlink (License): Change to LGPL.
76537
76538 2006-07-30  Bruno Haible  <bruno@clisp.org>
76539
76540         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76541         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76542         set PKGDATADIR to point to it.
76543
76544 2006-07-30  Bruno Haible  <bruno@clisp.org>
76545
76546         * modules/csharpexec (configure.ac): Comment out macro invocation.
76547         * modules/javaexec (configure.ac): Likewise.
76548         * modules/javacomp-script (configure.ac): Likewise.
76549
76550         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76551
76552 2006-07-30  Bruno Haible  <bruno@clisp.org>
76553
76554         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76555         linked-list.
76556
76557 2006-07-30  Bruno Haible  <bruno@clisp.org>
76558
76559         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76560
76561 2006-07-30  Bruno Haible  <bruno@clisp.org>
76562
76563         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76564         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
76565         get removed.
76566
76567 2006-07-29  Bruno Haible  <bruno@clisp.org>
76568
76569         Make it possible for gnulib-tool to work with locally modified or
76570         augmented gnulib repositories.
76571         * gnulib-tool (func_usage): Document --local-dir option.
76572         (local_gnulib_dir): New variable.
76573         Handle --local-dir option.
76574         (func_lookup_file): New function.
76575         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
76576         (func_get_description, func_get_filelist, func_get_description,
76577         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
76578         func_get_automake_snippet, func_get_include_directive,
76579         func_get_license, func_get_maintainer): Use func_lookup_file.
76580         (func_import, func_create_testdir): Use func_lookup_file.
76581
76582 2006-07-29  Bruno Haible  <bruno@clisp.org>
76583
76584         * modules/setenv (Depends-on): Add unistd.
76585
76586 2006-07-29  Bruno Haible  <bruno@clisp.org>
76587
76588         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
76589
76590 2006-07-29  Bruno Haible  <bruno@clisp.org>
76591
76592         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
76593
76594 2006-07-29  Bruno Haible  <bruno@clisp.org>
76595
76596         * gnulib-tool (import, update): If there is no Makefile.am, look at
76597         aclocal.m4, instead of bailing out.
76598
76599 2006-07-29  Bruno Haible  <bruno@clisp.org>
76600
76601         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
76602         Categorize the options by when they are useful.
76603
76604 2006-07-29  Bruno Haible  <bruno@clisp.org>
76605
76606         * gnulib-tool (func_usage): Document option --no-libtool.
76607         Handle option --no-libtool.
76608         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
76609         for changed semantics of $libtool variable.
76610         (func_import): Likewise. If libtool is not used, show this through
76611         an option --no-libtool.
76612         (func_create_testdir): Update.
76613
76614 2006-07-29  Bruno Haible  <bruno@clisp.org>
76615
76616         * gnulib-tool (func_import): Extend error message about missing
76617         --doc-base.
76618
76619 2006-07-29  Bruno Haible  <bruno@clisp.org>
76620
76621         * gnulib-tool (func_import): Don't create the $docbase directory if
76622         there is no file to store there.
76623
76624 2006-07-29  Bruno Haible  <bruno@clisp.org>
76625
76626         * gnulib-tool (autoconf_minversion): If a --dir option is given and
76627         relevant, look for configure.ac there, not in the current directory.
76628         Also use a simple search for AC_PREREQ, not "autoconf --trace".
76629
76630 2006-07-29  Bruno Haible  <bruno@clisp.org>
76631
76632         * gnulib-tool (SORT): New variable.
76633         (func_usage): Undocument --assume-autoconf option.
76634         Remove --assume-autoconf option handling.
76635         (autoconf_minversion): Determine from the contents of configure.ac.
76636         (func_import): Remove autoconf_minversion handling.
76637         Suggested by Eric Blake.
76638
76639 2006-07-29  Bruno Haible  <bruno@clisp.org>
76640
76641         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
76642
76643 2006-07-29  Bruno Haible  <bruno@clisp.org>
76644
76645         * config/srclist.txt (*setenv.[ch]): Remove rules.
76646
76647 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76648
76649         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
76650
76651 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76652
76653         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
76654         arpa/inet.h.
76655
76656 2006-07-28  Simon Josefsson  <jas@extundo.com>
76657
76658         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
76659         * modules/inet_pton (Depends-on): Likewise.
76660
76661 2006-07-28  Simon Josefsson  <jas@extundo.com>
76662
76663         * m4/netinet_in_h.m4: New file.
76664
76665 2006-07-28  Simon Josefsson  <jas@extundo.com>
76666
76667         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
76668         #include's.
76669
76670 2006-07-28  Simon Josefsson  <jas@extundo.com>
76671
76672         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
76673         #include's.
76674
76675 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
76676
76677         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
76678         setgid on directories only if they set these bits.
76679         * lib/modechange.h: Remove obsolete comment about masks.
76680
76681 2006-07-28  Eric Blake  <ebb9@byu.net>
76682
76683         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
76684         macro expansion.
76685
76686 2006-07-28  Bruno Haible  <bruno@clisp.org>
76687
76688         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
76689
76690 2006-07-28  Bruno Haible  <bruno@clisp.org>
76691
76692         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
76693
76694 2006-07-28  Bruno Haible  <bruno@clisp.org>
76695
76696         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
76697         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
76698         Define fallbacks.
76699         Avoids link error on FreeBSD 4.x.
76700         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76701
76702         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
76703         encoding.
76704         * lib/mbswidth.c (iswcntrl): Likewise.
76705
76706 2006-07-27  Bruno Haible  <bruno@clisp.org>
76707
76708         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
76709         test.
76710
76711 2006-07-27  Bruno Haible  <bruno@clisp.org>
76712
76713         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
76714         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
76715         defined.
76716
76717 2006-07-26  Eric Blake  <ebb9@byu.net>
76718
76719         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
76720
76721 2006-07-26  Eric Blake  <ebb9@byu.net>
76722
76723         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
76724         like mingw that lack mkstemp.
76725         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
76726         avoid compilation warning on mingw.
76727
76728 2006-07-26  Bruno Haible  <bruno@clisp.org>
76729
76730         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
76731         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
76732         INT_FAST*_MIN, INTPTR_MIN.
76733
76734 2006-07-25  Bruno Haible  <bruno@clisp.org>
76735
76736         * modules/version-etc (Depends-on): Add stdarg.
76737
76738 2006-07-25  Bruno Haible  <bruno@clisp.org>
76739
76740         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
76741         complex commands.
76742
76743 2006-07-25  Bruno Haible  <bruno@clisp.org>
76744
76745         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
76746         defined in <stdarg.h> or config.h.
76747
76748 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76749
76750         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
76751         (gl_STDIO_SAFER): Remove.
76752
76753 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76754
76755         * MODULES.html.sh (File stream based Input/Output):
76756         Add fopen-safer, tmpfile-safer; remove stdio-safer.
76757         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
76758         * modules/fopen-safer, modules/tmpfile-safer: New files.
76759         * modules/stdio-safer: Remove.
76760
76761 2006-07-24  Bruno Haible  <bruno@clisp.org>
76762
76763         * modules/tmpdir: New file.
76764         * MODULES.html.sh (File system functions): Add it.
76765
76766 2006-07-24  Bruno Haible  <bruno@clisp.org>
76767
76768         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76769         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76770
76771 2006-07-24  Bruno Haible  <bruno@clisp.org>
76772
76773         * modules/clean-temp: New file.
76774
76775 2006-07-24  Bruno Haible  <bruno@clisp.org>
76776
76777         * m4/tmpdir.m4: New file, from GNU gettext.
76778
76779 2006-07-24  Bruno Haible  <bruno@clisp.org>
76780
76781         * lib/tmpdir.h: New file, from GNU gettext.
76782         * lib/tmpdir.c: New file, from GNU gettext.
76783
76784 2006-07-24  Bruno Haible  <bruno@clisp.org>
76785
76786         * lib/clean-temp.h: New file, from GNU gettext.
76787         * lib/clean-temp.c: New file, from GNU gettext.
76788
76789 2006-07-23  Eric Blake  <ebb9@byu.net>
76790
76791         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76792         (Depends-on): Add binary-io.
76793
76794 2006-07-23  Eric Blake  <ebb9@byu.net>
76795
76796         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76797
76798 2006-07-23  Eric Blake  <ebb9@byu.net>
76799
76800         * lib/tmpfile-safer.c: New file.
76801         * lib/stdio-safer.h (fopen_safer): Add prototype.
76802         * lib/stdio--.h (tmpfile): Make safer.
76803
76804 2006-07-23  Bruno Haible  <bruno@clisp.org>
76805
76806         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76807         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76808         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76809         gl_linked_remove_at): Use it.
76810
76811 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76812         and Simon Josefsson <jas@extundo.com>
76813
76814         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76815
76816         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76817
76818 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76819
76820         * modules/close-stream: New file.
76821         * modules/closeout (Description): Make it clear that it exits
76822         with a diagnostic on error.
76823         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76824         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76825
76826 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76827
76828         * m4/close-stream.m4: New file.
76829
76830 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         * lib/close-stream.c, lib/close-stream.h: New files.
76833
76834 2006-07-22  Bruno Haible  <bruno@clisp.org>
76835
76836         Merge from GNU gettext 0.15.
76837
76838         2006-05-01  Bruno Haible  <bruno@clisp.org>
76839
76840                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76841
76842         2006-07-22  Bruno Haible  <bruno@clisp.org>
76843
76844                 * modules/javaversion: New file.
76845                 * MODULES.html.sh (Java): Add javaversion.
76846
76847         2006-03-12  Bruno Haible  <bruno@clisp.org>
76848
76849                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76850
76851         2005-12-04  Bruno Haible  <bruno@clisp.org>
76852
76853                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76854                 (untested).
76855
76856         2006-06-21  Bruno Haible  <bruno@clisp.org>
76857
76858                 Avoid warnings from recent versions of mcs.
76859                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76860                 -o, -L, -r any more. Use options documented since mcs-1.0
76861                 instead. Similarly for -g.
76862
76863         2005-12-04  Bruno Haible  <bruno@clisp.org>
76864
76865                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76866                 .resources, not .resource.
76867
76868         2005-07-09  Bruno Haible  <bruno@clisp.org>
76869
76870                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76871                 add a .dll suffix.
76872                 Reported by Mark Junker <mjscod@gmx.de>.
76873
76874         2006-07-22  Bruno Haible  <bruno@clisp.org>
76875
76876                 * modules/gettext: Upgrade to gettext-0.15.
76877                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76878                 m4/visibility.m4.
76879                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76880
76881 2006-07-22  Bruno Haible  <bruno@clisp.org>
76882
76883         Merge from GNU gettext 0.15.
76884
76885         2006-03-25  Bruno Haible  <bruno@clisp.org>
76886
76887                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76888
76889         2006-07-21  Bruno Haible  <bruno@clisp.org>
76890
76891                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76892                 "1.1".
76893
76894         2006-05-09  Bruno Haible  <bruno@clisp.org>
76895
76896                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76897                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76898                 for the conftestver execution.
76899
76900         2006-05-01  Bruno Haible  <bruno@clisp.org>
76901
76902                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76903                 optional target-version argument. Verify that the compiler
76904                 groks source of the specified source-version, or add -source
76905                 option as necessary. Verify that the compiler produces
76906                 bytecode in the specified target-version, or add -target and
76907                 -source options as necessary. Make the result of the test
76908                 available as variable CONF_JAVAC. Also log error output in
76909                 config.log.
76910
76911         2006-03-11  Bruno Haible  <bruno@clisp.org>
76912
76913                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76914
76915         2006-05-09  Bruno Haible  <bruno@clisp.org>
76916
76917                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76918                 CLASSPATH_SEPARATOR to a semicolon.
76919
76920         2006-03-12  Bruno Haible  <bruno@clisp.org>
76921
76922                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76923                 available as variable CONF_JAVA, for subsequent autoconf
76924                 tests. Also log error output in config.log.
76925
76926         2006-07-19  Bruno Haible  <bruno@clisp.org>
76927
76928                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76929                 that getline works on glibc2 systems. Needed to avoid trouble
76930                 in relocatable.c.
76931                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76932
76933         2005-12-04  Bruno Haible  <bruno@clisp.org>
76934
76935                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76936                 launcher (untested).
76937
76938         2005-12-04  Bruno Haible  <bruno@clisp.org>
76939
76940                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76941
76942         2006-07-22  Bruno Haible  <bruno@clisp.org>
76943
76944                 * gettext.m4: Update from GNU gettext-0.15.
76945                 * nls.m4: Likewise.
76946                 * po.m4: Likewise.
76947                 * inttypes-pri.m4: Likewise.
76948                 * inttypes-h.m4: Renamed from inttypes.m4.
76949                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76950
76951 2006-07-22  Bruno Haible  <bruno@clisp.org>
76952
76953         Merge from GNU gettext 0.15.
76954
76955         2005-07-05  Bruno Haible  <bruno@clisp.org>
76956
76957                 * printf-args.c (printf_fetchargs): Work around broken
76958                 definition of wint_t on mingw.
76959
76960         2005-02-12  Bruno Haible  <bruno@clisp.org>
76961
76962                 * xallocsa.h: Add extern "C" for C++.
76963
76964         2006-05-17  Bruno Haible  <bruno@clisp.org>
76965
76966                 Cygwin portability.
76967                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76968
76969         2006-04-30  Bruno Haible  <bruno@clisp.org>
76970
76971                 * progreloc.c: Include <mach-o/dyld.h> if available.
76972                 (find_executable): Use _NSGetExecutablePath when possible.
76973
76974         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76975
76976                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76977                 function.
76978
76979         2005-12-29  Bruno Haible  <bruno@clisp.org>
76980
76981                 * progreloc.c (set_program_name_and_installdir): Fix
76982                 compilation error.
76983
76984         2005-12-04  Bruno Haible  <bruno@clisp.org>
76985
76986                 Cygwin portability.
76987                 * progreloc.c: Include <windows.h> also on Cygwin.
76988                 (find_executable): Add support for Cygwin.
76989                 (set_program_name_and_installdir): Handle also platforms with
76990                 nonempty EXEEXT.
76991
76992         2006-07-11  Bruno Haible  <bruno@clisp.org>
76993
76994                 * javacomp.c: Fix a comment.
76995                 Reported by Jim Meyering.
76996
76997         2006-04-30  Bruno Haible  <bruno@clisp.org>
76998
76999                 * javacomp.h (compile_java_class): Add source_version,
77000                 target_version arguments.
77001                 * javacomp.c: Rewritten to choose only a compiler that
77002                 respects the specified source_version and target_version.
77003
77004         2006-06-27  Bruno Haible  <bruno@clisp.org>
77005
77006                 Assume correct S_ISDIR macro.
77007                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77008
77009         2006-07-22  Bruno Haible  <bruno@clisp.org>
77010
77011                 * javaversion.h: New file, from GNU gettext.
77012                 * javaversion.c: New file, from GNU gettext.
77013                 * javaversion.java: New file, from GNU gettext.
77014                 * javaversion.class: New file, from GNU gettext.
77015
77016         2006-05-17  Bruno Haible  <bruno@clisp.org>
77017
77018                 Cygwin portability.
77019                 * javaexec.c (execute_java_class): Test for jview program
77020                 also on Cygwin.
77021
77022         2006-04-09  Bruno Haible  <bruno@clisp.org>
77023
77024                 * fatal-signal.c: Don't include string.h.
77025                 (at_fatal_signal): Use a copying loop instead of memcpy.
77026
77027         2005-12-04  Bruno Haible  <bruno@clisp.org>
77028
77029                 * csharpexec.c: Add support for 'clix' launcher (untested).
77030                 (execute_csharp_using_sscli): New function.
77031                 (execute_csharp_program): Call it.
77032
77033         2006-06-21  Bruno Haible  <bruno@clisp.org>
77034
77035                 Avoid warnings from recent versions of mcs.
77036                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77037                 -o, -L, -r any more. Use options documented since mcs-1.0
77038                 instead. Similarly for -g.
77039
77040         2005-07-09  Bruno Haible  <bruno@clisp.org>
77041
77042                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77043                 add a .dll suffix.
77044                 Reported by Mark Junker <mjscod@gmx.de>.
77045
77046         2006-06-17  Bruno Haible  <bruno@clisp.org>
77047
77048                 * config.charset: Update for NetBSD 3.0.
77049
77050         2006-05-17  Bruno Haible  <bruno@clisp.org>
77051
77052                 Cygwin portability.
77053                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77054
77055         2006-05-16  Bruno Haible  <bruno@clisp.org>
77056
77057                 * localcharset.c [CYGWIN]: Include <windows.h>.
77058                 (get_charset_aliases): For Cygwin, return the same CPxxx
77059                 aliases list as under WIN32.
77060                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77061                 the environment variables. Fall back to GetACP().
77062
77063         2006-04-05  Bruno Haible  <bruno@clisp.org>
77064
77065                 * config.charset: Update Juan Manuel Guerrero's address.
77066
77067         2005-02-12  Bruno Haible  <bruno@clisp.org>
77068
77069                 * allocsa.h: Add extern "C" for C++.
77070
77071         2005-02-10  Bruno Haible  <bruno@clisp.org>
77072
77073                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77074                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77075
77076         2006-07-22  Bruno Haible  <bruno@clisp.org>
77077
77078                 * gettext.h: Update to GNU gettext-0.15.
77079
77080 2006-07-22  Bruno Haible  <bruno@clisp.org>
77081
77082         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77083         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77084         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77085
77086 2006-07-21  Eric Blake  <ebb9@byu.net>
77087
77088         * modules/stdlib-safer: New file.
77089         * MODULES.html.sh (File stream based Input/Output): Add
77090         stdlib-safer.
77091
77092 2006-07-21  Eric Blake  <ebb9@byu.net>
77093
77094         * lib/stdlib-safer.h: New file from coreutils, required by
77095         stdlib--.h.
77096
77097 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77098
77099         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77100
77101 2006-07-20  Bruno Haible  <bruno@clisp.org>
77102
77103         * gnulib-tool: Recognize new option --assume-autoconf.
77104         (autoconf_minversion): New variable.
77105         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77106
77107 2006-07-20  Bruno Haible  <bruno@clisp.org>
77108
77109         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77110
77111 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77112
77113         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77114         Reindent and repaginate.
77115
77116 2006-07-19  Derek Price  <derek@ximbiot.com>
77117
77118         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77119         Correct grammar.
77120
77121 2006-07-17  Bruno Haible  <bruno@clisp.org>
77122
77123         * modules/list: New file.
77124         * modules/array-list: New file.
77125         * modules/carray-list, modules/carray-list-tests: New files.
77126         * modules/linked-list, modules/linked-list-tests: New files.
77127         * modules/avltree-list, modules/avltree-list-tests: New files.
77128         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77129         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77130         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77131         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77132         * modules/oset: New file.
77133         * modules/array-oset: New file.
77134         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77135         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77136         * tests/test-carray_list.c: New file.
77137         * tests/test-linked_list.c: New file.
77138         * tests/test-avltree_list.c: New file.
77139         * tests/test-rbtree_list.c: New file.
77140         * tests/test-linkedhash_list.c: New file.
77141         * tests/test-avltreehash_list.c: New file.
77142         * tests/test-rbtreehash_list.c: New file.
77143         * tests/test-avltree_oset.c: New file.
77144         * tests/test-rbtree_oset.c: New file.
77145         * MODULES.html.sh (Container data structures): New section.
77146
77147 2006-07-17  Bruno Haible  <bruno@clisp.org>
77148
77149         * m4/gl_list.m4: New file.
77150
77151 2006-07-17  Bruno Haible  <bruno@clisp.org>
77152
77153         * lib/gl_list.h: New file.
77154         * lib/gl_list.c: New file.
77155         * lib/gl_array_list.h: New file.
77156         * lib/gl_array_list.c: New file.
77157         * lib/gl_carray_list.h: New file.
77158         * lib/gl_carray_list.c: New file.
77159         * lib/gl_linked_list.h: New file.
77160         * lib/gl_linked_list.c: New file.
77161         * lib/gl_anylinked_list1.h: New file.
77162         * lib/gl_anylinked_list2.h: New file.
77163         * lib/gl_avltree_list.h: New file.
77164         * lib/gl_avltree_list.c: New file.
77165         * lib/gl_anyavltree_list1.h: New file.
77166         * lib/gl_anyavltree_list2.h: New file.
77167         * lib/gl_rbtree_list.h: New file.
77168         * lib/gl_rbtree_list.c: New file.
77169         * lib/gl_anyrbtree_list1.h: New file.
77170         * lib/gl_anyrbtree_list2.h: New file.
77171         * lib/gl_anytree_list1.h: New file.
77172         * lib/gl_anytree_list2.h: New file.
77173         * lib/gl_linkedhash_list.h: New file.
77174         * lib/gl_linkedhash_list.c: New file.
77175         * lib/gl_anyhash_list1.h: New file.
77176         * lib/gl_anyhash_list2.h: New file.
77177         * lib/gl_avltreehash_list.h: New file.
77178         * lib/gl_avltreehash_list.c: New file.
77179         * lib/gl_rbtreehash_list.h: New file.
77180         * lib/gl_rbtreehash_list.c: New file.
77181         * lib/gl_anytreehash_list1.h: New file.
77182         * lib/gl_anytreehash_list2.h: New file.
77183
77184         * lib/gl_oset.h: New file.
77185         * lib/gl_oset.c: New file.
77186         * lib/gl_array_oset.h: New file.
77187         * lib/gl_array_oset.c: New file.
77188         * lib/gl_avltree_oset.h: New file.
77189         * lib/gl_avltree_oset.c: New file.
77190         * lib/gl_rbtree_oset.h: New file.
77191         * lib/gl_rbtree_oset.c: New file.
77192         * lib/gl_anytree_oset.h: New file.
77193
77194 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77195
77196         * m4/mkancesdirs.m4: New file.
77197         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77198         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77199         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77200         it.
77201
77202 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77203
77204         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77205         * lib/mkancesdirs.h: New files.
77206         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77207         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77208         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77209         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77210         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77211         callers changed.  Revamp internals significantly, by not
77212         attempting to create directories that are temporarily more
77213         permissive than the final results.  Do not attempt to use
77214         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77215         This removes some race conditions, fixes some bugs, and simplifies
77216         things.  Use new dirchownmod function to do owner and mode changes.
77217         * lib/mkdir-p.h: Likewise.
77218         * lib/modechange.c (octal_to_mode): New function.
77219         (struct mode_change): New member mentioned.
77220         (make_node_op_equals): New arg mentioned.  All callers changed.
77221         (mode_compile): Keep track of which mode bits the user has explicitly
77222         mentioned.
77223         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77224         New arg PMODE_BITS, to keep track of which mode bits the user
77225         mentioned; it treats S_ISUID and S_ISGID speciall.
77226         All callers changed.
77227         * lib/modechange.h: Likewise.
77228
77229 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77230
77231         * MODULES.html.sh: Add mkancestors.
77232         * modules/mkancesdirs: New module.
77233         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
77234         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
77235         The chdir-safer and afs files are now orphans; I'll remove them
77236         unless someone speaks up.
77237         Add lib/dirchownmod.c, lib/dirchownmod.h.
77238         (Depends-on): Remove alloca, chown, save-cwd, dirname.
77239         Add lchown, mkancesdirs.
77240         (Maintainer): Add self.
77241
77242 2006-07-15  Karl Berry  <karl@gnu.org>
77243
77244         * gnulib-tool: help message wording/arrangement.
77245
77246 2006-07-14  Simon Josefsson  <jas@extundo.com>
77247
77248         * doc/gnulib.texi (Libtool and Windows): New section.
77249
77250 2006-07-12  Simon Josefsson  <jas@extundo.com>
77251
77252         * modules/gendocs (License): Fix license, approved by Karl.
77253
77254 2006-07-12  Eric Blake  <ebb9@byu.net>
77255
77256         * MODULES.html.sh: Add gendocs.
77257
77258 2006-07-11  Eric Blake  <ebb9@byu.net>
77259
77260         * modules/fdl: New module, to install doc/fdl.texi.
77261         * MODULES.html.sh: Add new section for documentation modules.
77262         * gnulib-tool: Avoid space-tab.
77263         (--doc-base): New option, to manage files from doc.
77264
77265 2006-07-11  Eric Blake  <ebb9@byu.net>
77266
77267         * m4/absolute-header.m4: Fix comments to match recent change.
77268
77269 2006-07-11  Eric Blake  <ebb9@byu.net>
77270
77271         * gnulib-tool: List --doc-base before --tests-base.
77272
77273 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77274
77275         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77276
77277 2006-07-11  Bruno Haible  <bruno@clisp.org>
77278
77279         * README: Mention where to put documentation.
77280
77281 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77282
77283         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77284
77285 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77286
77287         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77288         to stdint.m4.
77289
77290 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77291
77292         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77293         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77294         "no/such/file/stdint.h" when there is no such file, so that
77295         the resulting C code can be parsed by dodgy compilers.
77296         Problems reported by Bob Proulx.
77297
77298 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77299
77300         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77301         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77302         macros into the GNU _D_EXACT_NAMLEN.
77303         * lib/savedir.c:  Likewise.
77304         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77305
77306 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77307         and Paul Eggert  <eggert@cs.ucla.edu>
77308
77309         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77310         * m4/savedir.m4:
77311         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77312         macros into the GNU _D_EXACT_NAMLEN.
77313
77314 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77315
77316         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77317         around the absolute name, to work around a problem with the HP-UX
77318         11.23 native C compiler, reported by Bob Proulx.
77319
77320 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77321
77322         * doc/maintain.texi, make-stds.texi: Sync from
77323         <http://savannah.gnu.org/projects/gnustandards>.
77324
77325 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77326
77327         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77328
77329 2006-07-09  Jim Meyering  <jim@meyering.net>
77330
77331         * m4/glob.m4: Remove a doubled word in a comment.
77332
77333 2006-07-09  Jim Meyering  <jim@meyering.net>
77334
77335         * lib/argp-pv.c: Remove a doubled word in a comment.
77336         * lib/check-version.c (check_version): Likewise.
77337         * lib/javacomp.c (compile_java_class): Likewise.
77338
77339 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77340
77341         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77342         for the benefit of people using Autoconf 2.60.  If you want to
77343         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77344         (or m4/onceonly.m4, if pre-2.57) manually.
77345
77346 2006-07-08  Jim Meyering  <jim@meyering.net>
77347
77348         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77349         comment.
77350         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77351         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77352         comment.
77353
77354 2006-07-08  Jim Meyering  <jim@meyering.net>
77355
77356         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77357
77358 2006-07-07  Simon Josefsson  <jas@extundo.com>
77359
77360         * tests/test-crc.c: Change expected crc value, the test vector
77361         were probably computed using the old broken crc.c?
77362
77363 2006-07-06  Simon Josefsson  <jas@extundo.com>
77364
77365         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77366         now the canonical place for the M4 file).
77367
77368         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77369         from the sys_socket dependency now.
77370
77371         * modules/inet_pton (Files): Ditto.
77372
77373         * modules/inet_ntop (Files): Ditto.
77374
77375 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77376
77377         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77378         not gl_PREREQ_GETUSERSHELL.
77379
77380 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77381
77382         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77383         with only one argument, for Autoconf 2.60.
77384         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77385         expand to nothing, so add a shell command to avoid syntax error.
77386         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77387
77388 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77389
77390         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77391
77392 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77393
77394         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77395         no longer needed.  Check for isblank decl.
77396         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77397         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77398         of existence.
77399
77400 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77401
77402         * lib/getloadavg.c: Use __VMS, not VMS.
77403         * lib/getopt.c: Likewise.
77404         * lib/getpagesize.h: Likewise.
77405         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77406         and probably does not work.
77407
77408 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77409
77410         * lib/.cppi-disable: Add wcwidth.
77411         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77412         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77413         (ISGRAPH): Remove.  All uses changed to isgraph.
77414         (FOLD) [!defined _LIBC]: Remove special case.
77415         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77416         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77417         HAVE_ISBLANK.
77418         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77419         case.
77420
77421 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77422
77423         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77424         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77425         brackets.  Other minor changes to suppress some compiler
77426         warnings.
77427
77428 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77429         and Paul Eggert  <eggert@cs.ucla.edu>
77430
77431         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77432         of invoking obsolescent AC_HEADER_DIRENT macro.
77433         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77434         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77435         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77436         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77437         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77438         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77439         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77440         * m4/readdir.m4: Remove; no longer needed.
77441
77442 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77443         and Paul Eggert  <eggert@cs.ucla.edu>
77444
77445         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77446         Don't worry about this obsolete case any more.
77447         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77448         directories.
77449         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77450         worry about this obsolete case any more.
77451         * lib/fts.c: Likewise.
77452         * lib/getcwd.c: Likewise.
77453         * lib/glob.h: Likewise.
77454         * lib/savedir.c: Likewise.
77455
77456 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77457
77458         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77459         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77460         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77461         needed.
77462         All uses removed.
77463         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77464         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77465         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77466         needed.
77467         * m4/getdate.m4 (gl_GETDATE): Likewise.
77468         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77469         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77470         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77471         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77472         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77473         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77474         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77475         needed.
77476
77477 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77478
77479         * lib/memcasecmp.c: Include <limits.h>.
77480         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77481         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77482         Don't assume isdigit succeeds only on '0' through '9'.
77483
77484 2006-07-05  Eric Blake  <ebb9@byu.net>
77485
77486         * modules/getaddrinfo (Depends-on): Add snprintf.
77487
77488 2006-07-05  Eric Blake  <ebb9@byu.net>
77489
77490         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77491         to avoid 'header present but could not be compiled' on cygwin.
77492
77493 2006-07-05  Eric Blake  <ebb9@byu.net>
77494
77495         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77496         missing from netdb.h.
77497         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77498
77499 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77500
77501         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77502         no longer needed.
77503         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77504         * m4/getdate.m4 (gl_GETDATE): Likewise.
77505         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77506         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77507         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77508         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77509         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77510
77511 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77512
77513         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77514         All uses of is_space replaced by isspace.
77515         * lib/exit.h: Don't talk about STDC_HEADERS.
77516         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77517         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77518         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77519         replaced by isprint etc.
77520         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77521         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77522         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77523         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77524         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77525         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77526
77527 2006-07-05  Bruno Haible  <bruno@clisp.org>
77528
77529         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77530         the function exists, before testing against AIX.
77531         Reported by Martin Lambers <marlam@marlam.de>.
77532
77533 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77536         From Mark D. Baushke.
77537
77538 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77539
77540         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77541         to the absolute name, not just one, to bypass Sun C 5.8's
77542         "warning: #include of /usr/include/... may be non-portable".
77543
77544 2006-07-04  Eric Blake  <ebb9@byu.net>
77545
77546         * modules/dirname-tests: New test module.
77547         * tests/test-dirname.c: New file, replacing dirname.c
77548         TEST_DIRNAME section that was recently deleted.
77549
77550 2006-07-04  Bruno Haible  <bruno@clisp.org>
77551
77552         Assume ANSI C header files and <ctype.h> functions.
77553         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77554         (mbsnwidth): Use isprint, iscntrl instead.
77555
77556 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77557
77558         Merge from coreutils.
77559         * MODULES.html.sh: Add xstrtold.
77560         * modules/xstrtold: New file.
77561         * modules/cycle-check (Files): Add lib/same-inode.h.
77562         * modules/dirname (Files): Add m4/double-slash-root.m4.
77563         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
77564         * modules/mkdir-p (Files): Add lib/same-inode.h.
77565         * modules/same (Files): Add lib/same-inode.h.
77566
77567 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77568
77569         * m4/absolute-header.m4: Renamed from full-header-path.m4.
77570         This is to keep the terminology clean; POSIX talks about
77571         "absolute pathnames", not "full pathnames", but the GNU
77572         Coding Standards say to use "path" for something else;
77573         so use "absolute" to keep both sides happy.
77574         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
77575         Set gl_absolute_header, not gl_full_header_path.
77576         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
77577         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
77578         All uses changed.
77579
77580         Merge from coreutils.
77581
77582         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
77585         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
77586         want to require the building of c-strtod.o.
77587         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
77588         needs -lm directly.
77589         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
77590
77591         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77592
77593         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
77594         --as-needed option if available.  Problem reported by Albert Chin in
77595         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
77596         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
77597         cc merely issues a bunch of annoying warnings for --as-needed
77598         (this problem was reported by Bob Proulx).  Also, try linking with
77599         -lm to detect a bug in binutils 2.16 (this problem was reported
77600         by Ralf Wildenhues).
77601
77602         2006-06-18  Jim Meyering  <jim@meyering.net>
77603
77604         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
77605         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
77606         macro.
77607         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
77608         also check for glibc-2.4's abort-inducing bug.
77609
77610         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
77611         Low-probability clean-up should be to use rmdir to get rid of
77612         the just-created directory, not unlink.
77613
77614         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
77615         configure fail, and request a bug report to inform us about it.
77616         Add a comment that, barring reports to the contrary, in 2007 we'll
77617         assume ftruncate is universally available.
77618
77619         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77620
77621         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
77622
77623         2006-03-12  Jim Meyering  <jim@meyering.net>
77624
77625         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
77626         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
77627         * m4/same.m4 (gl_SAME): Likewise.
77628         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
77629
77630         2006-03-11  Eric Blake  <ebb9@byu.net>
77631
77632         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
77633         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
77634         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
77635         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
77636
77637 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77638
77639         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
77640         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
77641         reported by Mark D. Baushke, one in
77642         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
77643
77644         Merge from coreutils.
77645
77646         * lib/.cppi-disable: Add stdint_.h.
77647         * lib/.cvsignore: Add stdint.h.
77648
77649         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77650
77651         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
77652         both double and long double versions.
77653         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
77654         * lib/xstrtold.c: New file.
77655         * lib/xstrtod.h (xstrtold): New decl.
77656
77657         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77658
77659         * lib/filemode.c (setst): Remove.
77660         (strmode): Rewrite to avoid setst.  This makes the code shorter,
77661         (arguably) clearer, and the generated code is a bit smaller on my
77662         Debian GNU/Linux stable x86 host.
77663
77664         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77665
77666         * lib/filemode.c: Include "filemode.h" first, to test the interface.
77667         Assume that filemode.h includes sys/types.h and sys/stat.h.
77668         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
77669         (ftypelet): Reorder to put common cases first, for efficiency.
77670         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
77671         to do 'M'.
77672         (strmode): Renamed from mode_string, and now stores 12 bytes instead
77673         of 10, for compatibility with FreeBSD.  All callers changed.
77674         (filemodestring): Now stores 12 bytes instead of 10, and sets file
77675         types that can't be deduced solely from st_mode.  First arg is now a
77676         const pointer.
77677         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
77678         (strmode): Renamed from mode_string.
77679         (filemodestring): New decl.
77680         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
77681         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
77682         needed.
77683         (S_ISPORT, S_ISWHT): New macros, if not already defined.
77684
77685         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
77688         fsusage.h now does that.  Include fsusage.h first, to test interface.
77689         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
77690         at most one method (the old code could have generated decls that
77691         didn't conform to C89, not that this was ever exercised).
77692         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
77693
77694         2006-03-19  Jim Meyering  <jim@meyering.net>
77695
77696         Work even in a chroot where d_ino values for entries in "/"
77697         don't match the stat.st_ino values for the same names.
77698         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
77699         number, iterate through all entries again, using lstat instead.
77700         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
77701         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
77702
77703         * lib/getcwd.c (__getcwd): Clarify a comment.
77704         Use memcpy in place of a call to strcpy.
77705
77706         2006-03-12  Jim Meyering  <jim@meyering.net>
77707
77708         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
77709         matches that of the current directory (which we're about to chdir ".."
77710         out of), then save the dev-ino of the parent, instead.
77711
77712         * lib/same-inode.h (SAME_INODE): New file/macro.
77713         * lib/chdir-safer.c (SAME_INODE): Remove definition.
77714         Include "same-inode.h", instead.
77715         * lib/same.c: Likewise.
77716         * lib/cycle-check.h: Include "same-inode.h".
77717         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
77718         * lib/cycle-check.c (SAME_INODE): Remove definition.
77719         * lib/root-dev-ino.h: Include "same-inode.h".
77720
77721         2006-03-11  Eric Blake  <ebb9@byu.net>
77722
77723         * lib/same.c (same_name): s/base_name/last_component/
77724         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
77725         * lib/filenamecat.c (file_name_concat): Likewise.
77726
77727         2006-03-11  Eric Blake  <ebb9@byu.net>,
77728                     Paul Eggert  <eggert@cs.ucla.edu>
77729
77730         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
77731         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
77732         drive prefix.
77733         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
77734         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
77735         (last_component): New method.
77736         * lib/dirname.c (dir_len): Determine when drive letters need a
77737         subsequent slash.  Preserve // when it is special.
77738         (dir_name): Don't append dot when drive letter is absolute.
77739         [TEST_DIRNAME]: Move into a full-blown gnulib test.
77740         * lib/basename.c (base_name): New semantics - malloc the result.
77741         Preserve // when it is special.  Preserve relative files that look
77742         like drive letters.
77743         (base_len): Preserve // when it is special.
77744         (last_component): New method, similar to old base_name semantics.
77745         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
77746         base_name.  Strip redundant slashes from ///.
77747
77748 2006-07-03  Jim Meyering  <jim@meyering.net>
77749
77750         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
77751         macro is used before the first cycle_check call.
77752
77753 2006-07-03  Eric Blake  <ebb9@byu.net>
77754
77755         * modules/dirname (Depends-on): Add xstrndup.
77756
77757 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77758
77759         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
77760         test cases, so that config.log is a bit easier to follow.
77761
77762 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77763
77764         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
77765         both are 64 bits, since this seems to be the tradition, and this
77766         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77767         we ever run into a host that prefers long long to long in this
77768         case, we'll need another configure-time test.  Problem reported by
77769         Jim Meyering.
77770
77771 2006-07-02  Eric Blake  <ebb9@byu.net>
77772
77773         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77774
77775 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77776
77777         * modules/inttypes (Depends-on): No longer depends on stdint.
77778         * modules/stdint (Description): Say more about assumptions.
77779         Say that the fast types might differ.  Say macros are used.
77780         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77781         (Makefile.am): Revise list of substituted symbols to match
77782         new stdint.m4.
77783         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77784         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77785         * tests/test-stdint.c (verify_same_types)
77786         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77787         the code conforms to C99/C89.
77788         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77789         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77790
77791 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77792
77793         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77794         but fix a bug, by requiring at least 64 bits.
77795         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77796         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77797         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77798         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77799
77800         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77801         changes.  Make 2.59 a prerequisite.  Check and substitute for
77802         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77803         inttypes.h.  Do not use special include files; just use the
77804         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77805         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77806         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77807         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77808         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77809         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77810         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77811         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77812         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77813         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77814         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77815         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77816         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77817         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77818         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77819         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77820         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77821         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77822         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77823         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77824         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77825         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77826         not check for things that C99 does not require, e.g., int8_t.  If
77827         a test isn't needed unless <stdint.h> isn't working, and is
77828         unlikely to be needed for any other reason, then don't do it
77829         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77830         size_t, since we assume C89 freestanding at least.  Do not check
77831         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77832         the right thing even if the types are not defined.  Instead use:
77833         (gl_STDINT_TYPE_PROPERTIES): New macro.
77834         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77835         testing whether <sys/types.h> clashes, as Autoconf does this for
77836         us now.  All uses removed.
77837         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77838         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77839         (gl_CHECK_TYPE_SAME):
77840         Remove; no longer needed.
77841         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77842         exists, since we'll return 0 anyway in that case.
77843         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77844
77845 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77846
77847         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77848         possible collision with system files.
77849         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77850         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77851         WCHAR_MIN and WCHAR_MAX in this case.
77852         (<stddef.h>): Do not include; no longer needed.
77853         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77854         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77855         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77856         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77857         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77858         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77859         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77860         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77861         !defined(__c99))]: Include in this case too, since it's harmless
77862         now.
77863         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77864         dangerous to do so.
77865         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77866         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77867         (_STDINT_MIN, _STDINT_MAX): New macros.
77868         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77869         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77870         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77871         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77872         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77873         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77874         macros, not typedefs; this simplifies things quite a bit.
77875         Use long int for all types narrower than int64_t.
77876         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77877         Define in terms of long long int or int64_t or long int,
77878         not int64_t or int32_t.  This saves some compile-time testing.
77879         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77880         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77881         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77882         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77883         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77884         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77885         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77886         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77887         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77888         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77889         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77890         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77891         undef any previous version and define our own version, for
77892         simplicity and consistency with the new macros for types.
77893         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77894         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77895         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77896         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77897         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77898         @WINT_T_SUFFIX@ to keep things simple here.
77899         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77900         Simplify by assuming typical 8/16/32/64 host, since we're
77901         already doing that elsewhere anyway.
77902         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77903         and assume long long int is 64 bits if available.  This
77904         speeds up 'configure'.
77905
77906 2006-07-01  Eric Blake  <ebb9@byu.net>
77907
77908         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77909         Reported by Andreas Buening.
77910
77911 2006-07-01  Eric Blake  <ebb9@byu.net>
77912
77913         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77914
77915 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77916
77917         * lib/getaddrinfo.c: fixed typo
77918
77919 2006-06-29  Jim Meyering  <jim@meyering.net>
77920
77921         * modules/strftime (Maintainer): Add my name, since with the
77922         FPRINTFTIME changes strftime.c has forked from glibc.
77923
77924 2006-06-29  Eric Blake  <ebb9@byu.net>
77925
77926         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77927
77928 2006-06-29  Eric Blake  <ebb9@byu.net>
77929
77930         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77931
77932 2006-06-29  Eric Blake  <ebb9@byu.net>
77933
77934         * lib/stat_.h: New file.
77935
77936 2006-06-29  Eric Blake  <ebb9@byu.net>
77937
77938         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77939         unused static function.
77940
77941 2006-06-29  Eric Blake  <ebb9@byu.net>
77942
77943         * doc/functions.texi (Function Portability): Document missing lstat
77944         on mingw.
77945
77946 2006-06-29  Eric Blake  <ebb9@byu.net>
77947
77948         * MODULES.html.sh: Add sys_stat.
77949         * modules/sys_stat: New module.
77950         * modules/mkstemp (Depends-on): Add sys_stat.
77951
77952 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77953
77954         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77955
77956 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77957
77958         * m4/c-bs-a.m4: Removed.
77959
77960 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77961
77962         * lib/strftime.c: Assume strftime() exists.
77963
77964 2006-06-29  Derek Price  <derek@ximbiot.com>
77965
77966         * modules/c-bs-a: Removed - \a is C89.
77967         * MODULES.html.sh: Remove c-bs-a.
77968
77969 2006-06-29  Bruno Haible  <bruno@clisp.org>
77970
77971         * modules/wcwidth (License): Change to LGPL.
77972
77973 2006-06-28  Simon Josefsson  <jas@extundo.com>
77974
77975         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77976         on _WIN32.
77977
77978         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77979         getnameinfo.
77980
77981 2006-06-28  Simon Josefsson  <jas@extundo.com>
77982
77983         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77984
77985 2006-06-28  Simon Josefsson  <jas@extundo.com>
77986
77987         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77988         functions there.  It will succeed on Windows XP, but on Windows
77989         2000 and (presumably) earlier, it will fail, and use the internal
77990         re-implementation.
77991         (use_win32_p): New function.
77992         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77993         Support AI_NUMERICSERV to disable getservbyname.
77994         (getnameinfo): New function, only supports
77995         NI_NUMERICHOST|NI_NUMERICSERV for now.
77996
77997         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77998         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77999         getnameinfo.
78000
78001 2006-06-28  Eric Blake  <ebb9@byu.net>
78002
78003         * modules/wcwidth: New file.
78004         * modules/mbchar (Depends-on): Add wcwidth.
78005         * modules/mbswidth (Depends-on): Add wcwidth.
78006         * MODULES.html.sh: Add wcwidth.
78007
78008 2006-06-28  Eric Blake  <ebb9@byu.net>
78009
78010         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78011         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78012
78013 2006-06-28  Eric Blake  <ebb9@byu.net>
78014
78015         * lib/xvasprintf.h: Fix comments.
78016
78017 2006-06-28  Eric Blake  <ebb9@byu.net>
78018
78019         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78020         * lib/mbswidth.c (wcwidth): Move from here...
78021         * lib/wcwidth.h: ...to this new file.
78022
78023 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78024
78025         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78026
78027         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78028         it's obsolete.
78029         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78030
78031 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78032
78033         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78034         Autoconf 2.60 says this stuff was obsolete.
78035
78036 2006-06-28  Bruno Haible  <bruno@clisp.org>
78037
78038         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78039
78040 2006-06-28  Bruno Haible  <bruno@clisp.org>
78041
78042         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78043         gt_TYPE_WCHAR_T.
78044
78045 2006-06-28  Bruno Haible  <bruno@clisp.org>
78046
78047         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78048         declaration for wcwidth.
78049         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78050
78051 2006-06-28  Bruno Haible  <bruno@clisp.org>
78052
78053         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78054         (mkdir): Define using _mkdir.
78055
78056 2006-06-28  Bruno Haible  <bruno@clisp.org>
78057
78058         * lib/getaddrinfo.h: Fix POSIX URL.
78059         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78060         _WIN32.
78061         (use_win32_p): Make static.
78062         (getaddrinfo): Reject service name if it is empty or does not consist
78063         solely of decimal digits, or if its value is > 65535.
78064         (getnameinfo): Remove useless casts.
78065
78066 2006-06-27  Simon Josefsson  <jas@extundo.com>
78067
78068         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78069         Eggert and Martin Lambers.
78070
78071 2006-06-27  Simon Josefsson  <jas@extundo.com>
78072
78073         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78074         Eggert and Martin Lambers.
78075
78076 2006-06-27  Bruno Haible  <bruno@clisp.org>
78077
78078         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78079         result to 0, not to empty.
78080         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78081
78082 2006-06-27  Bruno Haible  <bruno@clisp.org>
78083
78084         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78085
78086 2006-06-26  Simon Josefsson  <jas@extundo.com>
78087
78088         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78089         present.
78090
78091 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78092
78093         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78094         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78095         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78096
78097 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78098
78099         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78100
78101 2006-06-26  Bruno Haible  <bruno@clisp.org>
78102
78103         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78104
78105 2006-06-26  Bruno Haible  <bruno@clisp.org>
78106
78107         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78108
78109 2006-06-26  Bruno Haible  <bruno@clisp.org>
78110
78111         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78112         SGI C compiler in pre-C99 mode.
78113         Suggested by Mark D. Baushke and Larry Jones.
78114
78115 2006-06-26  Bruno Haible  <bruno@clisp.org>
78116
78117         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78118         WCHAR_MAX.
78119         Reported by Mark D. Baushke and Larry Jones.
78120
78121 2006-06-26  Bruno Haible  <bruno@clisp.org>
78122
78123         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78124         in pre-C99 mode.
78125         Suggested by Mark D. Baushke and Larry Jones.
78126
78127 2006-06-23  Simon Josefsson  <jas@extundo.com>
78128             Bruno Haible  <bruno@clisp.org>
78129
78130         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78131         Emit mostlyclean-local rule.
78132         (func_emit_tests_Makefile_am): Likewise.
78133         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78134
78135 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78136
78137         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78138
78139 2006-06-23  Bruno Haible  <bruno@clisp.org>
78140
78141         * tests/test-stdint.c: Update to match ISO C 99 Technical
78142         Corrigendum 1.
78143
78144 2006-06-23  Bruno Haible  <bruno@clisp.org>
78145
78146         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78147
78148 2006-06-23  Bruno Haible  <bruno@clisp.org>
78149
78150         * lib/stdint_.h: Treat IRIX like OpenBSD.
78151
78152 2006-06-23  Bruno Haible  <bruno@clisp.org>
78153
78154         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78155         ISO C 99 Technical Corrigendum 1.
78156
78157 2006-06-22  Simon Josefsson  <jas@extundo.com>
78158
78159         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78160         MinGW.
78161
78162 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78163
78164         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78165         needed.  Some compiler complained about some of them.  Problem reported
78166         by Larry Jones in
78167         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78168
78169 2006-06-21  Simon Josefsson  <jas@extundo.com>
78170
78171         * tests/test-getaddrinfo.c: New file.
78172
78173         * modules/getaddrinfo-tests: New file.
78174
78175         * MODULES.html.sh: Add inet_pton.
78176
78177         * modules/inet_pton: New file.
78178
78179 2006-06-21  Simon Josefsson  <jas@extundo.com>
78180
78181         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78182         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78183         of using the (limited) gnulib implementation on Windows XP.
78184
78185         * m4/inet_pton.m4: New file.
78186
78187 2006-06-21  Simon Josefsson  <jas@extundo.com>
78188
78189         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78190         variable.
78191
78192         * lib/socket_.h: Don't define WINVER.
78193
78194         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78195         slightly modified to work in gnulib.
78196
78197 2006-06-21  Simon Josefsson  <jas@extundo.com>
78198
78199         * doc/gnulib.texi (Windows sockets): Add.
78200
78201 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78202
78203         * lib/read-file.c (fread_file): Start with buffer allocation of
78204         0 bytes rather than 1 byte; this simplifies the code.
78205         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78206         code to free buffer and save/restore errno.
78207         (internal_read_file): Remove unused local.
78208
78209 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78210
78211         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78212         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78213         Problem reported by Denis Excoffier in
78214         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78215
78216 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78217
78218         * modules/sys_socket, modules/socklen: Include sys/types since
78219         FreeBSD 4.x's sys/socket.h needs it.
78220
78221 2006-06-19  Simon Josefsson  <jas@extundo.com>
78222
78223         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78224
78225 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78226
78227         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78228
78229 2006-06-19  Bruno Haible  <bruno@clisp.org>
78230
78231         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78232         and FULL_PATH_INTTYPES_H in angle brackets.
78233         Reported by Mark D. Baushke <mdb@gnu.org>.
78234
78235 2006-06-17  Eric Blake  <ebb9@byu.net>
78236
78237         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
78238         errno.
78239
78240 2006-06-17  Bruno Haible  <bruno@clisp.org>
78241
78242         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
78243         <sys/inttypes.h>.
78244
78245 2006-06-17  Bruno Haible  <bruno@clisp.org>
78246
78247         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
78248         whether errno is declared. Assume <errno.h> declares errno.
78249
78250 2006-06-17  Bruno Haible  <bruno@clisp.org>
78251
78252         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
78253
78254 2006-06-17  Bruno Haible  <bruno@clisp.org>
78255
78256         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78257         problem on Solaris 2.5.1.
78258
78259 2006-06-16  Eric Blake  <ebb9@byu.net>
78260
78261         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78262         * lib/unicodeio.c [!defined errno]: Likewise.
78263         * lib/strtol.c [!defined errno]: Likewise.
78264         * lib/strtod.c [!defined errno]: Likewise.
78265
78266 2006-06-15  Eric Blake  <ebb9@byu.net>
78267
78268         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78269
78270 2006-06-15  Eric Blake  <ebb9@byu.net>
78271
78272         * config/srclist.txt (ssize_t.m4): Lose sync.
78273
78274 2006-06-15  Bruno Haible  <bruno@clisp.org>
78275
78276         * modules/stdint (Files): Include m4/full-header-path.m4,
78277         m4/size_max.m4, m4/wchar_t.m4.
78278         (Makefile.am): Many more substitutions.
78279         * modules/stdint-tests: New file.
78280         * tests/test-stdint.c: New file.
78281
78282 2006-06-15  Bruno Haible  <bruno@clisp.org>
78283
78284         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78285         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78286         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78287         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78288         gl_CHECK_TYPE_SAME): New macros.
78289
78290 2006-06-15  Bruno Haible  <bruno@clisp.org>
78291
78292         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78293
78294 2006-06-15  Bruno Haible  <bruno@clisp.org>
78295
78296         * lib/stdint_.h: Rewritten to be fully auto-configured.
78297         Fixes bug on HP-UX/IA64.
78298
78299 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         * lib/getdate.y (__attribute__): Don't define if already defined.
78302         Problem reported by Larry Jones.
78303         * lib/utimens.c (__attribute__): Likewise.
78304
78305 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78306
78307         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78308         reported by Andreas Schwab.
78309
78310 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78311             Bruno Haible  <bruno@clisp.org>
78312
78313         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78314         check for the declaration of strnlen and a run test that exposes the
78315         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78316         rpl_strndup.
78317
78318 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78319             Bruno Haible  <bruno@clisp.org>
78320
78321         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78322
78323 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78324
78325         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78326         compile test, for Tru64 4.0D.
78327
78328 2006-05-28  Karl Berry  <karl@gnu.org>
78329
78330         * config/srclist.txt (printf-args.c): lose sync.
78331
78332 2006-05-26  Martin Lambers  <marlam@marlam.de>
78333
78334         * lib/getpass.c: Updates the test for the native W32 API, and adds
78335         missing includes, thus fixing compilation warnings.
78336
78337 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78338
78339         * lib/exclude.c (exclude_fnmatch): New function.
78340         (excluded_file_name): Call exclude_fnmatch.
78341         * lib/exclude.h (excluded_file_name): New prototype
78342
78343 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78344
78345         * lib/tempname.c (small_open, large_open): New macros.
78346         (__open, __open64) [!_LIBC]: Remove.
78347         (__gen_tempname): Use small_open and large_open instead of __open
78348         and __open64.  This fixes a portability bug on HP-UX 11.11i
78349         reported by Simon Wing-Tang in
78350         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78351
78352 2006-05-24  Bruno Haible  <bruno@clisp.org>
78353
78354         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78355         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78356         Reported by Thorsten Maerz <torte@netztorte.de> via
78357         Aaron Stone <aaron@serendipity.cx>.
78358
78359 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78360
78361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78362         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78363         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78364         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78365         not really conditional on the cache.
78366         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78367
78368 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78369
78370         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78371         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78372         (my_usleep): Don't mishandle maximum value.
78373
78374 2006-05-19  Jim Meyering  <jim@meyering.net>
78375
78376         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78377
78378 2006-05-17  Bruno Haible  <bruno@clisp.org>
78379
78380         Cygwin portability.
78381         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78382
78383 2006-05-17  Bruno Haible  <bruno@clisp.org>
78384
78385         * lib/stdint_.h: Fix recognition of Cygwin.
78386
78387 2006-05-15  Bruno Haible  <bruno@clisp.org>
78388
78389         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78390         on libtool patch by Ralf Wildenhues.
78391
78392 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78395         test for C99 conformance; (bool) 0.5 is an integer constant
78396         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78397         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78398
78399 2006-05-11  Simon Josefsson  <jas@extundo.com>
78400
78401         * m4/xvasprintf.m4: Fix obvious typo.
78402
78403 2006-05-11  Jim Meyering  <jim@meyering.net>
78404
78405         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78406         James Lemley.
78407
78408 2006-05-10  Simon Josefsson  <jas@extundo.com>
78409
78410         * lib/md4.c: Typo fix, update copyright years.
78411         (K1, K2): Don't use L because it turn computations into 64-bit on
78412         64-bit platforms.
78413
78414 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78417         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78418         unwanted sign propagation, e.g., on hosts with 64-bit int.
78419         There still are some problems with reeelly weird theoretical hosts
78420         (e.g., 33-bit int) but it's not worth worrying about now.
78421         * lib/sha1.c (rol): Likewise.
78422         (K1, K2, K3, K4): Remove unnecessary L suffix.
78423
78424 2006-05-10  Bruno Haible  <bruno@clisp.org>
78425
78426         * lib/des.c: Cast to avoid warnings.
78427
78428 2006-05-09  Bruno Haible  <bruno@clisp.org>
78429
78430         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78431         (Depends-on): Depend also on xsize, stdarg.
78432         (configure.ac): Add gl_XVASPRINTF.
78433
78434 2006-05-09  Bruno Haible  <bruno@clisp.org>
78435
78436         * m4/xvasprintf.m4: New file.
78437
78438 2006-05-09  Bruno Haible  <bruno@clisp.org>
78439
78440         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78441         (EOVERFLOW): Define fallback value.
78442         (xstrcat): New function.
78443         (xvasprintf): Recognize the special case of a string concatenation.
78444
78445 2006-05-08  Eric Blake  <ebb9@byu.net>
78446
78447         * gnulib-tool (func_version): Base copyright year on CVS date.
78448         (func_emit_copyright_notice): New function.
78449         (func_emit_lib_Makefile_am): Use it.
78450         (func_emit_tests_Makefile_am): Likewise.
78451         (func_import): Likewise.
78452
78453 2006-05-08  Bruno Haible  <bruno@clisp.org>
78454
78455         * modules/stdarg: New file.
78456         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78457
78458 2006-05-08  Bruno Haible  <bruno@clisp.org>
78459
78460         * m4/stdarg.m4: New file, from GNU gettext.
78461
78462 2006-05-08  Bruno Haible  <bruno@clisp.org>
78463
78464         * config/srclist.txt (build-aux/config.rpath): different from latest
78465         release.
78466
78467 2006-05-08  Bruno Haible  <bruno@clisp.org>
78468
78469         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78470
78471 2006-05-05  Jim Meyering  <jim@meyering.net>
78472
78473         * m4/warning.m4: New file, derived from bison's file by the same name.
78474
78475 2006-05-03  Bruno Haible  <bruno@clisp.org>
78476
78477         * lib/stdint_.h: Shorter URL.
78478         * lib/inttypes.h: Likewise.
78479
78480 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78481
78482         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78483
78484 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * lib/verify.h: Document the internals better.  Most of this change
78487         was written by Bruno Haible.
78488
78489 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78490
78491         * doc/verify.texi: New file, partly based on a proposal by
78492         Bruno Haible.
78493
78494 2006-05-02  Bruno Haible  <bruno@clisp.org>
78495
78496         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78497         test from here...
78498         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78499
78500 2006-04-29  Bruno Haible  <bruno@clisp.org>
78501
78502         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78503         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78504
78505 2006-04-29  Bruno Haible  <bruno@clisp.org>
78506
78507         * gnulib-tool: Make --update option actually work.
78508
78509 2006-04-29  Bruno Haible  <bruno@clisp.org>
78510
78511         * doc/gcd.texi: New file.
78512         * doc/gnulib.texi: Include it.
78513
78514 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78515
78516         * lib/getdate.y (get_date): When adding relative date, start with the
78517         initial time, not with the result of the first mktime call.
78518
78519 2006-04-25  Bruno Haible  <bruno@clisp.org>
78520
78521         * gnulib-tool (func_import): Output the include directives in three
78522         blocks, sorted separately.
78523         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78524
78525 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78526
78527         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78528         to define main with arguments, for C++.  Reported by Eric Blake.
78529         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78530         Prefer 'int main ()' to 'int main (void)', for C++.
78531         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78532         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78533         for 'main', for C99 and C++.
78534
78535 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78536
78537         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78538         Don't assume that exit status -1 is valid.
78539         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78540         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78541         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78542         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78543         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78544         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78545         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78546         functions can be used without declaring them, or that you can
78547         exit with status -1.
78548         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78549
78550 2006-04-24  Karl Berry  <karl@gnu.org>
78551
78552         * config/srclist.txt (longdouble.m4): sync lost.
78553
78554 2006-04-24  Eric Blake  <ebb9@byu.net>
78555
78556         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78557
78558 2006-04-24  Bruno Haible  <bruno@clisp.org>
78559
78560         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78561         poll() implementation in AIX.
78562         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78563
78564 2006-04-24  Bruno Haible  <bruno@clisp.org>
78565
78566         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
78567         assigned exactly once.
78568
78569 2006-04-23  Claudio Fontana  <claudio@gnu.org>
78570             Bruno Haible  <bruno@clisp.org>
78571
78572         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
78573         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
78574         for AM_CPPFLAGS.
78575
78576 2006-04-23  Bruno Haible  <bruno@clisp.org>
78577
78578         * modules/copy-file: Depend on unistd.
78579         * modules/execute: Likewise.
78580         * modules/fatal-signal: Likewise.
78581         * modules/findprog: Likewise.
78582         * modules/mkdtemp : Likewise.
78583         * modules/pipe: Likewise.
78584         * modules/wait-process: Likewise.
78585
78586 2006-04-23  Bruno Haible  <bruno@clisp.org>
78587
78588         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
78589         condition was already detected.
78590         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78591
78592 2006-04-23  Bruno Haible  <bruno@clisp.org>
78593
78594         * lib/copy-file.c: Include <unistd.h> unconditionally.
78595         * lib/execute.c: Likewise.
78596         * lib/fatal-signal.c: Likewise.
78597         * lib/findprog.c: Likewise.
78598         * lib/mkdtemp.c: Likewise.
78599         * lib/pipe.h: Likewise.
78600         * lib/pipe.c: Likewise.
78601         * lib/wait-process.h: Likewise.
78602
78603 2006-04-23  Bruno Haible  <bruno@clisp.org>
78604
78605         * gnulib-tool (func_usage): Fix --import description. Document
78606         --update.
78607         (func_import): Create temporary file in a temporary directory, if
78608         --dry-run is specified. Silence errors from 'grep' when there are no
78609         m4 files in $m4dir.
78610         (func_create_testdir): Silence errors from 'grep' when there are no
78611         m4 files in $m4dir.
78612         Reported by Karl Berry <karl@freefriends.org>.
78613
78614 2006-04-20  Bruno Haible  <bruno@clisp.org>
78615
78616         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
78617         one argument, so that the code will be portable to Autoconf 2.60.
78618         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
78619         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78620         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
78621
78622 2006-04-19  Derek Price  <derek@ximbiot.com>
78623             Eric Blake  <ebb9@byu.net>
78624
78625         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
78626         rather than "/full/path.h".  Update comment to match.  Shorten &
78627         generalize m4_translit call via AS_TR_CPP.
78628
78629 2006-04-19  Derek Price  <derek@ximbiot.com>
78630             Eric Blake  <ebb9@byu.net>
78631
78632         * lib/inttypes.h: Correct grammar in comment.
78633
78634 2006-04-18  Derek Price  <derek@ximbiot.com>
78635             Paul Eggert  <eggert@cs.ucla.edu>
78636
78637         * modules/inttypes: New file.
78638         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
78639
78640 2006-04-18  Derek Price  <derek@ximbiot.com>
78641             Paul Eggert  <eggert@cs.ucla.edu>
78642
78643         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
78644         New files.
78645
78646 2006-04-18  Derek Price  <derek@ximbiot.com>
78647             Paul Eggert  <eggert@cs.ucla.edu>
78648
78649         * lib/inttypes.h: New file.
78650         * lib/strtoimax.c: Assume <inttypes.h>.
78651
78652 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
78653
78654         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
78655         isn't mounted.  Problem reported by Kir Kolyshkin.
78656
78657 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78658
78659         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
78660         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
78661         Derek R. Price.
78662         * lib/regex.h (RE_DUP_MAX): Update comment to match current
78663         implementation.
78664
78665 2006-04-12  Eric Blake  <ebb9@byu.net>
78666
78667         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
78668         is now done automatically by the corresponding Autoconf macro.
78669
78670 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
78671
78672         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
78673         time_r.h.
78674
78675 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78676
78677         Merge regex changes from libc, removing some of our
78678         POSIX-conformance changes that were rejected and redoing them in a
78679         less-intrusive way.
78680
78681         * lib/regcomp.c (re_compile_internal, init_dfa):
78682         Length arg is now size_t, not Idx.  All uses changed.
78683         (peek_token): Forward decl now says internal_function.
78684         (__re_error_msgid, __re_error_msgid_idx):
78685         Now static rather than extern with attribute_hidden.
78686         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
78687         For some reason libc prefers K&R style defns for external functions.
78688         (regerror) [!defined _LIBC]: Likewise.
78689         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
78690         (seek_collating_symbol_entry, lookup_collation_sequence_value):
78691         (build_range_exp, build_collating_symbol):
78692         Use K&R-style defn.
78693         (re_compile_fastmap): Use '\0' to memset, not 0.
78694         (utf8_sb_map): Make the calculations more obvious.
78695         (init_dfa, parse_bracket_exp, build_charclass_op):
78696         Call calloc and cast result, as glibc does.
78697         (init_word_char, fetch_token, peek_token, peek_token_bracket):
78698         (build_range_exp, build_collating_symbol):
78699         Now internal functions.
78700
78701         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
78702
78703         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
78704         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
78705         Don't depend on VMS; depend on __VMS instead, for POSIX
78706         namespace cleanness.
78707         (regoff_t): Define to ssize_t, not long int.
78708
78709         Remove the REG_ macros named below.  Instead, make the old names
78710         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
78711         __USE_GNU_REGEX.
78712         (REG_BACKSLASH_ESCAPE_IN_LISTS):
78713         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
78714         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
78715         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
78716         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
78717         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
78718         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
78719         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
78720         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
78721         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
78722         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
78723         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
78724         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
78725         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
78726         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
78727         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
78728         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
78729         (REG_NREGS):
78730         Remove.  All uses replaced by the old RE_* names.
78731         (RE_BACKSLASH_ESCAPE_IN_LISTS):
78732         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
78733         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
78734         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
78735         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
78736         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
78737         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
78738         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
78739         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
78740         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
78741         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
78742         Don't bother having these macros be independent of each others'
78743         values, since they no longer exist in the POSIX name space.
78744
78745         Rename the following member names back to their old names,
78746         unless !__USE_GNU_REGEX.  All uses changed back.
78747         (buffer): Renamed from re_buffer.
78748         (allocated): Renamed from re_allocated.
78749         (used): Renamed from re_used.
78750         (syntax): Renamed from re_syntax.
78751         (fastmap): Renamed from re_fastmap.
78752         (translate): Renamed from re_translate.
78753         (can_be_null): Renamed from re_can_be_null.
78754         (regs_allocated): Renamed from re_regs_allocated.
78755         (fastmap_accurate): Renamed from re_fastmap_accurate.
78756         (no_sub): Renamed from re_no_sub.
78757         (not_bol): Renamed from re_not_bol.
78758         (not_eol): Renamed from re_not_eol.
78759         (newline_anchor): Renamed from re_newline_anchor.
78760         (num_regs): Renamed from rm_num_regs.
78761         (start): Renamed from rm_start.
78762         (end): Renamed from rm_end.
78763
78764         (free_state): Move up a bit.
78765
78766         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78767         #define to be empty.
78768         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78769         when that is what is intended.
78770         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78771         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78772         (MAX): New macro.
78773         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78774         All uses changed back to re_malloc, etc.  It's now the caller's
78775         responsibility to check for overflow; all callers changed.
78776         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78777         (re_x2nrealloc): Remove.
78778         (free_state): Remove decl.
78779
78780         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78781         (re_set_registers, re_exec):
78782         Use K&R-style defn.
78783
78784         2006-01-31  Roland McGrath  <roland@redhat.com>
78785
78786         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78787         Reported by Mike Frysinger <vapier@gentoo.org>.
78788
78789         2006-01-15  Andreas Jaeger  <aj@suse.de>
78790
78791         [BZ #1950]
78792         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78793         build_wcs_upper_buffer change.
78794         (build_wcs_upper_buffer): Change return type.
78795
78796         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78797
78798         * lib/regex_internal.h: Include <stdint.h> if available.
78799
78800         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78801
78802         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78803
78804         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78805
78806         * lib/regcomp.c: Adjust for changed secondary hash function.
78807
78808         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78809
78810         * lib/regex.h: Pretty printing.
78811         Clean up namespace a bit.
78812
78813         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78814
78815         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78816         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78817
78818         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78819                     Ulrich Drepper  <drepper@redhat.com>
78820
78821         [BZ #1302]
78822         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78823         changed.
78824         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78825
78826         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78827
78828         [BZ #281]
78829         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78830         * lib/regcomp.c: Remove unnecessary uses of
78831         unsigned RE_TRANSLATE_TYPE.
78832         * lib/regex_internal.h: Likewise.
78833         * lib/regex_internal.c: Likewise.
78834         * lib/regexec.c: Likewise.
78835         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78836
78837         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78838
78839         * lib/regexec.c (find_recover_state): Remove unnecessary
78840         initialization.
78841         (transit_state_bkref): Make DFA a const pointer.
78842         (get_subexp): Likewise.
78843         (check_arrival): Likewise.
78844         (update_cur_sifted_state): Likewise.
78845         (re_search_internal): Likewise.
78846         (prune_impossible_nodes): Likewise.
78847         (acquire_init_state_context): Likewise.
78848         (proceed_next_node): Likewise.
78849         (set_regs): Likewise.
78850         (free_fail_stack_return): Likewise.
78851         (check_arrival_expand_ecl): Mark DFA parameter as const.
78852         (check_arrival_expand_ecl_sub): Likewise.
78853         (check_subexp_limits): Likewise.
78854         (sub_epsilon_src_nodes):  Likewise.
78855         (add_epsilon_src_nodes):  Likewise.
78856         (merge_state_array): Likewise.
78857         (update_regs): Likewise.
78858         (build_trtable): Likewise.
78859         (sift_states_backward): Mark MCTX parameter as const.
78860         (build_sifted_states): Likewise.
78861         (update_cur_sifted_state): Likewise.
78862         (sift_states_mkref): Likewise.
78863         (check_arrival_expand_ecl): Mark eclosure as const.
78864         (check_dst_limits_calc_pos_1): Likewise.
78865         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78866         pointer.
78867
78868         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78869
78870         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78871         (transit_state_sb): Likewise.
78872         (transit_state_mb): Likewise.
78873         (sift_states_iter_mb): Likewise.
78874         (check_arrival_add_next_nodes): Likewise.
78875         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78876         [_LIBC] (re_search_2_stub): Use mempcpy.
78877
78878         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78879         mbrtowc for very simple UTF-8 case.
78880
78881         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78882         a pointer-to-const.
78883         (re_acquire_state_context): Likewise.
78884         * lib/regex_internal.h: Adjust prototypes.
78885
78886         * lib/regex.c: Prevent using C++ compilers.
78887
78888         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78889         (re_acquire_state_context): Likewise.
78890
78891 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78892
78893         * modules/regex (Depends-on): Add ssize_t.
78894
78895 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78898         translation table.
78899
78900 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78901
78902         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78903
78904 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78905             Bruno Haible  <bruno@clisp.org>
78906
78907         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78908         <sys/types.h> and <inttypes.h>.
78909
78910 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78911
78912         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78913         `__error_t_defined', so argp.h will not typedef the former.
78914
78915 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78916
78917         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78918         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78919         glibc names.  Even if glibc is changed to conform to POSIX, the
78920         traditional names will be available anyway, since regex depends on
78921         the extensions module.  Also, fix a longstanding typo in the
78922         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78923         reported by Emanuele Giaquinta.  Also, change sense of cached
78924         variable, so that the message makes sense.
78925
78926 2006-03-24  Simon Josefsson  <jas@extundo.com>
78927
78928         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78929         including some doc fixes.
78930         (base64_encode_alloc): Fix +1 bug on allocation failures.
78931
78932 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78933
78934         * lib/base64.c (base64_encode): Do not read past end of array with
78935         unsanitized input on systems with CHAR_BIT > 8.
78936
78937 2006-03-24  Eric Blake  <ebb9@byu.net>
78938
78939         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78940
78941 2006-03-22  Karl Berry  <karl@gnu.org>
78942
78943         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78944         * config/srclistvars.sh (COREUTILS): new var.
78945
78946 2006-03-17  Jim Meyering  <jim@meyering.net>
78947
78948         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78949         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78950
78951 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78952
78953         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78954         no longer needs it.  Instead, check that regoff_t is as least
78955         as wide as ptrdiff_t.
78956
78957         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78958         so that our regex.h stays compatible with the installed regex.
78959         This is helpful for installers who configure --without-included-regex.
78960         Problem reported by Emanuele Giaquinta.
78961
78962 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78963
78964         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78965         Typedef to long int, not to off_, as POSIX will likely change
78966         in that direction.
78967
78968 2006-03-15  Eric Blake  <ebb9@byu.net>
78969
78970         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78971
78972 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78973
78974         * lib/argp-help.c (validate_uparams): Fix typo
78975         * lib/argp-parse.c (argp_default_options): Consistently begin help
78976         messages with a lowercase letter.
78977
78978 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78979
78980         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78981         overrun buffers and shouldn't be used (much as gets shouldn't be
78982         used).
78983         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78984
78985 2006-03-08  Simon Josefsson  <jas@extundo.com>
78986
78987         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78988         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78989
78990 2006-03-08  Simon Josefsson  <jas@extundo.com>
78991
78992         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78993         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78994
78995 2006-03-08  Simon Josefsson  <jas@extundo.com>
78996
78997         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78998         signal that configure disabled the device.
78999
79000 2006-03-08  Simon Josefsson  <jas@extundo.com>
79001
79002         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79003         languages.
79004
79005 2006-03-07  Simon Josefsson  <jas@extundo.com>
79006
79007         * modules/getopt (Depends-on): Add unistd.
79008
79009         * modules/unistd: New file.
79010
79011 2006-03-07  Simon Josefsson  <jas@extundo.com>
79012
79013         * modules/gc-random: New file.
79014
79015 2006-03-07  Simon Josefsson  <jas@extundo.com>
79016
79017         * m4/unistd_h.m4: New file.
79018
79019 2006-03-07  Simon Josefsson  <jas@extundo.com>
79020
79021         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79022         test to be side-effect free by storing the result in the cache
79023         variable gl_cv_lib_readline, and moving the assignment of
79024         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79025         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79026
79027 2006-03-07  Simon Josefsson  <jas@extundo.com>
79028
79029         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79030         error on missing devices (the functions will return an error).
79031
79032         * m4/gc.m4: Move random stuff to gc-random.m4
79033
79034 2006-03-07  Simon Josefsson  <jas@extundo.com>
79035
79036         * lib/unistd_.h: New file.
79037
79038 2006-03-07  Simon Josefsson  <jas@extundo.com>
79039
79040         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79041
79042 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79043
79044         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79045         Problem reported by Juan Manuel Guerrero.
79046
79047 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79048
79049         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79050         the unistd module.
79051         * lib/getlogin_r.c: Likewise.
79052         * lib/getlogin_r.h: Likewise.
79053         * lib/glob.c: Likewise.
79054         * lib/pagealign_alloc.c: Likewise.
79055         * lib/unistd_.h: Remove; no longer needed.
79056
79057 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79058
79059         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79060         Add unistd.
79061         * modules/c-stack (Depends-on): Add unistd.
79062         * modules/getlogin_r: Likewise.
79063         * modules/glob: Likewise.
79064         * modules/pagealign_alloc: Likewise.
79065         * modules/unistd (Files): Remove lib/unistd_.h.
79066         (EXTRA_DIST): Remove.
79067         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79068         need unistd_.h.
79069         (MOSTLYCLEANFILES): Remove unistd.h-t.
79070
79071 2006-03-03  Simon Josefsson  <jas@extundo.com>
79072
79073         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79074
79075 2006-03-03  Simon Josefsson  <jas@extundo.com>
79076
79077         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79078         libidn and bison.
79079
79080 2006-03-03  Simon Josefsson  <jas@extundo.com>
79081
79082         * build-aux/maint.mk: Add indent target.
79083
79084 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79085
79086         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79087         our replacement poll.h in any case, to avoid a differing
79088         declaration from a system header.  Seen on AIX.
79089
79090 2006-03-01  Simon Josefsson  <jas@extundo.com>
79091
79092         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79093         <kasal@ucw.cz>.
79094
79095 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79096
79097         * modules/gettime (Depends-on): Add extensions module.
79098         * modules/nanosleep (Depends-on): Likewise.
79099         * modules/settime (Depends-on): Likewise.
79100
79101 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79102
79103         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79104         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79105         pedantically.
79106         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79107         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79108
79109         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79110         not "==".  Reported by Ralf Wildenhues.
79111
79112 2006-03-01  Karl Berry  <karl@gnu.org>
79113
79114         * doc/Copyright/request-*: new files, synced from gnuorg.
79115
79116 2006-03-01  Karl Berry  <karl@gnu.org>
79117
79118         * config/srclist.txt (Copyright/*): new entries.
79119
79120 2006-02-28  Simon Josefsson  <jas@extundo.com>
79121
79122         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79123
79124 2006-02-27  Simon Josefsson  <jas@extundo.com>
79125
79126         * lib/base64.h: Indent #define's.  From Jim Meyering
79127         <jim@meyering.net>.
79128
79129 2006-02-27  Jim Meyering  <jim@meyering.net>
79130
79131         Revert the change of 2006-02-24, so these files can continue
79132         to be sync'd from gettext.
79133         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79134         of `config.h'.
79135
79136 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79137
79138         * modules/intprops: New file.
79139         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79140         Add intprops.
79141         * modules/getloadavg (Files): Remove lib/intprops.h.
79142         (Depends-on): Add intprops.
79143         * modules/human: Likewise.
79144         * modules/inttostr: Likewise.
79145         * modules/openat: Likewise.
79146         * modules/sig2str: Likewise.
79147         * modules/userspec: Likewise.
79148         * modules/utimecmp: Likewise.
79149         * modules/xnanosleep: Likewise.
79150         * modules/xstrtol: Likewise.
79151
79152 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79153
79154         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79155         * modules/lock-tests (TESTS): Use $(EXEEXT).
79156         * modules/tls-tests: Likewise.
79157         * modules/argp-tests: Likewise.
79158         (check_PROGRAMS): New var, replacing...
79159         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79160
79161 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79162
79163         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79164         `config.h'.
79165
79166 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79167
79168         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79169
79170 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79171
79172         Sync from coreutils.
79173         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79174         gl_CHDIR_SAFER.
79175
79176 2006-02-22  Jim Meyering  <jim@meyering.net>
79177
79178         Sync from coreutils.
79179         * m4/chdir-safer.m4: New file.
79180
79181 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79182
79183         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79184         AT_FDCWD exceeds INT_MAX.
79185         * lib/openat.h (AT_FDCWD): Likewise.
79186
79187 2006-02-17  Eric Blake  <address@hidden>
79188
79189         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79190
79191 2006-02-16  Simon Josefsson  <jas@extundo.com>
79192
79193         * modules/getaddrinfo (Depends-on): Add sys_socket.
79194
79195 2006-02-15  Simon Josefsson  <jas@extundo.com>
79196
79197         * build-aux/maint.mk: Add dsyntax-check rule.
79198
79199 2006-02-15  Eric Blake  <ebb9@byu.net>
79200
79201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79202         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79203         'present but cannot compile' warnings on cygwin.
79204         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79205         use ws2tcpip.h if sys/socket.h works.
79206         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79207         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79208
79209 2006-02-14  Simon Josefsson  <jas@extundo.com>
79210
79211         * modules/maintainer-makefile (Files): Rename.
79212
79213         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79214         and (the local) Makefile.cfg to maint-cfg.mk.
79215
79216         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79217         to the latter.
79218
79219         * modules/maintainer-makefile: New module.
79220
79221         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79222         severaly stripped to make it possible to build it up from scratch
79223         with reliable tests.
79224
79225         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79226         fixes to permit overriding the default actions when configure and
79227         makefile are not available.
79228
79229 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79230
79231         Sync from coreutils.
79232         * modules/lstat (Depends-on): Don't depend on xalloc.
79233         (License): Change from GPL to LGPL, since this is now simply a
79234         replacement for a libc function.
79235
79236 2006-02-14  Jim Meyering  <jim@meyering.net>
79237
79238         Sync from coreutils.
79239
79240         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
79241         failure on deficient systems, and simplify gnulib lgpl dependencies.
79242         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
79243         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
79244
79245         * lib/xalloc-die.c: Remove unused definition of N_.
79246
79247 2006-02-14  Jim Meyering  <jim@meyering.net>
79248
79249         Sync from coreutils.
79250         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
79251         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
79252         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
79253         double-quote uses of that variable, to accommodate the rare case in
79254         which getmntent is available in none of the libraries checked.  This
79255         happens at least on FreeBSD 5.0.
79256
79257 2006-02-13  Simon Josefsson  <jas@extundo.com>
79258
79259         * gnulib-tool (Usage): Fix --import, from
79260         karl@freefriends.org (Karl Berry).
79261
79262 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79263
79264         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79265
79266 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79267
79268         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79269         "autoupdate" on 2005-12-12.
79270
79271 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79272
79273         * modules/closeout (Depends-on): Remove atexit.
79274
79275 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79276
79277         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79278         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79279
79280 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79281
79282         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79283         __EXTENSIONS__ if this causes compilation to fail.  Problem
79284         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79285         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79286
79287 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79288
79289         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79290         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79291         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79292         All uses changed.
79293
79294 2006-01-26  Simon Josefsson  <jas@extundo.com>
79295
79296         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79297         prototype is visible on mingw32.
79298
79299         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79300         for mingw32.
79301
79302         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79303         mingw32).
79304
79305 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79306
79307         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79308         attempt to open for write; this always fails, at least on POSIX
79309         hosts.  This reinstates the 2006-01-09 change, which was
79310         inadvertently removed.
79311
79312 2006-01-26  Bruno Haible  <bruno@clisp.org>
79313
79314         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79315         Reported by Paul Eggert.
79316
79317 2006-01-26  Bruno Haible  <bruno@clisp.org>
79318             Paul Eggert  <eggert@cs.ucla.edu>
79319
79320         * lib/stdbool_.h (_Bool)
79321         [(! (defined __cplusplus || defined __BEOS__)
79322           && !defined __GNUC__
79323           && !(defined __HP_cc || defined __xlc__
79324                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79325                || defined __sgi))]:
79326         #define to signed char in these cases too; this simplifies
79327         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79328         etc., separately) and makes it more conservative.
79329
79330 2006-01-25  Simon Josefsson  <jas@extundo.com>
79331
79332         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79333         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79334         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79335
79336 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79337
79338         * lib/argp-namefrob.h: Bugfix. Remove stray #
79339
79340 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79341
79342         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79343         so that we test the test.
79344         Check for yet another HP-UX cc bug involving *bool |= bool.
79345
79346 2006-01-25  Karl Berry  <karl@gnu.org>
79347
79348         * config/srclist.txt (vasnprintf.c): sync lost.
79349
79350 2006-01-25  Jim Meyering  <jim@meyering.net>
79351
79352         Sync from the stable (b5) branch of coreutils:
79353
79354         * lib/fts.c (fts_children): Don't let close() clobber errno from
79355         failed fchdir().
79356
79357         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79358         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79359         a dangling symlink.  That can also happen at least for ELOOP.
79360         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79361         FYI, this bug predates the inclusion of fts.c in coreutils.
79362
79363         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79364         in their own block, so pre-c99 compilers don't object.
79365
79366         Avoid the double-free (first in fts_read, second in fts_close) that
79367         would occur when an `active' directory is made inaccessible (e.g.,
79368         via chmod a-x) during a traversal.
79369         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79370         before returning.  Reproduce this failure by
79371         mkdir -p a/b; cd a; chmod a-x . b
79372         Reported by Stavros Passas.
79373
79374 2006-01-25  Jim Meyering  <jim@meyering.net>
79375
79376         * lib/fileblocks.c: Remove more useless parentheses.
79377         * lib/readutmp.h: Likewise.
79378
79379 2006-01-25  Bruno Haible  <bruno@clisp.org>
79380
79381         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79382         warnings.
79383         Reported by Paul Eggert.
79384
79385 2006-01-25  Bruno Haible  <bruno@clisp.org>
79386
79387         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79388         rid of a trap command. For Solaris sh.
79389         Reported by Mark D. Baushke <mdb@gnu.org>.
79390
79391 2006-01-24  Simon Josefsson  <jas@extundo.com>
79392
79393         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79394         Bruno.
79395
79396 2006-01-24  Karl Berry  <karl@gnu.org>
79397
79398         * config/srclist.txt (argp-namefrob.h): sync lost.
79399
79400 2006-01-24  Jim Meyering  <jim@meyering.net>
79401
79402         * modules/openat (Files): Add lib/intprops.h.
79403         From Mark D. Baushke.
79404
79405 2006-01-24  Jim Meyering  <jim@meyering.net>
79406
79407         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79408         Reported by Mark D. Baushke.
79409
79410 2006-01-24  Jim Meyering  <jim@meyering.net>
79411
79412         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79413
79414 2006-01-24  Bruno Haible  <bruno@clisp.org>
79415
79416         * modules/strnlen (Maintainer): Change from glibc to all.
79417
79418 2006-01-24  Bruno Haible  <bruno@clisp.org>
79419
79420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79421         Patch by Paul Eggert.
79422
79423 2006-01-24  Bruno Haible  <bruno@clisp.org>
79424
79425         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79426         already has it.
79427         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79428         2005-11-26.
79429
79430         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79431         'signed char' to avoid problems with the built-in _Bool type.
79432         Reported by Paul Eggert on 2005-11-26.
79433
79434 2006-01-24  Bruno Haible  <bruno@clisp.org>
79435
79436         * gnulib-tool (func_import): Avoid constructing complicated sed
79437         expressions inside backquote.
79438         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79439
79440 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79441
79442         These changes imported from libc.
79443         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79444         test and two separate function calls.
79445         * lib/strndup.c (__strndup): Add libc_hidden_def.
79446
79447 2006-01-23  Simon Josefsson  <jas@extundo.com>
79448
79449         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79450         Remove the test_*_SOURCES variable: automake infers it by default.
79451         * modules/tls-tests: Likewise.
79452
79453 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79454
79455         Work around porting bugs reported by Dieter in
79456         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79457         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79458         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79459         Include "getopt.h" first, to check interface.
79460         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79461         !HAVE_DECL_GETENV.
79462         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79463         (__strndup): Revert to K&R-style function dfns, the glibc style.
79464         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79465         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79466         Include strnlen.h first, to get prototype properly.
79467         (strnlen): Renamed from __strnlen.
79468         Remove weak alias.
79469
79470 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79471
79472         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79473
79474 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79475
79476         * config/srclist.txt: Adjust to reflect glibc reorganization.
79477         This affects only comments.
79478
79479 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79480
79481          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79482          Reported by Bruce Korb <bkorb@gnu.org>.
79483
79484 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79485
79486         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79487         to pacify gcc -Wswitch-default.
79488
79489 2006-01-22  Bruno Haible  <bruno@clisp.org>
79490
79491         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79492         temporary buffer for sprintf, take into account the precision also
79493         for 'd', 'i', 'u', 'o', 'x', 'X'.
79494
79495 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79496
79497         * modules/argp-tests: New module
79498         * tests/test-argp.c: New file
79499         * tests/test-argp-2.sh: New file
79500
79501 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79502
79503         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79504         (__argp_base_name): Removed
79505         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79506         typo.
79507         (__argp_base_name): Provide macro definition or extern declaration
79508         depending on the configuration
79509
79510 2006-01-20  Simon Josefsson  <jas@extundo.com>
79511
79512         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79513
79514 2006-01-20  Simon Josefsson  <jas@extundo.com>
79515
79516         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79517
79518 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79519
79520         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79521         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79522         Suggested by Bruno Haible.
79523
79524 2006-01-20  Karl Berry  <karl@gnu.org>
79525
79526         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79527         until changes propagate, I guess.
79528
79529 2006-01-19  Simon Josefsson  <jas@extundo.com>
79530
79531         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79532
79533 2006-01-19  Simon Josefsson  <jas@extundo.com>
79534
79535         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79536
79537 2006-01-19  Simon Josefsson  <jas@extundo.com>
79538
79539         * gnulib-tool: Set check_PROGRAMS.
79540
79541         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79542         modules/des-tests, modules/gc-arcfour-tests,
79543         modules/gc-arctwo-tests, modules/gc-des-tests,
79544         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79545         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79546         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79547         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79548         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79549         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79550         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79551         test_*_SOURCES.
79552
79553 2006-01-18  Simon Josefsson  <jas@extundo.com>
79554
79555         * modules/socklen (Depends-on): Depend on sys_socket.
79556
79557 2006-01-18  Simon Josefsson  <jas@extundo.com>
79558
79559         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79560         modules/des-tests, modules/gc-arcfour-tests,
79561         modules/gc-arctwo-tests, modules/gc-des-tests,
79562         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79563         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79564         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79565         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79566         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79567         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
79568         $(EXEEXT) to automake TESTS variable, for mingw32.
79569
79570 2006-01-17  Simon Josefsson  <jas@extundo.com>
79571
79572         * modules/socklen (Include): Need sys/socket.h.
79573
79574 2006-01-17  Bruno Haible  <bruno@clisp.org>
79575
79576         * modules/ssize_t (Include): Add <sys/types.h>.
79577
79578 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
79579
79580         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
79581         it's not portable and it doesn't work with cross-compiles.
79582         Problem reported by Bruno Haible.  Fix missing-$ typo in
79583         'test "gl_cv_ignore_unused_libraries" ...' that prevented
79584         -zignore from being used with Sun's C compiler.
79585
79586 2006-01-12  Simon Josefsson  <jas@extundo.com>
79587
79588         * lib/base64.c: Fix warning, reported by Bruno Haible
79589         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
79590
79591 2006-01-12  Bruno Haible  <bruno@clisp.org>
79592
79593         * modules/ldd: New file.
79594         * build-aux/ldd.sh.in: New file.
79595         * MODULES.html.sh (Support for building libraries and executables): Add
79596         ldd.
79597
79598 2006-01-12  Bruno Haible  <bruno@clisp.org>
79599
79600         * m4/ldd.m4: New file.
79601
79602 2006-01-12  Bruno Haible  <bruno@clisp.org>
79603
79604         * gnulib-tool (func_import, func_create_testdir): Don't go into an
79605         endless loop while replacing $auxdir with build-aux.
79606
79607 2006-01-11  Simon Josefsson  <jas@extundo.com>
79608
79609         * lib/stdint_.h (SIZE_MAX): Add missing (.
79610
79611 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
79612
79613         Sync from coreutils.
79614         * lib/md5.c: Fix commentary typos.
79615         (alignof, UNALIGNED_P): No need for a GCC-specific version.
79616         * lib/md5.h (__attribute__): Remove; unused.
79617         * lib/sha1.c: Fix commentary to match md5 better.
79618         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
79619         so that we don't need to worry about alignment.  All uses changed.
79620         This merges the 2005-10-28 md5 change into sha1.
79621
79622 2006-01-11  Jim Meyering  <jim@meyering.net>
79623
79624         Sync from coreutils.
79625         * lib/md5.c (OP): Fix spacing.
79626
79627 2006-01-11  Bruno Haible  <bruno@clisp.org>
79628
79629         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79630         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
79631         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
79632
79633 2006-01-11  Bruno Haible  <bruno@clisp.org>
79634
79635         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79636         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
79637         the "early" section as well.
79638
79639 2006-01-11  Bruno Haible  <bruno@clisp.org>
79640
79641         Avoid "ar: no archive members specified" error on MacOS X.
79642         * gnulib-tool (func_modules_add_dummy): New function.
79643         (func_import, func_create_testdir): Invoke it.
79644
79645 2006-01-11  Bruno Haible  <bruno@clisp.org>
79646
79647         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
79648         with $auxdir in AC_CONFIG_FILES statements.
79649
79650 2006-01-11  Bruno Haible  <bruno@clisp.org>
79651
79652         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79653         Initialize also noinst_HEADERS to empty.
79654
79655 2006-01-11  Bruno Haible  <bruno@clisp.org>
79656
79657         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
79658         variables.
79659         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
79660         autoreconf.
79661
79662 2006-01-11  Bruno Haible  <bruno@clisp.org>
79663
79664         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
79665         overridable by the user.
79666         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79667
79668 2006-01-10  Simon Josefsson  <jas@extundo.com>
79669
79670         * modules/sys_socket: New file.
79671
79672 2006-01-10  Simon Josefsson  <jas@extundo.com>
79673
79674         * m4/sys_socket_h.m4: New file.
79675
79676 2006-01-10  Simon Josefsson  <jas@extundo.com>
79677
79678         * lib/socket_.h: New file.
79679
79680 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79681
79682         * modules/readutmp (Maintainer): Add myself.
79683
79684 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79685
79686         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
79687         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
79688         People who are still concerned with buggy memcmp implementations
79689         can invoke gl_FUNC_MEMCMP themselves.
79690
79691 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79692
79693         * lib/regex_internal.h (BITSET_WORD_BITS):
79694         Work around a bug in 64-bit PGC (before version 6.1-2), where the
79695         preprocessor mishandles large unsigned values as if they were signed.
79696         Problem reported by Claudio Fontana in
79697         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
79698
79699 2006-01-10  Jim Meyering  <jim@meyering.net>
79700
79701         Avoid the double-free (first in fts_read, second in fts_close) that
79702         would occur when an `active' directory is made inaccessible (e.g.,
79703         via chmod a-x) during a traversal.
79704         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79705         before returning.  Reproduce this failure by
79706         mkdir -p a/b; cd a; chmod a-x . b
79707         Reported by Stavros Passas.
79708
79709         Sync from coreutils.
79710         * lib/sha1.c: Tweak grammar in a comment.
79711
79712 2006-01-10  Jim Meyering  <jim@meyering.net>
79713
79714         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
79715         Patch by Joerg Sonnenberger.
79716
79717 2006-01-10  Bruno Haible  <bruno@clisp.org>
79718
79719         * modules/readutmp: Depend on module free.
79720         * modules/strtok_r: Depend on module restrict.
79721
79722 2006-01-10  Bruno Haible  <bruno@clisp.org>
79723
79724         * modules/gettext (configure.ac): Add an invocation of
79725         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
79726
79727 2006-01-10  Bruno Haible  <bruno@clisp.org>
79728
79729         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
79730         Reported by Werner Lemberg <wl@gnu.org>.
79731
79732 2006-01-10  Bruno Haible  <bruno@clisp.org>
79733
79734         * lib/localcharset.c: Update from GNU gettext.
79735
79736 2006-01-10  Bruno Haible  <bruno@clisp.org>
79737
79738         * lib/argp.h (__const): Remove macro. Use const instead.
79739         * lib/argp-fmtstream.h (__const): Likewise.
79740         * lib/glob_.h (__const): Remove macro.
79741         * lib/glob-libc.h: Use const instead of __const.
79742
79743 2006-01-10  Bruno Haible  <bruno@clisp.org>
79744
79745         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
79746         variable.
79747         Needed to avoid an automake error regarding the 'gettext' module.
79748
79749 2006-01-09  Simon Josefsson  <jas@extundo.com>
79750
79751         * modules/inet_ntop (Depends-on): Add restrict.
79752
79753 2006-01-09  Simon Josefsson  <jas@extundo.com>
79754
79755         * modules/gc-rijndael-tests (License): Put under LGPL.
79756
79757         * modules/gc-des-tests (License): Likewise.
79758
79759         * modules/gc-arcfour-tests (License): Likewise.
79760
79761         * modules/gc-arctwo-tests (License): Likewise.
79762
79763         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
79764
79765         * modules/gc-hmac-sha1-tests (Files): Likewise.
79766
79767         * modules/gc-hmac-md5-tests (License): Likewise.
79768
79769         * modules/gc-sha1-tests (License): Likewise.
79770
79771         * modules/gc-md5-tests (License): Likewise.
79772
79773         * modules/gc-md4-tests (License): Likewise.
79774
79775         * modules/gc-md2-tests (License): Likewise.
79776
79777         * modules/gc-tests (License): Likewise.
79778
79779         * modules/des-tests (License): Likewise.
79780
79781         * modules/md4-tests (License): Likewise.
79782
79783         * modules/md2-tests (License): Likewise.
79784
79785 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79786
79787         Sync from coreutils:
79788
79789         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79790         * modules/lib-ignore: New file.
79791         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79792         chdir-safer.m4, lchmod.m4.
79793         * modules/openat: Add mkdirat.c, openat-priv.h.
79794
79795 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79796
79797         Sync from coreutils.
79798         * m4/lib-ignore.m4: New file.
79799         * m4/lchmod.m4: New file.
79800
79801 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79802
79803         Sync from coreutils.
79804         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79805         for write access: POSIX says that must fail.
79806         * lib/fts.c (diropen): Likewise.
79807         * lib/save-cwd.c (save_cwd): Likewise.
79808         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79809         well, for minor improvements on hosts that lack O_DIRECTORY.
79810         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79811         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79812         Fall back on chown if open failed with EACCES.
79813
79814         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79815         Report an error at compile-time if only a 1-second nominal clock
79816         resolution is found.
79817
79818         * lib/lchmod.h: New file.
79819         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79820         (make_dir_parents): Use lchown rather than chown, and
79821         lchmod rather than chmod.
79822
79823         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79824         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79825         "proc" reported by n0dalus.
79826
79827         * lib/mountlist.c: Include <limits.h>.
79828         (dev_from_mount_options)
79829         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79830         New function.  It no longer assumes "dev=" has the System V meaning
79831         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79832         (read_file_system_list)
79833         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79834         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79835         dev= in that case.
79836
79837         * lib/posixtm.h (PDS_PRE_2000): New macro.
79838         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79839         allow_century.  All usages changed.  Reject dates outside the range
79840         1969-1999 if PDS_PRE_2000 is used.
79841
79842 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79843
79844         Sync from coreutils.
79845         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79846         (Time of day items): Mention the possibility of leap seconds.
79847         Problem reported by Dr. David Alan Gilbert.
79848
79849 2006-01-09  Jim Meyering  <jim@meyering.net>
79850
79851         Sync from coreutils.
79852
79853         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79854
79855         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79856
79857         * lib/modechange.c (mode_compile): Reject an invalid mode string
79858         that starts with an octal digit.  From Andreas Gruenbacher.
79859
79860         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79861         and dup to open_safer and dup_safer, respectively.
79862         (openat_permissive): Fix typo in comment.
79863
79864         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79865         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79866         (_): Remove; no longer needed.
79867         (openat): Renamed from rpl_openat; no need for rpl_openat
79868         since openat.h renames openat for us.
79869         Replace most of the body with a call to openat_permissive,
79870         to avoid duplicate code.
79871         Port to (probably hypothetical) environments were mode_t is
79872         wider than int.
79873         (openat_permissive): Require mode arg, so that we can check
79874         types better.  Put it just after flags.  Change cwd failure
79875         indicator from pointer-to-bool to pointer-to-errno-value.
79876         All callers changed.
79877         Invoke openat_save_fail and/or openat_restore_fail if
79878         cwd_errno is null, so that openat can call us.
79879         (openat_permissive, fdopendir, fstatat, unlinkat):
79880         Simplify errno handling to avoid some duplicate code,
79881         as it's OK to set errno on success.
79882         * lib/openat.h: Revamp code so that function macros depend on
79883         __OPENAT_PREFIX only, not also on AT_FDCWD.
79884         (openat_ro): Remove.  Caller changed to use openat_permissive.
79885         (openat_permissive): Now a macro, if not a function.
79886         (openat_restore_fail, openat_save_fail): Now always functions,
79887         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79888
79889         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79890         and openat.c.
79891         * lib/mkdirat.c: Include openat-priv.h.
79892         Remove definitions of macros defined therein.
79893         * lib/openat.c: Likewise.
79894
79895         * lib/mkdirat.c (mkdirat): New file and function.
79896         * lib/openat.h (mkdirat): Declare.
79897
79898         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79899
79900         * lib/openat.h (openat_permissive): Declare.
79901         (openat_ro): Define.
79902
79903         * lib/openat.c (EXPECTED_ERRNO): New macro.
79904         (openat_permissive): New function -- used in remove.c rewrite.
79905         (all functions): Set errno just before returning, only if there
79906         was an actual failure.
79907         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79908
79909         Emulate openat-family functions using Linux's procfs, if possible.
79910         Idea and some code based on Ulrich Drepper's glibc changes.
79911
79912         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79913         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79914         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79915         before falling back on save_cwd and restore_cwd.
79916         (fdopendir, fstatat, unlinkat): Likewise.
79917
79918         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79919         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79920
79921         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79922         as second argument to va_arg.  Otherwise, some versions of gcc
79923         warn that `if this code is reached, the program will abort'.
79924
79925 2006-01-09  Jim Meyering  <jim@meyering.net>
79926
79927         Sync from coreutils.
79928         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79929         Require openat-priv.h.
79930
79931 2006-01-09  Bruno Haible  <bruno@clisp.org>
79932
79933         * modules/strnlen (Include): Use strnlen.h.
79934
79935 2006-01-09  Bruno Haible  <bruno@clisp.org>
79936
79937         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79938
79939 2006-01-09  Bruno Haible  <bruno@clisp.org>
79940
79941         * lib/sysexit_.h (EX_OK): New macro.
79942         Suggested by Martin Lambers <marlam@marlam.de>.
79943
79944 2006-01-09  Bruno Haible  <bruno@clisp.org>
79945
79946         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79947         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79948
79949 2006-01-09  Bruno Haible  <bruno@clisp.org>
79950
79951         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79952         numbers.
79953
79954 2006-01-09  Bruno Haible  <bruno@clisp.org>
79955
79956         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79957         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79958         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79959         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79960
79961 2006-01-09  Bruno Haible  <bruno@clisp.org>
79962
79963         * build-aux/javacomp.sh.in: New file, moved from lib/.
79964         * modules/javacomp-script (Files): Update.
79965         (configure.ac): Add AC_CONFIG_FILES invocation.
79966         (EXTRA_DIST): Remove variable.
79967
79968         * build-aux/javaexec.sh.in: New file, moved from lib/.
79969         * modules/javaexec (Files): Update.
79970         (configure.ac): Add AC_CONFIG_FILES invocation.
79971         (EXTRA_DIST): Remove javaexec.sh.in.
79972
79973         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79974         * modules/csharpcomp-script (Files): Update.
79975         (configure.ac): Add AC_CONFIG_FILES invocation.
79976         (EXTRA_DIST): Remove variable.
79977
79978         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79979         * modules/csharpexec (Files): Update.
79980         (configure.ac): Add AC_CONFIG_FILES invocation.
79981         (EXTRA_DIST): Remove csharpexec.sh.in.
79982
79983 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79984
79985         Sync from coreutils.
79986
79987         Add POSIX ACL support
79988         * lib/acl.h (copy_acl, set_acl): Add declarations.
79989         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79990         systems other than Linux.
79991         (chmod_or_fchmod): New function: use fchmod when possible,
79992         and chmod otherwise.
79993         (file_has_acl): Add a POSIX ACL implementation, with a
79994         Linux-specific subcase.
79995         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79996         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79997         acls are unsupported.
79998         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79999         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80000         are unsupported.
80001
80002 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80003
80004         Sync from coreutils.
80005         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80006
80007 2006-01-07  Bruno Haible  <bruno@clisp.org>
80008
80009         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80010         gl_EARLY.
80011
80012 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80013
80014         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80015         Problem reported for Mingw by Mark Junker.
80016
80017 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80018
80019         * README: Gnulib normally doesn't generate a tarball.
80020
80021 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80022
80023         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80024         long int, not int, for nanosecond counts, so that people who are
80025         used to POSIX struct timespec won't be surprised.  Reported by Jim
80026         Meyering.
80027
80028 2005-12-28  Bruno Haible  <bruno@clisp.org>
80029
80030         * build-aux/config.rpath: Update from GNU gettext.
80031
80032 2005-12-16  Jim Meyering  <jim@meyering.net>
80033
80034         * modules/fprintftime: New module.
80035         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80036
80037 2005-12-16  Jim Meyering  <jim@meyering.net>
80038
80039         * m4/fprintftime.m4: New file.
80040
80041 2005-12-16  Jim Meyering  <jim@meyering.net>
80042
80043         * lib/fprintftime.c, lib/fprintftime.h: New files.
80044
80045 2005-12-15  Simon Josefsson  <jas@extundo.com>
80046
80047         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80048         new m4/socklen.m4.
80049
80050 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80051
80052         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80053         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80054
80055 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80056
80057         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80058         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80059         struct uparams is valid. Fall back to the default values if it is
80060         not.
80061
80062 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80063
80064         * modules/argp (Files): Add argp-pin.c
80065         (Depends-on): dirname
80066         (lib_SOURCES): Add argp-pin.c
80067
80068 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80069
80070         * m4/argp.m4:  Check if program_invocation_name and
80071         program_invocation_short_name are declared and define appropriate
80072         macros if they are not.
80073
80074 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80075
80076         * lib/argp-help.c (__argp_base_name): New function
80077         (__argp_short_program_name): Rewrite using __argp_base_name
80078         * lib/argp-namefrob.h: Define program_invocation_name and
80079         program_invocation_short_name if requested
80080         (__argp_base_name): Add prototype
80081         * lib/argp-parse.c (argp_def): Use gettext wrappers
80082         (argp_default_parser): Use __argp_base_name
80083         * lib/argp-pin.c: New file. Defines program_invocation_name and
80084         program_invocation_short_name on systems that lack them.
80085
80086 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80087
80088         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80089         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80090         porting problem reported by Georg Schwarz in
80091         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80092
80093 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80094
80095         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80096         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80097         porting problem reported by Georg Schwarz in
80098         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80099
80100 2005-12-05  Bruno Haible  <bruno@clisp.org>
80101
80102         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80103         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80104         Reported by Mark Junker <mjscod@gmx.de>.
80105
80106 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80107
80108         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80109         Use implementation from Albert Chin, with some
80110         comments/corrections by Stepan Kasal and myself.
80111
80112 2005-12-02  Bruno Haible  <bruno@clisp.org>
80113
80114         * gnulib-tool (func_import): Accept GPLed build tool modules when
80115         --lgpl is given.
80116         * modules/csharpcomp-script: New file.
80117         * modules/csharpcomp: Depend on it.
80118         * modules/javacomp-script: New file.
80119         * modules/javacomp: Depend on it.
80120         Suggested by Simon Josefsson.
80121
80122 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80123
80124         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80125         statement, to work around an HP-UX 10.20 compiler bug reported by
80126         Peter O'Gorman.
80127
80128 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80129
80130         * modules/savedir (Depends-on): Add openat.
80131
80132 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80133
80134         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80135         (uintmax_t) [defined uintmax_t]: Do not declare.
80136         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80137         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80138         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80139         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80140         sake of portability to weird hosts that C allows (though we don't
80141         know of any practical examples).
80142
80143         * lib/savedir.h (fdsavedir): New decl.
80144         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80145         contains most of the former guts of savedir.
80146         (savedir): Use savedirstream.
80147         Include "openat.h".
80148
80149 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80150
80151         * modules/obstack (Files): Add m4/ulonglong.m4.
80152         Problem reported by Davide Angelocola.
80153
80154 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80155
80156         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80157         coreutils no longer futzes with rounding modes.
80158
80159 2005-11-14  Jim Meyering  <jim@meyering.net>
80160
80161         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80162         replacement of mkstemp.
80163
80164 2005-11-10  Simon Josefsson  <jas@extundo.com>
80165
80166         * lib/readline.c: Remove EOL.
80167
80168 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80169
80170         * modules/gethrxtime (Depends-on): Add gettime.
80171
80172 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80173
80174         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80175         or gettimeofday; no longer needed.
80176
80177 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80178
80179         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80180         time business.
80181         (gethrxtime) [! (HAVE_NANOUPTIME
80182         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80183         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80184         our own approximation.
80185
80186 2005-11-08  Eric Blake  <ebb9@byu.net>
80187
80188         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80189
80190 2005-11-08  Eric Blake  <ebb9@byu.net>
80191
80192         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80193
80194 2005-11-04  Bruno Haible  <bruno@clisp.org>
80195
80196         * gnulib-tool: Implement --update mode.
80197
80198 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80199
80200         Fix porting problem reported by Theodoros V. Kalamatianos.
80201         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80202         Don't assume that futimes failing means we must fail.
80203
80204 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80205
80206         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80207         variables to suggest the intended function of the PATH_MAX check.
80208
80209 2005-10-30  Kean Johnston  <jkj@sco.com>
80210
80211         Trivial changes to support SCO systems.
80212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80213         as PATH_MAX.
80214         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80215         where __ptr is null when no I/O is pending.
80216
80217 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80218
80219         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80220         leave errno alone.  Problem reported by Dmitry V. Levin.
80221
80222 2005-10-28  Simon Josefsson  <jas@extundo.com>
80223
80224         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80225         Test more.
80226
80227         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80228
80229         * modules/md2, modules/md2-tests: New files.
80230
80231 2005-10-28  Simon Josefsson  <jas@extundo.com>
80232
80233         * m4/inet_ntop.m4: More tests.
80234
80235         * m4/gc-md2.m4, md2.m4: New file.
80236
80237 2005-10-28  Simon Josefsson  <jas@extundo.com>
80238
80239         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
80240         "restrict" keywords, as per POSIX.  Protect the function
80241         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
80242         Don't use K&R prototypes.  Check the sprintf return values.
80243         Re-define EAFNOSUPPORT if not present.  Indent.
80244
80245         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
80246         suggested by Bruno Haible <bruno@clisp.org>.
80247
80248         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
80249
80250         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
80251
80252         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
80253         libgcrypt).
80254
80255         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80256
80257         * lib/md2.h, lib/md2.c: New files.
80258
80259 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80260
80261         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80262         errno alone.  Problem reported by Frederic Jolliton.
80263
80264 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80265
80266         * modules/verify (License): Change from GPL to LGPL.  This is a
80267         tiny module and there are apparently near-equivalents that are
80268         under the BSD license.
80269
80270 2005-10-24  Simon Josefsson  <jas@extundo.com>
80271
80272         * modules/sha1: Relicense to LGPL.
80273
80274 2005-10-24  Simon Josefsson  <jas@extundo.com>
80275
80276         * lib/md4.h: Shrink buffer size, now that we changed the type.
80277
80278 2005-10-23  Simon Josefsson  <jas@extundo.com>
80279
80280         * gnulib-tool (func_import): Fix --tests-base.
80281
80282 2005-10-22  Simon Josefsson  <jas@extundo.com>
80283
80284         * modules/arcfour (Depends-on): Need stdint.
80285
80286 2005-10-22  Simon Josefsson  <jas@extundo.com>
80287
80288         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80289         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80290
80291 2005-10-22  Simon Josefsson  <jas@extundo.com>
80292
80293         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80294         suggested by Bruno Haible <bruno@clisp.org>.
80295
80296 2005-10-22  Simon Josefsson  <jas@extundo.com>
80297
80298         * lib/crc.h: Include stddef.h, for size_t.
80299
80300 2005-10-22  Simon Josefsson  <jas@extundo.com>
80301
80302         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80303         arcfour_context struct (simplify test vector testing in GNU
80304         Shishi).
80305
80306 2005-10-21  Simon Josefsson  <jas@extundo.com>
80307
80308         * modules/des, modules/des-tests: New files.
80309
80310         * modules/gc-des, modules/gc-des-tests: New files.
80311
80312         * tests/test-des.c, tests/test-gc-des.c: New file.
80313
80314 2005-10-21  Simon Josefsson  <jas@extundo.com>
80315
80316         * modules/arctwo, modules/arctwo-tests: New files.
80317
80318         * tests/test-arctwo.c: New file.
80319
80320         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80321
80322         * tests/test-gc-arctwo.c: New file.
80323
80324 2005-10-21  Simon Josefsson  <jas@extundo.com>
80325
80326         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80327         Bruno Haible <bruno@clisp.org>.
80328
80329         * m4/gc-des.m4: New file.
80330
80331 2005-10-21  Simon Josefsson  <jas@extundo.com>
80332
80333         * m4/arctwo.m4: New file.
80334
80335         * m4/gc-arctwo.m4: New file.
80336
80337 2005-10-21  Simon Josefsson  <jas@extundo.com>
80338
80339         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80340         block.
80341
80342 2005-10-21  Simon Josefsson  <jas@extundo.com>
80343
80344         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80345         <bruno@clisp.org>.
80346
80347         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80348
80349         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80350         Bruno Haible <bruno@clisp.org>.
80351
80352         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80353         <bruno@clisp.org>.
80354
80355 2005-10-21  Simon Josefsson  <jas@extundo.com>
80356
80357         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80358
80359 2005-10-21  Simon Josefsson  <jas@extundo.com>
80360
80361         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80362
80363 2005-10-21  Simon Josefsson  <jas@extundo.com>
80364
80365         * lib/des.h, lib/des.c: New files.
80366
80367         * lib/gc-gnulib.c: Support DES.c
80368
80369 2005-10-21  Simon Josefsson  <jas@extundo.com>
80370
80371         * lib/arctwo.h, lib/arctwo.c: New files.
80372
80373         * lib/gc-gnulib.c: Support ARCTWO.
80374
80375 2005-10-21  Simon Josefsson  <jas@extundo.com>
80376
80377         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80378         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80379
80380 2005-10-21  Simon Josefsson  <jas@extundo.com>
80381
80382         * gnulib-tool (func_import, func_create_testdir): Define automake
80383         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80384         Makefile.am snippet),
80385         suggested by Bruno Haible <bruno@clisp.org>.
80386
80387         * modules/gc (Makefile.am): Use it.
80388
80389 2005-10-21  Bruno Haible  <bruno@clisp.org>
80390
80391         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80392         patch.
80393
80394 2005-10-19  Simon Josefsson  <jas@extundo.com>
80395
80396         * tests/test-gc-rijndael.c: New file.
80397
80398         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80399
80400 2005-10-19  Simon Josefsson  <jas@extundo.com>
80401
80402         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80403         interface too.
80404
80405 2005-10-19  Simon Josefsson  <jas@extundo.com>
80406
80407         * tests/test-gc-arcfour.c: New file.
80408
80409         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80410
80411 2005-10-19  Simon Josefsson  <jas@extundo.com>
80412
80413         * modules/gc-md4, modules/gc-md4-tests: New file.
80414
80415         * tests/test-gc-md4.c: New file.
80416
80417 2005-10-19  Simon Josefsson  <jas@extundo.com>
80418
80419         * m4/gc-md4.m4: New file.
80420
80421 2005-10-19  Simon Josefsson  <jas@extundo.com>
80422
80423         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80424         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80425         <kasal@ucw.cz>.
80426
80427 2005-10-19  Simon Josefsson  <jas@extundo.com>
80428
80429         * m4/gc-arcfour.m4: New file.
80430
80431         * m4/gc-rijndael.m4: New file.
80432
80433 2005-10-19  Simon Josefsson  <jas@extundo.com>
80434
80435         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80436
80437 2005-10-19  Simon Josefsson  <jas@extundo.com>
80438
80439         * lib/gc-gnulib.c: Support ARCFOUR.
80440
80441 2005-10-19  Simon Josefsson  <jas@extundo.com>
80442
80443         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80444         support.
80445
80446         * lib/gc.h: Add ECB enum type.
80447
80448         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80449
80450 2005-10-18  Simon Josefsson  <jas@extundo.com>
80451
80452         * tests/test-md5.c: New file.
80453
80454         * modules/md5-tests: New file.
80455
80456 2005-10-18  Simon Josefsson  <jas@extundo.com>
80457
80458         * tests/test-md4.c: New file.
80459
80460         * modules/md4, modules/md4-tests: New files.
80461
80462 2005-10-18  Simon Josefsson  <jas@extundo.com>
80463
80464         * m4/md4.m4: New file.
80465
80466 2005-10-18  Simon Josefsson  <jas@extundo.com>
80467
80468         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80469
80470 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80471
80472         * gnulib-tool (func_create_testdir): Omit the second check whether
80473         BUILT_SOURCES in nonempty.
80474
80475 2005-10-17  Simon Josefsson  <jas@extundo.com>
80476
80477         * tests/test-rijndael.c: New file.
80478
80479 2005-10-17  Simon Josefsson  <jas@extundo.com>
80480
80481         * modules/sha1: Depend on stdint instead of md5.
80482
80483         * modules/md5: Depend on stdint, remove uint32_t.
80484
80485 2005-10-17  Simon Josefsson  <jas@extundo.com>
80486
80487         * modules/gc-sha1-tests: New file.
80488
80489         * tests/test-gc-sha1.c: New file.
80490
80491 2005-10-17  Simon Josefsson  <jas@extundo.com>
80492
80493         * m4/md5.m4: Remove call to uint32_t.m4.
80494
80495 2005-10-17  Simon Josefsson  <jas@extundo.com>
80496
80497         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80498
80499         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80500         md5.h.
80501
80502         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80503
80504         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80505
80506 2005-10-17  Simon Josefsson  <jas@extundo.com>
80507
80508         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80509
80510 2005-10-17  Simon Josefsson  <jas@extundo.com>
80511
80512         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80513
80514 2005-10-17  Simon Josefsson  <jas@extundo.com>
80515
80516         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80517
80518         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80519
80520 2005-10-17  Bruno Haible  <bruno@clisp.org>
80521
80522         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80523         that it can also be used in a test.
80524
80525 2005-10-16  Bruno Haible  <bruno@clisp.org>
80526
80527         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80528         TESTS_ENVIRONMENT, so that individual tests can augment it.
80529
80530         * gnulib-tool (func_create_testdir): Use an intermediate target for
80531         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80532         macros, like $(ALLOCA_H), which cannot be passed through the command
80533         line.
80534
80535 2005-10-15  Simon Josefsson  <jas@extundo.com>
80536
80537         * modules/rijndael-tests: New file.
80538
80539         * modules/rijndael: New file.
80540
80541 2005-10-15  Simon Josefsson  <jas@extundo.com>
80542
80543         * m4/rijndael.m4: New file.
80544
80545 2005-10-15  Simon Josefsson  <jas@extundo.com>
80546
80547         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80548
80549         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80550
80551 2005-10-14  Simon Josefsson  <jas@extundo.com>
80552
80553         * tests/test-arcfour.c: New file.
80554
80555         * modules/arcfour, modules/arcfour-tests: New files.
80556
80557 2005-10-14  Simon Josefsson  <jas@extundo.com>
80558
80559         * m4/arcfour.m4: New file.
80560
80561 2005-10-14  Simon Josefsson  <jas@extundo.com>
80562
80563         * lib/arcfour.h, lib/arcfour.c: New files.
80564
80565 2005-10-14  Roland McGrath  <roland@redhat.com>
80566
80567         Import from libc.  [BZ #1331]
80568         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
80569         macro argument.
80570         Reported by Matej Vela <vela@debian.org>.
80571
80572 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80573
80574         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
80575         include <wchar.h>; no longer needed.
80576
80577 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80578
80579         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
80580
80581 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
80582         and  Ulrich Drepper  <drepper@redhat.com>
80583
80584         Import from libc.
80585         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
80586         instead of inline stream orientation test and two separate
80587         function calls.  Pay no attention to USE_IN_LIBIO.
80588
80589 2005-10-13  Simon Josefsson  <jas@extundo.com>
80590
80591         * modules/gc-hmac-md5-tests: New file.
80592
80593         * tests/test-gc-hmac-sha1.c: New file.
80594
80595         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
80596
80597         * modules/gc-hmac-md5-tests: New file.
80598
80599         * tests/test-gc-md5.c: New file.
80600
80601         * modules/gc-md5-tests: New file.
80602
80603 2005-10-13  Simon Josefsson  <jas@extundo.com>
80604
80605         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
80606         Move memory allocation outside of loop.
80607
80608 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
80609
80610         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
80611         intermediate directory is in a read-only file system.  Problem
80612         reported by Eric Blake.
80613
80614 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
80615
80616         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
80617
80618 2005-10-12  Simon Josefsson  <jas@extundo.com>
80619
80620         * tests/test-hmac-sha1.c: New file.
80621
80622         * modules/hmac-sha1-tests: New file.
80623
80624         * modules/hmac-sha1: New file.
80625
80626 2005-10-12  Simon Josefsson  <jas@extundo.com>
80627
80628         * modules/gc-sha1: New file.
80629
80630 2005-10-12  Simon Josefsson  <jas@extundo.com>
80631
80632         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
80633
80634         * tests/test-gc-pbkdf2-sha1.c: New file.
80635
80636 2005-10-12  Simon Josefsson  <jas@extundo.com>
80637
80638         * modules/gc-md5, modules/gc-hmac-md5: New files.
80639
80640         * modules/gc (Files): Remove md5, memxor and hmac files.
80641
80642 2005-10-12  Simon Josefsson  <jas@extundo.com>
80643
80644         * m4/gc-pbkdf2-sha1.m4: New file.
80645
80646         * m4/gc-hmac-sha1.m4: New file.
80647
80648         * m4/gc-sha1: New file.
80649
80650         * m4/hmac-sha1.m4: New file.
80651
80652 2005-10-12  Simon Josefsson  <jas@extundo.com>
80653
80654         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
80655
80656         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
80657
80658 2005-10-12  Simon Josefsson  <jas@extundo.com>
80659
80660         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
80661         suggested by Bruno Haible <bruno@clisp.org>.
80662
80663 2005-10-12  Simon Josefsson  <jas@extundo.com>
80664
80665         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
80666
80667 2005-10-12  Simon Josefsson  <jas@extundo.com>
80668
80669         * lib/gc-pbkdf2-sha1.c: New file.
80670
80671         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
80672
80673 2005-10-12  Simon Josefsson  <jas@extundo.com>
80674
80675         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
80676
80677         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
80678
80679 2005-10-12  Simon Josefsson  <jas@extundo.com>
80680
80681         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
80682         GC_USE_HMAC_MD5, respectively.
80683
80684         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
80685         (gc_md5): Fix typo.
80686
80687         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
80688
80689         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
80690
80691         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
80692
80693 2005-10-12  Bruno Haible  <bruno@clisp.org>
80694
80695         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
80696         Reported by Stepan Kasal <kasal@ucw.cz>.
80697
80698 2005-10-11  Simon Josefsson  <jas@extundo.com>
80699
80700         * tests/test-crc.c: New file.
80701
80702         * modules/crc, modules/crc-tests: New files.
80703
80704 2005-10-11  Simon Josefsson  <jas@extundo.com>
80705
80706         * m4/crc.m4: New file.
80707
80708 2005-10-11  Simon Josefsson  <jas@extundo.com>
80709
80710         * lib/gc.h: Add gc_hash and gc_hash_buffer.
80711
80712         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
80713
80714         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
80715
80716 2005-10-11  Simon Josefsson  <jas@extundo.com>
80717
80718         * lib/crc.h, lib/crc.c: New files.
80719
80720         * lib/gc.h (gc_hash_buffer): Add doc.
80721
80722 2005-10-11  Bruno Haible  <bruno@clisp.org>
80723
80724         * modules/c-strcasestr: New file.
80725         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
80726
80727 2005-10-11  Bruno Haible  <bruno@clisp.org>
80728
80729         * modules/c-strcase: New file.
80730         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
80731
80732 2005-10-11  Bruno Haible  <bruno@clisp.org>
80733
80734         * lib/strcasecmp.c: Include limits.h.
80735         (strcasecmp): Avoid integer overflow on exotic platforms.
80736         * lib/strncasecmp.c: Include limits.h.
80737         (strncasecmp): Avoid integer overflow on exotic platforms.
80738         Reported by Paul Eggert.
80739
80740 2005-10-11  Bruno Haible  <bruno@clisp.org>
80741
80742         * lib/c-strcasestr.h: New file, from GNU gettext.
80743         * lib/c-strcasestr.c: New file, from GNU gettext.
80744
80745 2005-10-11  Bruno Haible  <bruno@clisp.org>
80746
80747         * lib/c-strcase.h: New file, from GNU gettext.
80748         * lib/c-strcasecmp.c: New file, from GNU gettext.
80749         * lib/c-strncasecmp.c: New file, from GNU gettext.
80750
80751 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
80752
80753         * modules/mempcpy (License): GPL -> LGPL.
80754         * modules/strchrnul (License): Likewise.
80755         * modules/sysexits (License): Likewise.
80756
80757 2005-10-08  Simon Josefsson  <jas@extundo.com>
80758
80759         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
80760
80761 2005-10-07  Simon Josefsson  <jas@extundo.com>
80762
80763         * m4/memxor.m4: Remove gl_C_RESTRICT call.
80764
80765 2005-10-06  Simon Josefsson  <jas@extundo.com>
80766
80767         * tests/test-hmac-md5.c: New file.
80768
80769         * modules/hmac-md5-tests: New file.
80770
80771         * modules/hmac-md5: New file.
80772
80773 2005-10-06  Simon Josefsson  <jas@extundo.com>
80774
80775         * m4/hmac-md5.m4: New file.
80776
80777         * m4/memxor.m4: Require gl_C_RESTRICT.
80778
80779 2005-10-06  Simon Josefsson  <jas@extundo.com>
80780
80781         * lib/memxor.c (memxor): Avoid casts and warnings.
80782
80783 2005-10-06  Simon Josefsson  <jas@extundo.com>
80784
80785         * lib/hmac-md5.c: New file.
80786
80787         * lib/hmac.h: New file.
80788
80789 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80790
80791         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80792         promotes to int, not unsigned int, to catch the AIX 5.3
80793         compiler bug.
80794
80795 2005-10-05  Simon Josefsson  <jas@extundo.com>
80796
80797         * modules/memxor: New file.
80798
80799         * modules/iconv (Files): Move config.rpath to havelib, it is used
80800         there.
80801
80802         * modules/havelib (Files): Add config.rpath.
80803
80804 2005-10-05  Simon Josefsson  <jas@extundo.com>
80805
80806         * m4/memxor.m4: New file.
80807
80808 2005-10-05  Simon Josefsson  <jas@extundo.com>
80809
80810         * lib/memxor.c (memxor): Fix compiler error.
80811
80812         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80813         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80814
80815         * lib/memxor.h, lib/memxor.c: New files.
80816
80817         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80818         we assume all systems have it, suggested by Jim Meyering
80819         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80820         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80821         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80822         same reasons.
80823
80824 2005-10-05  Simon Josefsson  <jas@extundo.com>
80825
80826         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80827
80828 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80829
80830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80831         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80832         needed, since the source code now assumes these .h files.
80833
80834 2005-10-05  Derek Price  <derek@ximbiot.com>
80835
80836         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80837
80838 2005-10-05  Bruno Haible  <bruno@clisp.org>
80839
80840         * modules/stdint (License): Change to LGPL.
80841
80842 2005-10-04  Simon Josefsson  <jas@extundo.com>
80843
80844         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80845         D. Baushke" <mdb@gnu.org>.
80846
80847 2005-10-04  Bruno Haible  <bruno@clisp.org>
80848
80849         * lib/verify.h (verify_true): Provide alternative definition for C++.
80850
80851 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80852
80853         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80854         (SSIZE_MAX): New macro, if not already defined.
80855         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80856         than 2 GiB.
80857
80858 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80859
80860         Sync from coreutils.
80861         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80862         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80863         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80864         ULLONG_MAX doesn't work with 2.7.2.1.
80865
80866 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80867
80868         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80869         From Ben Pfaff.
80870
80871         * modules/exclude (Depends-on): Depend on verify.
80872         * modules/strtoimax (Depends-on): Likewise.
80873         * modules/utimecmp (Depends-on): Likewise.
80874
80875 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80876
80877         * lib/exclude.c: Include verify.h.
80878         (verify): Remove.  All callers changed to use verify.h's version.
80879         * lib/strtoimax.c: Likewise.
80880         * lib/utimecmp.c: Likewis.e
80881
80882         Sync from coreutils.
80883         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80884         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80885         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80886         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80887         bother returning ENOSYS if settimeofday or stime fails; just let
80888         them return whatever errno they want to return.
80889         * lib/utimens.c: Include unistd.h, for dup2.
80890         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80891         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80892
80893 2005-10-02  Jim Meyering  <jim@meyering.net>
80894
80895         Sync from coreutils.
80896         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80897         from glibc-2.2.5 that fails for read-only files.
80898
80899 2005-10-02  Jim Meyering  <jim@meyering.net>
80900
80901         Sync from coreutils.
80902         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80903         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80904         `#if HAVE_CONFIG_H'.
80905         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80906         Remove AT_FDCWD test.
80907         Do not consume the fd unless successful.
80908         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80909         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80910         block, so that we don't even try to compile it if settimeofday is
80911         available.  This works around a compilation failure on OSF1 V5.1,
80912         due to stime requiring a `long int*' while tv_sec is `int'.
80913
80914 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80915
80916         Sync from coreutils.
80917         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80918         against `yes', rather than just testing for nonempty.
80919
80920 2005-10-01  Simon Josefsson  <jas@extundo.com>
80921
80922         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80923         and Darwin.
80924
80925         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80926         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80927         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80928         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80929         Check if struct addrinfo is declared.
80930
80931 2005-10-01  Simon Josefsson  <jas@extundo.com>
80932
80933         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80934         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80935         AI_* and EAI_* definitions.  Protect function declarations.
80936
80937 2005-10-01  Jim Meyering  <jim@meyering.net>
80938
80939         Sync from coreutils.
80940
80941         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80942         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80943         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80944         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80945         in the inet and nsl libraries.  Required on Solaris 5.7.
80946
80947 2005-10-01  Jim Meyering  <jim@meyering.net>
80948
80949         Sync from coreutils.
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  Eric Blake  <ebb9@byu.net>  (tiny change)
80954
80955         * lib/getdelim.c (getdelim): Remove unused variables.
80956
80957 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80958
80959         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80960         so that the code works even with ancient cpp.  Portability problem
80961         with GCC 2.7.2.1 reported by Thomas M.Ott.
80962
80963 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80964
80965         * modules/regex (Depends-on): Add strcase.
80966
80967         * modules/gethostname (Licence): Change from GPL to LGPL, since
80968         gethostname.c is a trivial implementation of a standard library
80969         function.
80970         * modules/poll (License): Change from GPL to LGPL, since it's
80971         derived from LGPL code.
80972
80973 2005-09-27  Jim Meyering  <jim@meyering.net>
80974
80975         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80976         HAVE_CONFIG_H.
80977
80978         * lib/intprops.h (signed_type_or_expr__): Define.
80979         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80980         for unsigned types.
80981
80982 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80983
80984         * lib/verify.h (verify_expr): Remove, replacing with:
80985         (verify_true): New macro that returns true instead of void.
80986         (verify_type__): Remove.
80987         (verify): Use verify_true rather than verify_type__.
80988
80989 2005-09-26  Bruno Haible  <bruno@clisp.org>
80990
80991         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80992         is necessary.
80993         (lib_SOURCES): Remove mbchar.c.
80994         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80995         (Files): Add m4/mbrtowc.m4.
80996         * modules/mbiter: Likewise.
80997         * modules/mbuiter: Likewise.
80998
80999 2005-09-26  Bruno Haible  <bruno@clisp.org>
81000
81001         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81002         compile mbchar.c if they are not both present.
81003         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81004         * m4/mbiter.m4 (gl_MBITER): Likewise.
81005         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81006         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81007         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81008
81009 2005-09-25  Jim Meyering  <jim@meyering.net>
81010
81011         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81012         also uses socklen_t.
81013
81014 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81015
81016         * lib/utimens.c (ENOSYS): Define if not already defined.
81017         (futimens): Support having a null PATH if the file descriptor
81018         is nonnegative.
81019
81020         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81021         Remove.
81022         (__attribute): Define to empty unless GCC 3.1 or later.
81023         This works around a core dump on OpenBSD 3.4, which has GCC
81024         2.95.3, which dumps core when given __attribute__(()).  It also
81025         simplifies other tests, since we really don't want to bother with
81026         worrying about which ancient version of GCC supported what.
81027         Original problem reported by Yoann Vandoorselaere, with part of
81028         the fix suggested by Derek Price.
81029
81030 2005-09-24  Jim Meyering  <jim@meyering.net>
81031
81032         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81033         so we can once again use a positive bitfield width of 1 -- now we
81034         don't have to explain why we were using a bitfield width of 2.
81035
81036 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81037
81038         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81039         and similarly for the other external symbols.  Problem reported
81040         by James Gallager.
81041
81042         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81043         bug reported by Jim Meyering.
81044
81045         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81046         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81047         not needed, since socklen is a prerequisite module.
81048
81049 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81050
81051         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81052         Problem reported by Eric Blake.
81053         (getaddrinfo): Initialize se so that it's not garbage.
81054         Redo internal storage allocation so that it doesn't make unportable
81055         assumptions about alignment.
81056         Fix a memory leak.
81057
81058         * lib/utimens.c (futimens): Use futimesat if available.
81059         Prefer it to futimes since it doesn't have the futimes bug.
81060
81061         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81062         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81063         Instead, declare a function that returns a pointer to an array,
81064         and use verify_type__ to declare the size of the array.
81065         Problem and germ of a solution reported by Bruno Haible.
81066         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81067         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81068
81069 2005-09-23  Jim Meyering  <jim@meyering.net>
81070
81071         Sync from coreutils.
81072         Correct build failure (socklen_t not defined) on at least
81073         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81074         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81075
81076 2005-09-23  Jim Meyering  <jim@meyering.net>
81077
81078         * modules/getaddrinfo (Depends-on): Add socklen.
81079
81080 2005-09-23  Bruno Haible  <bruno@clisp.org>
81081
81082         * tests/test-verify.c: New file.
81083
81084 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81085
81086         Sync from coreutils.
81087
81088         * modules/argmatch (Depends-on): Add verify.
81089         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81090         unistd-safer.
81091         * modules/save-cwd (Depends-on): Likewise.
81092
81093         * modules/openat (Files): Add lib/openat-die.c.
81094         (Depends-on): Remove error, exitfail.
81095         Add dirname.
81096
81097         * modules/verify: New file.
81098         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81099         with "verify" module.
81100
81101 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81102
81103         Sync from coreutils.
81104
81105         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81106         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81107         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81108         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81109         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81110         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81111         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81112         Don't bother checking for string.h, stdlib.h, unistd.h.
81113         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81114         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81115         module's job.
81116         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81117         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81118
81119         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81120         (gl_GETDATE): Use it.
81121
81122         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81123
81124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81125
81126         Sync from coreutils.
81127
81128         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81129         stat-time.h.
81130         * lib/argmatch.h: Include verify.h
81131         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81132         (ARGMATCH_ASSERT): Remove; unused.
81133         * lib/canonicalize.c: Assume STDC_HEADERS.
81134         * lib/exclude.c: Include "strcase.h".
81135         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81136         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81137         and stdio-safer.h.
81138         (getusershell): Call fopen, not fopen_safer.
81139         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81140         Do not include unistd-safer.h.
81141         (save_cwd): Don't call fd_safer; no longer needed
81142         now that we include fcntl--.h.
81143
81144         * lib/getdate.y (relative_time): New type.
81145         (RELATIVE_TIME_0): New constant.
81146         (parser_control): Use relative_time instead of doing it ourselves.
81147         (%union): Add new relative_time rel member.
81148         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81149         Now typeless.
81150         (relunit, relunit_snumber): Now of type rel.
81151         (zone, rel, relunit, get_date): Adjust to above changes.
81152
81153         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81154         Do not include unistd-safer.h.
81155         (getloadavg): Don't call fd_safer; no longer needed
81156         now that we include fcntl--.h.
81157
81158         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81159         (make_dir_parents): Treat ENOSYS like EEXIST.
81160
81161         Improve quality of diagnostics on restore_cwd failure.
81162         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81163         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81164         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81165         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81166         each time through the loop.  Do not diagnose restore_cwd failure;
81167         that is the caller's job (and perhaps the caller does not care).
81168
81169         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81170         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81171         If the file already exists but is not a directory, don't bother
81172         to try to make its parents.
81173         Close potential file descriptor leak if we can't chdir("/") (!).
81174         Don't always return true if chdir($PWD) fails; return true only
81175         if the requested action was done successfully (except for the
81176         chdir($PWD)).
81177         Don't log final directory unless we actually made it.
81178         Refactor to avoid duplicate code to fix up permissions.
81179         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81180
81181         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81182         to make it a bit faster and (I hope) clearer.
81183         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81184         Fix bug in formats like %2N.
81185
81186         * lib/verify.h: New file.
81187
81188 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81189
81190         Sync from coreutils.
81191         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81192
81193 2005-09-22  Jim Meyering  <jim@meyering.net>
81194
81195         Sync from coreutils.
81196
81197         * m4/lstat.m4 (gl_FUNC_LSTAT):
81198         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81199         Remove obsolete comment.
81200         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81201         * m4/xstrtod.m4: Likewise.
81202
81203         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81204
81205 2005-09-22  Jim Meyering  <jim@meyering.net>
81206
81207         Sync from coreutils.
81208
81209         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81210
81211         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81212         the .tm_year member, since otherwise gcc-4.0 would now warn about
81213         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81214
81215         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81216         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81217
81218         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81219         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81220         when run in a time zone for which daylight savings time is in effect
81221         for the starting date.
81222
81223         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81224         stop us from restricting permissions of just-created absolute-named
81225         directories.
81226         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81227         to restore initial working directory.
81228         * lib/mkdir-p.c (make_dir_parents): New parameter:
81229         different_working_dir, to tell caller if/when we change the working
81230         directory and are unable to return to the initial one.
81231         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81232         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
81233         `return false'.  This fixes a bug introduced on 2004-07-30.
81234
81235         * lib/openat.c (fdopendir): Be sure to close the supplied
81236         file descriptor before returning.  This makes our replacement
81237         implementation a little closer to Solaris's, where fdopendir
81238         ties the file descriptor to the returned DIR* pointer.
81239         * lib/openat.c (unlinkat): New function.
81240         * lib/openat.h (unlinkat): Add prototype.
81241         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
81242         (openat_restore_fail): Rename from openat_restore_die.
81243         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
81244
81245         Provide an alternative to exiting immediately upon save_cwd or
81246         restore_cwd failure.  Now, an application can arrange e.g.,
81247         to perform a longjump in that case.
81248         * lib/openat.c: Include dirname.h.
81249         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
81250         (rpl_openat, fdopendir, fstatat): Call openat_save_die
81251         and openat_restore_die rather than calling error directly.
81252         Don't include "error.h" or "exitfail.h"; they're no longer needed.
81253
81254         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
81255         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81256         define.
81257
81258         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81259         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81260                             int utc, int nanoseconds);
81261         Background:
81262         date should not have to allocate a megabyte of virtual memory to
81263         handle a format argument like +%1048575T.  When implemented with
81264         strftime, it must allocate such a buffer, use strftime to fill it
81265         in, print it, then free it.
81266         With fprintftime, it simply prints everything and exits.
81267         With no need for memory allocation, that's one fewer way to fail.
81268         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81269         optional field width, not before, so we accept %9:z, not %:9z.
81270         (my_strftime): Be sure to use L_('x') for literals.
81271
81272         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81273         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81274         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81275         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81276         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81277         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81278         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81279         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81280         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81281         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81282         * lib/xgethostname.c, lib/xreadlink.c:
81283         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81284
81285         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81286         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81287         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81288         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81289         and don't include <sys/file.h>).
81290
81291 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81292
81293         Sync from coreutils.
81294
81295         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81296         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81297         [!LDAV_DONE]: Avoid unused variable warning.
81298
81299 2005-09-21  Bruno Haible  <bruno@clisp.org>
81300
81301         * lib/unicodeio.h (unicode_to_mb): New declaration.
81302
81303 2005-09-20  Derek Price  <derek@ximbiot.com>
81304
81305         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81306         getaddrinfo.h.
81307
81308 2005-09-20  Bruno Haible  <bruno@clisp.org>
81309
81310         * gnulib-tool: Remove trailing slashes from the values specified for
81311         --source-base, --m4-base, --tests-base, --aux-dir.
81312         Suggested by Simon Josefsson <jas@extundo.com>.
81313
81314 2005-09-20  Bruno Haible  <bruno@clisp.org>
81315
81316         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81317         func_modules_to_filelist, func_import, func_create_testdir): Make all
81318         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81319         change when gnulib-tool is invoked in a different locale.
81320
81321 2005-09-19  Simon Josefsson  <jas@extundo.com>
81322
81323         * m4/socklen.m4: Fix typo.
81324
81325 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81326
81327         Use a consistent style for including <config.h>.
81328         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81329         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81330         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81331         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81332         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81333         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81334         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81335         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81336         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81337         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81338         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81339         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81340         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81341         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81342         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81343         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81344         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81345         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81346         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81347         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81348         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81349         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81350         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81351         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81352         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81353         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81354         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81355         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81356         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81357         lib/xstrtoumax.c, lib/yesno.c:
81358         Standardize inclusion of config.h.
81359         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81360         lib/inttostr.h:  Removed inclusion of config.h from header files.
81361         * lib/inttostr.c:  Adjusted in-tree users.
81362         * lib/timespec.h: Remove superfluous warning to include config.h.
81363         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81364         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81365         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81366         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81367         config.h with HAVE_CONFIG_H.
81368
81369 2005-09-19  Jim Meyering  <jim@meyering.net>
81370
81371         * modules/pathmax (License): Change to LGPL.
81372
81373 2005-09-19  Derek Price  <derek@ximbiot.com>
81374
81375         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81376
81377 2005-09-19  Bruno Haible  <bruno@clisp.org>
81378
81379         * gnulib-tool (import): Provide default for --tests-base.
81380
81381 2005-09-19  Bruno Haible  <bruno@clisp.org>
81382
81383         * doc/quote.texi: New file, extracted from gnulib.texi.
81384         * doc/ctime.texi: New file, extracted from gnulib.texi.
81385         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81386         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81387         * doc/gnulib.texi: Include them.
81388
81389 2005-09-18  Bruno Haible  <bruno@clisp.org>
81390
81391         Portability fix.
81392         * gnulib-tool (func_readlink): New function.
81393         (func_ln_if_changed): Use it.
81394
81395 2005-09-18  Bruno Haible  <bruno@clisp.org>
81396
81397         * gnulib-tool: Support --with-tests also with --import.
81398         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81399         (func_import): Use variables $testsbase and $inctests. Emit a
81400         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81401         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81402         SUBDIRS += $testsdir.
81403         (func_create_testdir): Update.
81404
81405 2005-09-18  Bruno Haible  <bruno@clisp.org>
81406
81407         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81408         instead of $dry_run.
81409         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81410         (func_ln_if_changed): Don't handle dry-run here.
81411         (func_import): In dry-run mode, detect more precisely which actions
81412         would be performed, and don't use "...ing" verbs.
81413
81414 2005-09-18  Bruno Haible  <bruno@clisp.org>
81415
81416         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81417         (func_import): Use join on two temporary files instead of three nested
81418         loops, in order to determine which files are new or old.
81419
81420 2005-09-18  Bruno Haible  <bruno@clisp.org>
81421
81422         * gnulib-tool (func_import): Comment out code that spits out the
81423         new files with --dry-run.
81424
81425 2005-09-18  Bruno Haible  <bruno@clisp.org>
81426
81427         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81428
81429 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81430
81431         * lib/stat-time.h: New file.
81432         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81433         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81434         in a different way.
81435         (timespec_cmp): New function.
81436         * lib/utimecmp.c: Include stat-time.h.
81437         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81438         members exist, not on the obsolescent ST_MTIM_NSEC.
81439         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81440
81441 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81442
81443         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81444
81445 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81446
81447         * MODULES.html.sh (File system functions): Add stat-time.
81448         * modules/stat-time: New file.
81449         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81450         is now done in a different way, by the stat-time module.
81451         * modules/utimecmp (Depends-on): Add stat-time.
81452
81453 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81454
81455         * m4/st_mtim.m4: Remove.  Superseded by...
81456         * m4/stat-time.m4: New file.
81457         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81458         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81459
81460 2005-09-15  Derek Price  <derek@ximbiot.com>
81461
81462         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81463
81464 2005-09-15  Derek Price  <derek@ximbiot.com>
81465
81466         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81467         * lib/regex_internal.c: Ditto, using this...
81468         (__GNUC_PREREQ): ...new macro.
81469         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81470         using...
81471         (__GNUC_PREREQ): ...this new macro.
81472
81473         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81474
81475 2005-09-15  Derek Price  <derek@ximbiot.com>
81476             Paul Eggert  <eggert@cs.ucla.edu>
81477
81478         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81479         changes, consolidating in...
81480         * lib/regex_internal.h: ...this file.
81481
81482 2005-09-13  Jim Meyering  <jim@meyering.net>
81483
81484         * lib/canon-host.c: Filter through gnu indent and reword comments
81485         slightly.
81486         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81487
81488 2005-09-13  Derek Price  <derek@ximbiot.com>
81489
81490         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81491         failure.
81492         Reported by Jim Meyering  <jim@meyering.net>.
81493
81494 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81495
81496         * lib/base64.c: Typo.
81497         (base64_encode): Put b64str in initialized data section.
81498
81499 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81500
81501         Merge glibc and coreutils changes into gnulib, plus a few
81502         extra fixes.
81503         * lib/md5.c: Use #error rather than a string.
81504         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81505         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81506         (__attribute__): Define to empty for non recent-GCC.
81507         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81508         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81509         Renamed from their non-__ counterparts, with new macros replacing
81510         them if not _LIBC.  Add __THROW attribute.
81511         (rol): Remove.
81512         (struct md5_ctx): Align buffer if using GCC.
81513         * lib/sha1.h (struct sha1_ctx): Likewise.
81514         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81515         The old name was backwards.
81516         (NOTSWAP): Remove; not used.
81517         (rol): New macro, moved here from md5.h.
81518         (sha1_process_block): Remove a FIXME that doesn't make sense.
81519
81520 2005-09-12  Derek Price  <derek@ximbiot.com>
81521
81522         Return usable errors from canon-host.
81523         * lib/canon-host.h: New file.
81524         * lib/canon-host.c (canon_host): Wrap...
81525         (canon_host_r): ...this new function, which now relies exclusively on
81526         getaddrinfo.
81527         (ch_strerror): New function.
81528         (last_cherror): New global.
81529         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81530         interface.
81531         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81532         void *.
81533         (freeaddrinfo): Free ai->ai_canonname when set.
81534
81535 2005-09-12  Derek Price  <derek@ximbiot.com>
81536
81537         Make canon-host require getaddrinfo.
81538         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81539         AC_LIBSOURCE canon-host.h.  Call...
81540         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81541         gl_GETADDRINFO.
81542         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81543
81544 2005-09-12  Derek Price  <derek@ximbiot.com>
81545
81546         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81547         LGPL.
81548         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81549
81550 2005-09-12  Derek Price  <derek@ximbiot.com>
81551
81552         * lib/gai_strerror.c: Include config.h when available.  Include
81553         getaddrinfo.h before other headers to test interface.
81554         Reported by Larry Jones <lawrence.jones@ugs.com>.
81555
81556 2005-09-12  Derek Price  <derek@ximbiot.com>
81557             Paul Eggert  <eggert@cs.ucla.edu>
81558
81559         * modules/glob (Files): Add glob-libc.h.
81560
81561 2005-09-12  Derek Price  <derek@ximbiot.com>
81562             Paul Eggert  <eggert@cs.ucla.edu>
81563
81564         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
81565         glob_.h, glob-libc.h.
81566         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
81567
81568 2005-09-12  Derek Price  <derek@ximbiot.com>
81569             Paul Eggert  <eggert@cs.ucla.edu>
81570
81571         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
81572         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
81573         protecting things that should be done only in gnulib contexts.
81574         * lib/glob_.h: New file, containing only the glob things needed for
81575         gnulib.
81576         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
81577         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
81578         (glob, globfree, glob_pattern_p): Now defined simply in terms of
81579         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
81580         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
81581         and to respect the namespace rules better.
81582
81583 2005-09-08  Simon Josefsson  <jas@extundo.com>
81584
81585         * modules/socklen: New file.
81586
81587 2005-09-08  Simon Josefsson  <jas@extundo.com>
81588
81589         * m4/socklen.m4: New file.
81590
81591 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         * modules/utimens (Files): Add m4/utimbuf.m4, since
81594         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
81595         Reported by Sergey Poznyakoff.
81596
81597 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81598
81599         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
81600         definitions, since that's the preferred style in glibc.
81601         Fix a minor spacing issue, and update copyright notice to match
81602         glibc's.
81603
81604 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81605
81606         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
81607
81608 2005-09-06  Simon Josefsson  <jas@extundo.com>
81609
81610         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
81611         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
81612
81613 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81614
81615         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
81616         warning.
81617
81618 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81619
81620         * config/srclist.txt: Add glibc bug 1302.
81621
81622 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
81623
81624         Change bitset word type from unsigned int to unsigned long int,
81625         as this has better performance on typical 64-bit hosts.
81626         Port bitset code to hosts with unusual word sizes.
81627         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
81628         (build_collating_symbol):
81629         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
81630         argument is a bitset.  This is merely a style issue, but it makes
81631         it clearer that an entire array is expected.
81632         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
81633         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
81634         Port to the case where bitset_word is not the same as unsigned int.
81635         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81636         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
81637         Likewise.
81638         * lib/regexec.c (check_dst_limits_calc_pos_1,
81639         check_subexp_matching_top):
81640         (build_trtable, group_nodes_into_DFAstates):
81641         Likewise.
81642         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
81643         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
81644         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
81645         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
81646         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
81647         * lib/regcomp.c (optimize_subexps, lower_subexp):
81648         Work even if bitset_word has holes in its bitwise representation.
81649         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
81650         * lib/regexec.c (check_dst_limits_calc_pos_1,
81651         check_subexp_matching_top):
81652         Likewise.
81653         * lib/regex_internal.c (re_string_reconstruct):
81654         Don't assume UCHAR_MAX == 255.
81655         * lib/regex_internal.h (bitset_set_all): Likewise.
81656         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
81657         All uses changed.
81658         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
81659         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
81660         All uses changed.
81661         (BITSET_WORD_MAX): New macro.
81662         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
81663         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
81664         (bitset_empty, bitset_copy):
81665         Prefer sizeof (bitset) to multiplying it out ourselves.
81666         (bitset_not_merge): Remove; unused.
81667         (bitset_contain): Return bool, not unsigned int with one bit on.
81668         All callers changed.
81669         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
81670         alignment than re_node_set; do this by defining a new internal
81671         type struct dests_alloc and using it to allocate memory.
81672
81673 2005-09-05  Bruno Haible  <bruno@clisp.org>
81674
81675         * gnulib-tool (func_import): Fix comparison in handling of symbolic
81676         links.
81677
81678 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
81679
81680         * modules/size_max (Makefile.am): Add size_max.h
81681
81682 2005-09-04  Derek Price  <derek@ximbiot.com>
81683
81684         * gnulib-tool (func_import): Fix reversed $symbolic logic.
81685
81686 2005-09-03  Simon Josefsson  <jas@extundo.com>
81687
81688         * gnulib-tool: Fix typo.
81689
81690 2005-09-03  Simon Josefsson  <jas@extundo.com>
81691
81692         * config/srclist.txt: Add glibc bug 1293.
81693
81694 2005-09-03  Derek Price  <derek@ximbiot.com>
81695
81696         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
81697         From Larry Jones <lawrence.jones@ugs.com>.
81698
81699 2005-09-02  Simon Josefsson  <jas@extundo.com>
81700
81701         * modules/socklen: New file.
81702
81703 2005-09-02  Simon Josefsson  <jas@extundo.com>
81704
81705         * modules/havelib: New module.
81706
81707         * modules/gettext, modules/iconv, modules/lock, modules/readline:
81708         Use havelib.
81709
81710 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81711
81712         Check for arithmetic overflow when calculating sizes, to prevent
81713         some buffer-overflow issues.  These patches are conservative, in the
81714         sense that when I couldn't determine whether an overflow was possible,
81715         I inserted a run-time check.
81716         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
81717         macros.
81718         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
81719         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
81720         (re_xnrealloc, re_x2nrealloc): New inline functions.
81721         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
81722         parse_bracket_exp):
81723         (build_equiv_class, build_charclass): Check for arithmetic overflow
81724         in size expression calculations.
81725         * lib/regex_internal.c (re_string_realloc_buffers):
81726         (build_wcs_upper_buffer, re_node_set_add_intersect):
81727         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
81728         (re_dfa_add_node, register_state): Likewise.
81729         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
81730         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
81731         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
81732         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
81733
81734 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81735
81736         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81737         m4/ulonglong.m4.  Problem reported by Martin Lambers.
81738
81739 2005-09-02  Bruno Haible  <bruno@clisp.org>
81740
81741         Support for lib vs. lib64 distinction on biarch platforms.
81742         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
81743         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
81744         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
81745
81746 2005-09-02  Bruno Haible  <bruno@clisp.org>
81747
81748         * gnulib-tool (import): In the other first-use case, provide defaults
81749         as well.
81750
81751 2005-09-02  Bruno Haible  <bruno@clisp.org>
81752
81753         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
81754         patches not yet found in the latest gettext release.
81755
81756 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81757
81758         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
81759         to avoid a collision with bits/local_lim.h in glibc.
81760         All uses changed.  Problem reported by Dmitry V. Levin in
81761         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
81762
81763         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
81764         bugs in int versus size_t comparisons.
81765         (re_string_context_at): Fix bug where the code assumed that
81766         Idx is signed.
81767
81768         Use bool where appropriate.
81769         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81770         All callers changed.
81771         (calc_eclosure_iter): Likewise, for ROOT arg.
81772         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81773         (build_charclass_op): Likewise, for NON_MATCH arg.
81774         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81775         (re_string_construct_common): Likewise, for ICASE arg.
81776         * lib/regexec.c (re_search_2_stub, re_search_stub):
81777         Likewise, for RET_LEN arg.
81778         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81779         (set_regs): Likewise, for FL_BACKTRACK arg.
81780         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81781         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81782         (calc_eclosure_iter, parse_bracket_exp):
81783         Use bool for internal variables that are booleans.
81784         * lib/regexec.c (re_search_internal, check_matching,
81785         proceed_next_node):
81786         (set_regs, build_sifted_states, sift_states_bkref):
81787         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81788         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81789         (find_collation_sequence_value):
81790         Likewise.
81791         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81792         (re_node_set_compare):
81793         Return bool, not int. All callers changed.
81794         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81795         (build_trtable, check_node_accept): Likewise.
81796         * lib/regex_internal.h: Include stdbool.h.
81797
81798         Fix bugs uncovered when converting to bool.
81799         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81800         failure instead of charging ahead blindly.
81801         * lib/regex_internal.c (register_state): Likewise.
81802         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81803         for freeing internal storage.
81804         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81805         bitset pieces used as boolean, to avoid undefined behavior
81806         on hosts that do int overflow checking.
81807
81808 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81809
81810         * config/srclist.txt: Add glibc bugs 1285-1287.
81811
81812 2005-09-01  Jim Meyering  <jim@meyering.net>
81813
81814         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81815         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81816         Require gl_STAT_MACROS, too.
81817
81818 2005-09-01  Bruno Haible  <bruno@clisp.org>
81819
81820         * gnulib-tool (import): In the first-use case, provide defaults.
81821
81822 2005-09-01  Bruno Haible  <bruno@clisp.org>
81823
81824         * gnulib-tool (func_import): Remove the .tmp files.
81825
81826 2005-09-01  Bruno Haible  <bruno@clisp.org>
81827
81828         * gnulib-tool (func_import): Fix handling of symbolic links.
81829
81830 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81831
81832         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81833         old glibc regex code mishandles strings longer than 2**31 bytes.
81834         This patch fixes this when the regex code is used in gnulib
81835         (i.e., outside glibc).
81836
81837         This patch should not affect the use of the regex code inside
81838         glibc.  No doubt this problem also needs to be handled for glibc
81839         as well, but the result will be an incompatible change to the
81840         glibc ABI, and the old ABI will have to be supported too.  That
81841         can be the the subject for another patch.
81842
81843         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81844         governing whether the rest of this patch is active.  By default,
81845         the macro is disabled and the patch has no effect.
81846         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81847         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81848         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81849         (re_match_2, re_set_registers): Use the new types.
81850         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81851         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81852         New macros.
81853         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81854         (re_string_context_at, bin_tree_t, re_dfastate_t):
81855         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81856         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81857         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81858         (re_string_char_size_at, re_string_wchar_at):
81859         (re_string_elem_size_at):
81860         Use the new types and macros to port to 64-bit hosts.
81861         Use unsigned types for internal values, so that the code
81862         mostly works even for arrays larger than SSIZE_MAX.
81863         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81864         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81865         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81866         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81867         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81868         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81869         (calc_inveclosure, parse_dup_op, build_range_exp):
81870         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81871         (fetch_number, create_token_tree, mark_opt_subexp):
81872         Likewise.
81873         * lib/regex_internal.c (re_string_construct_common,
81874         create_ci_newstate):
81875         (create_cd_newstate, re_string_allocate, re_string_construct):
81876         (re_string_realloc_buffers, build_wcs_upper_buffer):
81877         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81878         (re_string_reconstruct, re_string_peek_byte_case):
81879         (re_string_fetch_byte_case, re_string_context_at):
81880         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81881         (re_node_set_init_copy, re_node_set_add_intersect):
81882         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81883         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81884         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81885         (re_acquire_state, re_acquire_state_context, register_state):
81886         Likewise.
81887         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81888         search_cur_bkref_entry):
81889         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81890         (re_search_internal, re_search_2_stub, re_search_stub)
81891         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81892         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81893         (update_cur_sifted_state, check_dst_limits):
81894         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81895         (check_subexp_limits, sift_states_bkref, merge_state_array):
81896         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81897         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81898         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81899         (expand_bkref_cache, check_node_accept_bytes):
81900         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81901         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81902         (acquire_init_state_context, check_halt_node_context):
81903         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81904         (sift_states_backward, clean_state_log_if_needed):
81905         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81906         (find_recover_state, transit_state_sb, transit_state_mb):
81907         (transit_state_bkref, build_trtable, match_ctx_clean):
81908         Likewise.
81909         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81910         to work around an assumption that REG_MISSING is negative.
81911
81912         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81913         (seek_collating_symbol_entry) [defined _LIBC]:
81914         (lookup_collation_sequence_value) [defined _LIBC]:
81915         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81916         Use prototypes rather than old-style function definitions.
81917         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81918         (transit_state_sb) [0]:
81919         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81920
81921         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81922         rm_eo.
81923
81924         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81925         (optimize_subexps, lower_subexp):
81926         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81927         since the signed shift might overflow.  Use 1u<<31 instead.
81928         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81929         Likewise.
81930         * lib/regexec.c (check_dst_limits_calc_pos_1,
81931         check_subexp_matching_top): Likewise.
81932
81933         * lib/regcomp.c (optimize_subexps, lower_subexp):
81934         Use CHAR_BIT rather than 8, for clarity.
81935         * lib/regexec.c (check_dst_limits_calc_pos_1):
81936         (check_subexp_matching_top): Likewise.
81937         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81938         have to worry about portability issues when shifting it left.
81939         Remove no-longer-needed test for table_size > 0.
81940         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81941         in a word, as the resulting behavior is undefined.
81942         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81943         in one case, a <= should have been an <, and in another case the
81944         whole test was missing.
81945         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81946         the standard name CHAR_BIT.
81947         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81948         this is not true on one's complement and signed-magnitude hosts.
81949
81950         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81951         next_last_offset.
81952         (struct re_dfa_t): Remove unused member states_alloc.
81953         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81954
81955 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81956
81957         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81958         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81959         and large-file glibc and in 32-bit large-file Solaris.
81960
81961 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81964         lengths fit in regoff_t; this isn't true if regoff_t is the same
81965         width as size_t.
81966         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81967         (= START + RANGE) instead of RANGE.  This avoids overflow
81968         problems when regoff_t is the same width as size_t.
81969         All callers changed.
81970         (re_search_2_stub): Check for overflow when adding the
81971         sizes of the two strings.
81972         (re_search_stub): Check for overflow when adding START
81973         to RANGE; if it occurs, substitute the extreme value.
81974
81975 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81976
81977         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81978
81979 2005-08-31  Jim Meyering  <jim@meyering.net>
81980
81981         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81982         a pointer-to-const.
81983         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81984         (register_state): Likewise.
81985         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81986         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81987         (group_nodes_into_DFAstates): Likewise.
81988
81989 2005-08-31  Jim Meyering  <jim@meyering.net>
81990
81991         * check-module: Add a FIXME comment.
81992
81993 2005-08-31  Eric Blake  <ebb9@byu.net>
81994
81995         * modules/unistd-safer (Files): Add unistd--.h.
81996         * modules/stdio-safer (Files): Add stdio--.h.
81997
81998 2005-08-31  Derek Price  <derek@ximbiot.com>
81999
82000         * lib/getdelim.c (getdelim): Return EOF on EOF.
82001         Reported by Larry Jones <lawrence.jones@ugs.com>.
82002
82003 2005-08-31  Bruno Haible  <bruno@clisp.org>
82004
82005         Avoid unnecessary diffs in the generated lib/Makefile.am.
82006         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82007         the generated files.
82008         (func_import): Don't set cmd.
82009
82010 2005-08-31  Bruno Haible  <bruno@clisp.org>
82011
82012         * lib/strstr.c: Include <stddef.h>, for NULL.
82013         * lib/strcasestr.c: Likewise.
82014         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82015
82016 2005-08-31  Bruno Haible  <bruno@clisp.org>
82017
82018         * gnulib-tool: New option --macro-prefix.
82019         (func_import): Use macro_prefix.
82020         (import): Handle option --macro-prefix.
82021
82022 2005-08-31  Bruno Haible  <bruno@clisp.org>
82023
82024         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82025         Also use new variables cached_lgpl, cached_libtool.
82026
82027 2005-08-31  Bruno Haible  <bruno@clisp.org>
82028
82029         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82030         always instantiating them.
82031
82032 2005-08-31  Bruno Haible  <bruno@clisp.org>
82033
82034         * gnulib-tool (func_import): Read the previous cached settings
82035         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82036         earlier added by gnulib but are now dropped. Warn when a gnulib file
82037         overwrites a non-gnulib file.
82038
82039 2005-08-31  Bruno Haible  <bruno@clisp.org>
82040
82041         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82042         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82043         projects that don't keep autogenerated files in CVS. Put into
82044         actioncmd only the specified modules, not the transitive closure.
82045
82046 2005-08-31  Bruno Haible  <bruno@clisp.org>
82047
82048         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82049         Create directories that shall be filled.
82050         (import): Don't look for gl_* macros in configure.ac. Recurse across
82051         all directories containing a gnulib-cache.m4 files, if meaningful.
82052
82053 2005-08-31  Bruno Haible  <bruno@clisp.org>
82054
82055         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82056         (import): Set seen_libtool when we see gl_LIBTOOL.
82057
82058 2005-08-31  Bruno Haible  <bruno@clisp.org>
82059
82060         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82061         declaration macro definitions from generated gnulib.m4.
82062
82063 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82064
82065         * lib/iconvme.h: Add prototype for iconv_alloc.
82066
82067 2005-08-29  Simon Josefsson  <jas@extundo.com>
82068
82069         * lib/iconvme.c: Fix errno.
82070
82071 2005-08-29  Bruno Haible  <bruno@clisp.org>
82072
82073         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82074         that it works when the directory contains spaces.
82075
82076 2005-08-29  Bruno Haible  <bruno@clisp.org>
82077
82078         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82079
82080 2005-08-29  Bruno Haible  <bruno@clisp.org>
82081
82082         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82083         Emit more advice.
82084
82085 2005-08-29  Bruno Haible  <bruno@clisp.org>
82086         and Stepan Kasal  <kasal@ucw.cz>
82087
82088         * check-module: If more parameters are given, check each of them
82089         separately; add more exceptions, as noted by Jim Meyering.
82090         (check_module): New procedure.
82091         (%exempt_header): Now contains all exceptions.
82092
82093 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82094
82095         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82096
82097 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82098
82099         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82100
82101 2005-08-28  Bruno Haible  <bruno@clisp.org>
82102
82103         * m4/gnulib-tool.m4: New file.
82104
82105 2005-08-27  Jim Meyering  <jim@meyering.net>
82106
82107         * modules/unistd-safer (Files): Add pipe-safer.c.
82108         * modules/fcntl-safer (Files): Add creat-safer.c.
82109
82110 2005-08-27  Jim Meyering  <jim@meyering.net>
82111
82112         * m4/stdlib-safer.m4: New file.  From coreutils.
82113         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82114         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82115         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82116         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82117         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82118
82119 2005-08-27  Jim Meyering  <jim@meyering.net>
82120
82121         * lib/fopen-safer.c: Merge minor changes from coreutils.
82122         * lib/dup-safer.c: Likewise.
82123         * lib/fd-safer.c: Likewise.
82124
82125         Merge from coreutils.
82126         * lib/stdio--.h: New file.
82127         * lib/stdlib--.h: New file.
82128         * lib/mkstemp-safer.c: New file.
82129
82130         GNU tar needs these.
82131         * lib/pipe-safer.c: New file.
82132         * lib/creat-safer.c: New file.
82133         * lib/fcntl--.h (creat): Define to creat_safer.
82134         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82135         * lib/unistd--.h (pipe): Define to pipe_safer.
82136         * lib/unistd-safer.h: Declare pipe_safer.
82137
82138 2005-08-26  Simon Josefsson  <jas@extundo.com>
82139
82140         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82141         Haible <bruno@clisp.org>.
82142
82143 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82144
82145         * lib/regex_internal.h: Remove all references to
82146         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82147         or better.
82148         (bitset_not, bitset_merge, bitset_not_merge):
82149         (bitset_mask, re_string_allocate, re_string_construct):
82150         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82151         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82152         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82153         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82154         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82155         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82156         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82157         (re_acquire_state_context):
82158         Remove unnecessary forward decls.
82159         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82160         Put __attribute at function definition,
82161         now that the function decl has been removed.
82162         * lib/regex_internal.c (re_string_peek_byte_case):
82163         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82164         Likewise.
82165
82166 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82167
82168         * m4/regex.m4: Add AC_PREREQ(2.50).
82169         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82170
82171 2005-08-25  Simon Josefsson  <jas@extundo.com>
82172
82173         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82174         __fsetlocking.
82175
82176 2005-08-25  Simon Josefsson  <jas@extundo.com>
82177
82178         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82179         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82180         GLIBC specific code.
82181
82182 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82183
82184         Make regex safe for g++.  This fixes one real bug (an "err"
82185         that should have been "*err").  g++ problem reported by
82186         Sam Steingold.
82187         * lib/regex_internal.h (re_calloc): New macro, consistent with
82188         re_malloc etc.  All callers of calloc changed to use re_calloc.
82189         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82190         not int.  All callers changed.
82191         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82192         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82193         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82194         (find_recover_state): Change "err" to "*err"; this fixes what
82195         appears to be a real bug.
82196         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82197         versus int.
82198
82199 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82200
82201         * modules/regex (Depends-on): Add malloc, since the code
82202         assumes that !malloc(0) means failure.
82203
82204 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82205
82206         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82207
82208         alloca modernization/simplification for regex.
82209         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82210         needs to be at the start of the file, and can be moved into
82211         regex_internal.h and simplified.
82212         * lib/regex_internal.h: Include <alloca.h>.
82213         (__libc_use_alloca) [!defined _LIBC]: New macro.
82214         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82215         now works outside glibc.
82216
82217 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82218
82219         * config/srclist.txt: Add glibc bugs 1241, 1245.
82220
82221 2005-08-25  Jim Meyering  <jim@meyering.net>
82222
82223         * lib/open-safer.c: Include <config.h>.
82224         Otherwise, we'd lose LARGEFILE support in any file using
82225         e.g. "fcntl--.h"
82226
82227 2005-08-25  Bruno Haible  <bruno@clisp.org>
82228
82229         * m4/minmax.m4: Require autoconf 2.52.
82230         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82231         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82232         alternatives of translit over the alphabet.
82233         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
82234
82235 2005-08-24  Simon Josefsson  <jas@extundo.com>
82236
82237         * tests/test-getpass.c: New file.
82238
82239 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82240
82241         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
82242         for GNU regex features.
82243
82244 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
82247         * lib/regex.h (regerror): Likewise.
82248
82249         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
82250         requires this.  (The code never needed it.)
82251
82252         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
82253         All uses of recently-renamed identifiers changed to use the new,
82254         POSIX-compliant names.  The code will build and run just fine
82255         without these changes, but it's better to eat our own dog food
82256         and use the standard-conforming names.
82257
82258         * lib/regex.h: Fix a multitude of POSIX name space violations.
82259         These changes have an effect only for programs that define
82260         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82261         do not change anything for programs compiled in the normal way.
82262         Also, there is no effect on the ABI.
82263
82264         (_REGEX_SOURCE): New macro.
82265         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82266         defined and _GNU_SOURCE is not; this fixes a name space violation.
82267
82268         Rename the following macros to obey POSIX requirements.
82269         The old names are still visible as macros if _REGEX_SOURCE is defined.
82270         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82271         RE_BACKSLASH_ESCAPE_IN_LISTS.
82272         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82273         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82274         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82275         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82276         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82277         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82278         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82279         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82280         (REG_INTERVALS): renamed from RE_INTERVALS.
82281         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82282         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82283         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82284         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82285         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82286         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82287         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82288         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82289         RE_UNMATCHED_RIGHT_PAREN_ORD.
82290         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82291         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82292         (REG_DEBUG): renamed from RE_DEBUG.
82293         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82294         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82295         unusual, since we can't clash with the POSIX REG_ICASE.
82296         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82297         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82298         (REG_NO_SUB): renamed from RE_NO_SUB.
82299         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82300         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82301         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82302         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82303         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82304         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82305         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82306         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82307         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82308         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82309         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82310         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82311         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82312         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82313         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82314         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82315         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82316         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82317         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82318         (REG_FIXED): Renamed from REGS_FIXED.
82319         (REG_NREGS): Renamed from RE_NREGS.
82320
82321         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82322         of other REG_* macros, since POSIX says the user is allowed to
82323         #undef these macros selectively.
82324
82325         (reg_errcode_t): Update comment stating what other tables need
82326         to be consistent.
82327
82328         Rename the following enum values to obey POSIX requirements.
82329         The old names are still visible as macros.
82330         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82331         is not defined, since GNU is supposed to be a superset of POSIX as
82332         much as possible, and since we want reg_errcode_t to be a signed
82333         type for implementation consistency.
82334         (_REG_NOERROR): Renamed from REG_NOERROR.
82335         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82336         (_REG_BADPAT): Renamed from REG_BADPAT.
82337         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82338         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82339         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82340         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82341         (_REG_EBRACK): Renamed from REG_EBRACK.
82342         (_REG_EPAREN): Renamed from REG_EPAREN.
82343         (_REG_EBRACE): Renamed from REG_EBRACE.
82344         (_REG_BADBR): Renamed from REG_BADBR.
82345         (_REG_ERANGE): Renamed from REG_ERANGE.
82346         (_REG_ESPACE): Renamed from REG_ESPACE.
82347         (_REG_BADRPT): Renamed from REG_BADRPT.
82348         (_REG_EEND): Renamed from REG_EEND.
82349         (_REG_ESIZE): Renamed from REG_ESIZE.
82350         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82351         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82352         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82353         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82354         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82355
82356         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82357         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82358         changed.  But support the old name if the new one is not defined
82359         and if _REGEX_SOURCE.
82360
82361         Change the following member names in struct re_pattern_buffer.
82362         The old names are still supported if !_REGEX_SOURCE.
82363         The new names are always supported, regardless of _REGEX_SOURCE.
82364         (re_buffer): Renamed from buffer.
82365         (re_allocated): Renamed from allocated.
82366         (re_used): Renamed from used.
82367         (re_syntax): Renamed from syntax.
82368         (re_fastmap): Renamed from fastmap.
82369         (re_translate): Renamed from translate.
82370         (re_can_be_null): Renamed from can_be_null.
82371         (re_regs_allocated): Renamed from regs_allocated.
82372         (re_fastmap_accurate): Renamed from fastmap_accurate.
82373         (re_no_sub): Renamed from no_sub.
82374         (re_not_bol): Renamed from not_bol.
82375         (re_not_eol): Renamed from not_eol.
82376         (re_newline_anchor): Renamed from newline_anchor.
82377
82378         Change the following member names in struct re_registers.
82379         The old names are still supported if !_REGEX_SOURCE.
82380         The new names are always supported, regardless of _REGEX_SOURCE.
82381         (rm_num_regs): Renamed from num_regs.
82382         (rm_start): Renamed from start.
82383         (rm_end): Renamed from end.
82384
82385         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82386         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82387         Prepend __ to parameter names.
82388
82389         Undo yesterday's changes.
82390
82391 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82394         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82395         lib/regex.c.
82396
82397 2005-08-24  Jim Meyering  <jim@meyering.net>
82398
82399         Sync from coreutils.
82400         * m4/fcntl-safer.m4: New file.
82401
82402         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82403         and object files for this module.
82404
82405 2005-08-24  Jim Meyering  <jim@meyering.net>
82406
82407         Sync from coreutils.
82408         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82409
82410 2005-08-24  Jim Meyering  <jim@meyering.net>
82411
82412         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82413         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82414
82415 2005-08-24  Jim Meyering  <jim@meyering.net>
82416
82417         * modules/fcntl-safer: New module.
82418         * modules/fts (Depends-on): Add fcntl-safer.
82419         * MODULES.html.sh (File descriptor based Input/Output):
82420         Add fcntl-safer.
82421
82422 2005-08-24  Bruno Haible  <bruno@clisp.org>
82423
82424         Support for unit test modules.
82425         * modules/README: Mention tests modules.
82426         * modules/TEMPLATE-TESTS: New file.
82427         * gnulib-tool: New options --extract-tests-module, --with-tests and
82428         --tests-base (unused for the moment).
82429         (testsbase, inctests): New variables.
82430         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82431         (func_verify_module): Exclude TEMPLATE-TESTS.
82432         (func_verify_nontests_module, func_verify_tests_module): New functions.
82433         (func_get_dependencies): Add implicit dependency for tests modules.
82434         (func_get_tests_module): New function.
82435         (func_modules_transitive_closure): When --with-tests was specified,
82436         include the unit tests as well, unless explicitly avoided.
82437         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82438         (func_emit_tests_Makefile_am): New function.
82439         (func_create_testdir): When --with-tests was specified, emit a
82440         tests/ directory.
82441         * MODULES.html.sh (Future developments): Update.
82442
82443 2005-08-24  Bruno Haible  <bruno@clisp.org>
82444
82445         * modules/tls-tests: New file.
82446         * tests/test-tls.c: New file, from GNU gettext.
82447
82448 2005-08-24  Bruno Haible  <bruno@clisp.org>
82449
82450         * modules/lock-tests: New file.
82451         * tests/test-lock.c: New file, from GNU gettext.
82452
82453 2005-08-24  Bruno Haible  <bruno@clisp.org>
82454
82455         * lib/lock.h: Add multiple inclusion guard.
82456         * lib/tls.h: Add multiple inclusion guard.
82457
82458 2005-08-24  Bruno Haible  <bruno@clisp.org>
82459
82460         * gnulib-tool: Add support for the --aux-dir option to
82461         --create-testdir, --create-megatestdir, --test, --megatest.
82462         (func_create_testdir, func_create_megatestdir): Optionally emit a
82463         AC_CONFIG_AUX_DIR directive.
82464         (create-testdir, create-megatestdir, test, megatest): Provide a
82465         default value for $auxdir.
82466
82467 2005-08-24  Bruno Haible  <bruno@clisp.org>
82468
82469         * gnulib-tool (import): Use compound statement instead of subshell
82470         where possible.
82471
82472 2005-08-24  Bruno Haible  <bruno@clisp.org>
82473
82474         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82475
82476 2005-08-24  Bruno Haible  <bruno@clisp.org>
82477
82478         * gnulib-tool (func_version): Update.
82479
82480 2005-08-24  Bruno Haible  <bruno@clisp.org>
82481
82482         * gnulib-tool (func_import, func_create_testdir,
82483         func_create_megatestdir): Quote all autoconf macro arguments.
82484
82485 2005-08-24  Bruno Haible  <bruno@clisp.org>
82486
82487         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82488         option --force, because --force causes the aclocal.m4 of each
82489         subdirectory to be newer than the corresponding config.h.in.
82490
82491 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82492
82493         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82494         All contents moved to gl_REGEX.
82495         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82496         assume that it does.
82497
82498 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * lib/regex.h (REG_NOSYS)
82501         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82502         Define, since POSIX requires it as of 2001.
82503         (_REG_ENOSYS)
82504         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82505         New private symbol, used to keep the enum signed in all cases.
82506         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82507         Youngman in
82508         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82509
82510         * lib/regex_internal.c (re_string_skip_chars, register_state):
82511         (calc_state_hash):
82512         Remove forward decls; no longer needed now that we use prototypes.
82513         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82514         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82515         (clean_state_log_if_needed): Likewise.
82516
82517 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82518
82519         * config/srclist.txt: Add glibc bugs 1231-1233.
82520
82521 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82522
82523         Fix problems reported by Sam Steingold in
82524         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82525         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82526         assumed that reg_errcode_t is a signed type, which is not
82527         necessarily true if _XOPEN_SOURCE is not defined.
82528         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82529         since some compilers warn about it otherwise.
82530
82531 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82532
82533         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82534         (init_word_char, create_initial_state, duplicate_node_closure):
82535         (fetch_token, peek_token_bracket, build_range_exp):
82536         (build_collating_symbol): Remove forward decls; no longer needed
82537         now that we use prototypes.
82538
82539         * lib/regcomp.c:
82540         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82541         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82542         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82543         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82544         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82545         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82546         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82547         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82548         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82549         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82550         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82551         (build_charclass, build_charclass_op, fetch_number, create_tree):
82552         (create_token_tree, mark_opt_subexp, duplicate_tree):
82553         Use prototypes rather than old-style definitions.
82554
82555         * lib/regex_internal.c:
82556         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82557         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82558         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82559         (re_string_reconstruct, re_string_peek_byte_case):
82560         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82561         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82562         (re_node_set_init_copy, re_node_set_add_intersect):
82563         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82564         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82565         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82566         (re_acquire_state, re_acquire_state_context, register_state):
82567         (create_ci_newstate, create_cd_newstate, free_state):
82568         Likewise.
82569         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
82570         re_search_2):
82571         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
82572         (re_search_internal, prune_impossible_nodes):
82573         (acquire_init_state_context, check_matching, static):
82574         (check_halt_node_context, check_halt_state_context, proceed_next_node):
82575         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
82576         (update_regs, sift_states_backward, build_sifted_states):
82577         (clean_state_log_if_needed, merge_state_array):
82578         (update_cur_sifted_state, add_epsilon_src_nodes):
82579         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
82580         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
82581         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
82582         (find_recover_state, check_subexp_matching_top, transit_state_mb):
82583         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
82584         (check_arrival, check_arrival_add_next_nodes):
82585         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82586         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82587         (check_node_accept_bytes, check_node_accept, extend_buffers):
82588         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
82589         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
82590         (sift_ctx_init):
82591         Likewise.
82592
82593         * lib/regex_internal.h:
82594         (re_string_allocate, re_string_construct, re_string_reconstruct):
82595         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
82596         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
82597         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
82598         (re_string_context_at, re_string_peek_byte_case):
82599         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
82600         is defined, since we now use prototypes always.
82601
82602         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
82603         C89 or better.  All uses removed.
82604
82605 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82606
82607         * config/srclist.txt: Add glibc bugs 1220-1227.
82608
82609 2005-08-20  Jim Meyering  <jim@meyering.net>
82610
82611         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
82612         of unused local, dfa.
82613
82614 2005-08-20  Bruno Haible  <bruno@clisp.org>
82615
82616         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
82617
82618 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82619
82620         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
82621         (re_node_set_insert_last, re_dfa_add_node):
82622         Rename local variables to avoid GCC shadowing warnings.
82623
82624 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82625
82626         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
82627         [defined lint]: Suppress bogus uninitialized-variable warnings.
82628
82629         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
82630         and let the caller return REG_ESPACE if out of space.  This
82631         removes an uninitialied-variable warning with GCC 4.0.1, and also
82632         avoids taking the address of a local variable.  All callers
82633         changed.
82634
82635 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82636
82637         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
82638         $LIBCSRC/posix/regexec.c.
82639         Add glibc bug 1217 for regcomp.c.
82640
82641 2005-08-19  Jim Meyering  <jim@meyering.net>
82642
82643         * lib/regexec.c (proceed_next_node): Redo local variables to
82644         avoid GCC shadowing warnings.
82645
82646 2005-08-18  Bruno Haible  <bruno@clisp.org>
82647
82648         * lib/strstr.c (strstr): Fix return value in multibyte case.
82649         * lib/strcasestr.c (strcasestr): Likewise.
82650
82651 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82652
82653         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
82654
82655 2005-08-17  Jim Meyering  <jim@meyering.net>
82656
82657         Make the %s format (seconds since the epoch) work for a negative
82658         number and when used with a zero-padded field width, e.g. %015s.
82659
82660         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
82661         label so that it precedes the code to set `digits'.  Otherwise,
82662         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
82663         print `00-22'.  Now, it prints `-0022', as it should.
82664
82665 2005-08-17  Bruno Haible  <bruno@clisp.org>
82666
82667         * modules/strstr (Files): Add m4/mbrtowc.m4.
82668         (Depends-on): Add mbuiter.
82669
82670 2005-08-17  Bruno Haible  <bruno@clisp.org>
82671
82672         * modules/strcasestr: New file.
82673         * MODULES.html.sh (String handling, based on ANSI C 89): Add
82674         strcasestr.
82675
82676 2005-08-17  Bruno Haible  <bruno@clisp.org>
82677
82678         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
82679
82680 2005-08-17  Bruno Haible  <bruno@clisp.org>
82681
82682         * modules/mbuiter: New file.
82683         * MODULES.html.sh (Extended multibyte and wide character utilities):
82684         Add mbuiter.
82685
82686 2005-08-17  Bruno Haible  <bruno@clisp.org>
82687
82688         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
82689         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
82690
82691 2005-08-17  Bruno Haible  <bruno@clisp.org>
82692
82693         * m4/strcasestr.m4: New file.
82694
82695 2005-08-17  Bruno Haible  <bruno@clisp.org>
82696
82697         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
82698         * lib/strstr.c: Completely rewritten, with multibyte locale support.
82699
82700 2005-08-17  Bruno Haible  <bruno@clisp.org>
82701
82702         * lib/strcasestr.h: New file.
82703         * lib/strcasestr.c: New file.
82704
82705 2005-08-17  Bruno Haible  <bruno@clisp.org>
82706
82707         * lib/strcasecmp.c: Use mbuiter.h.
82708
82709 2005-08-17  Bruno Haible  <bruno@clisp.org>
82710
82711         * lib/mbuiter.h: New file.
82712
82713 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
82714
82715         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
82716         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
82717         and gl_GETOPT are both invoked via different paths (as happens
82718         with GNU tar CVS because it uses both argp and getopt), the former
82719         wins.
82720
82721 2005-08-16  Bruno Haible  <bruno@clisp.org>
82722
82723         * modules/tls: New file.
82724         * MODULES.html.sh (Multithreading): Add tls.
82725
82726 2005-08-16  Bruno Haible  <bruno@clisp.org>
82727
82728         * modules/strnlen1: New file.
82729         * MODULES.html.sh (String handling): Add strnlen1.
82730
82731 2005-08-16  Bruno Haible  <bruno@clisp.org>
82732
82733         * modules/strcase (Files): Add m4/mbrtowc.m4.
82734         (Depends-on): Add strnlen1, mbchar.
82735
82736 2005-08-16  Bruno Haible  <bruno@clisp.org>
82737
82738         * modules/mbiter: New file.
82739         * MODULES.html.sh (Extended multibyte and wide character utilities):
82740         Add mbiter.
82741
82742 2005-08-16  Bruno Haible  <bruno@clisp.org>
82743
82744         * modules/mbfile: New file.
82745         * MODULES.html.sh (Extended multibyte and wide character utilities):
82746         Add mbfile.
82747
82748 2005-08-16  Bruno Haible  <bruno@clisp.org>
82749
82750         * modules/mbchar: New file.
82751         * MODULES.html.sh (Extended multibyte and wide character utilities):
82752         New section.
82753
82754 2005-08-16  Bruno Haible  <bruno@clisp.org>
82755
82756         * m4/tls.m4: New file, from GNU gettext.
82757
82758 2005-08-16  Bruno Haible  <bruno@clisp.org>
82759
82760         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
82761         always.
82762         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
82763
82764 2005-08-16  Bruno Haible  <bruno@clisp.org>
82765
82766         * m4/mbiter.m4: New file.
82767
82768 2005-08-16  Bruno Haible  <bruno@clisp.org>
82769
82770         * m4/mbfile.m4: New file.
82771
82772 2005-08-16  Bruno Haible  <bruno@clisp.org>
82773
82774         * m4/mbchar.m4: New file.
82775
82776 2005-08-16  Bruno Haible  <bruno@clisp.org>
82777
82778         * lib/tls.h: New file, from GNU gettext.
82779         * lib/tls.c: New file, from GNU gettext.
82780
82781 2005-08-16  Bruno Haible  <bruno@clisp.org>
82782
82783         * lib/strnlen1.h: New file.
82784         * lib/strnlen1.c: New file.
82785
82786 2005-08-16  Bruno Haible  <bruno@clisp.org>
82787
82788         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82789         (mbi_init): Update.
82790         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82791         NUL byte, not after it.
82792
82793 2005-08-16  Bruno Haible  <bruno@clisp.org>
82794
82795         * lib/strcase.h (strcasecmp): Add note in comments.
82796         * lib/strncasecmp.c: Use code from strcasecmp.c.
82797         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82798         (strcasecmp): Work correctly in multibyte locales.
82799
82800 2005-08-16  Bruno Haible  <bruno@clisp.org>
82801
82802         * lib/mbiter.h: New file.
82803
82804 2005-08-16  Bruno Haible  <bruno@clisp.org>
82805
82806         * lib/mbfile.h: New file.
82807
82808 2005-08-16  Bruno Haible  <bruno@clisp.org>
82809
82810         * lib/mbchar.h: New file.
82811         * lib/mbchar.c: New file.
82812
82813 2005-08-16  Bruno Haible  <bruno@clisp.org>
82814
82815         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82816         the valid ones. Makes the comparison operations transitive:
82817         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82818         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82819
82820 2005-08-15  Simon Josefsson  <jas@extundo.com>
82821
82822         * modules/ssize_t (License): Change to 'unlimited'.
82823
82824         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82825
82826 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82827
82828         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82829         Add comments for each pending glibc patch.
82830
82831 2005-08-15  Bruno Haible  <bruno@clisp.org>
82832
82833         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82834         __cplusplus is defined.
82835
82836 2005-08-14  Jim Meyering  <jim@meyering.net>
82837
82838         Sync from coreutils.
82839
82840         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82841         Use the hash-table-based cycle-detection code not just when
82842         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82843         Reported by James Youngman in
82844         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82845         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82846         FTS_TIGHT_CYCLE_CHECK.
82847         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82848         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82849         once again.
82850         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82851         * lib/fts.c (fd_safer): Remove decl.
82852         Include fcntl--.h rather than unistd-safer.h
82853         (fts_safe_changedir): Don't call fd_safer; no longer needed
82854         now that we include fcntl--.h.
82855
82856 2005-08-12  Simon Josefsson  <jas@extundo.com>
82857
82858         * modules/getndelim2: Use ssize_t module.
82859         * modules/getnline: Likewise.
82860         * modules/safe-read: Likewise.
82861         * modules/xreadlink: Likewise.
82862
82863         * modules/ssize_t: New file.
82864
82865 2005-08-12  Simon Josefsson  <jas@extundo.com>
82866
82867         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82868
82869 2005-08-12  Simon Josefsson  <jas@extundo.com>
82870
82871         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82872         ssize_t.
82873
82874 2005-08-12  Simon Josefsson  <jas@extundo.com>
82875
82876         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82877         readline, getdelim and check_version.
82878         (Support for systems lacking ISO C 99: Sizes of integer types):
82879         Add size_max.
82880
82881 2005-08-12  Bruno Haible  <bruno@clisp.org>
82882
82883         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82884
82885 2005-08-11  Simon Josefsson  <jas@extundo.com>
82886
82887         * modules/readline: New file.
82888
82889         * modules/strnlen (Files): Add strnlen.h.
82890
82891 2005-08-11  Simon Josefsson  <jas@extundo.com>
82892
82893         * m4/readline.m4: New file.
82894
82895 2005-08-11  Simon Josefsson  <jas@extundo.com>
82896
82897         * lib/readline.h, readline.c: New file.
82898
82899 2005-08-11  Simon Josefsson  <jas@extundo.com>
82900
82901         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82902         gl_AVOID.
82903
82904 2005-08-11  Bruno Haible  <bruno@clisp.org>
82905
82906         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82907
82908 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82909
82910         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82911
82912 2005-08-10  Simon Josefsson  <jas@extundo.com>
82913
82914         * tests/test-iconvme.c: New file.
82915
82916 2005-08-10  Simon Josefsson  <jas@extundo.com>
82917
82918         * m4/strnlen.m4: New file.
82919
82920         * m4/strndup.m4: Don't check for strnlen declaration, done in
82921         strnlen.m4.
82922
82923 2005-08-10  Simon Josefsson  <jas@extundo.com>
82924
82925         * lib/strndup.c: Use strnlen.h.
82926
82927         * lib/strnlen.h: New file.
82928
82929 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82930
82931         * README: Typos.
82932
82933 2005-08-02  Simon Josefsson  <jas@extundo.com>
82934
82935         * modules/readline: New file.
82936
82937 2005-08-02  Simon Josefsson  <jas@extundo.com>
82938
82939         * modules/getdelim: New file.
82940
82941         * modules/getline: Rewrite, don't use getndelim2.
82942
82943 2005-08-02  Simon Josefsson  <jas@extundo.com>
82944
82945         * m4/getline.m4: Separate out getdelim stuff into separate module.
82946
82947         * m4/getdelim.m4: New file.
82948
82949 2005-08-02  Simon Josefsson  <jas@extundo.com>
82950
82951         * lib/getline.h, getline.c: Rewrite.
82952
82953         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82954
82955 2005-07-31  Bruno Haible  <bruno@clisp.org>
82956
82957         * lib/lock.h (gl_lock_initializer): New macro.
82958         (gl_lock_define_initialized): Use it.
82959         (gl_rwlock_initializer): New macro.
82960         (gl_rwlock_define_initialized): Use it.
82961         (gl_recursive_lock_initializer): New macro.
82962         (gl_recursive_lock_define_initialized): Use it.
82963
82964 2005-07-30  Karl Berry  <karl@gnu.org>
82965
82966         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82967         Report from Ben Pfaff, regarding getopt.
82968
82969 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82970
82971         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82972         normal way.
82973         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82974         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82975         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82976         (gl_GETOPT): Use the new macros.  Most of the implementation
82977         is moved to the new macros.  This is for programs like Emacs
82978         that don't want all the functionality of gl_GETOPT.
82979
82980 2005-07-26  Bruno Haible  <bruno@clisp.org>
82981
82982         * m4/lock.m4: Update from GNU gettext.
82983
82984 2005-07-26  Bruno Haible  <bruno@clisp.org>
82985
82986         * lib/lock.h: Update from GNU gettext.
82987         * lib/lock.c: Update from GNU gettext.
82988
82989 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82990
82991         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82992         obsolescent AC_TRY_RUN.  Include the default includes files, for
82993         'exit'.
82994
82995 2005-07-24  Bruno Haible  <bruno@clisp.org>
82996
82997         * modules/visibility: New file.
82998         * MODULES.html.sh (Misc): Add visibility.
82999
83000 2005-07-24  Bruno Haible  <bruno@clisp.org>
83001
83002         * m4/visibility.m4: New file.
83003
83004 2005-07-24  Bruno Haible  <bruno@clisp.org>
83005
83006         * doc/visibility.texi: New file.
83007
83008 2005-07-22  Bruno Haible  <bruno@clisp.org>
83009
83010         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83011         $(ALLOCA_H), redundant through BUILT_SOURCES.
83012         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83013         redundant through BUILT_SOURCES.
83014         * modules/byteswap (Makefile.am): Remove explicit dependency on
83015         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83016         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83017         $(FNMATCH_H), redundant through BUILT_SOURCES.
83018         * modules/getopt (Makefile.am): Remove explicit dependency on
83019         $(GETOPT_H), redundant through BUILT_SOURCES.
83020         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83021         redundant through BUILT_SOURCES.
83022         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83023         redundant through BUILT_SOURCES.
83024         * modules/stdbool (Makefile.am): Remove explicit dependency on
83025         $(STDBOOL_H), redundant through BUILT_SOURCES.
83026         * modules/stdint (Makefile.am): Remove explicit dependency on
83027         $(STDINT_H), redundant through BUILT_SOURCES.
83028         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83029         Remove explicit dependency on $(SYSEXITS_H).
83030         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83031
83032 2005-07-18  Simon Josefsson  <jas@extundo.com>
83033
83034         * lib/check-version.c (check_version): Accept identical versions too.
83035
83036 2005-07-18  Bruno Haible  <bruno@clisp.org>
83037
83038         * modules/lock: New file.
83039         * MODULES.html.sh (Multithreading): New section.
83040
83041 2005-07-18  Bruno Haible  <bruno@clisp.org>
83042
83043         * m4/lock.m4: New file, from GNU gettext.
83044
83045 2005-07-18  Bruno Haible  <bruno@clisp.org>
83046
83047         * lib/lock.h: New file, from GNU gettext.
83048         * lib/lock.c: New file, from GNU gettext.
83049
83050 2005-07-18  Bruno Haible  <bruno@clisp.org>
83051
83052         * lib/lock.h (gl_once_t): New type.
83053         (gl_once_define, gl_once): New macros.
83054         * lib/lock.c (fresh_once): New variable.
83055         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83056         functions.
83057
83058 2005-07-16  Simon Josefsson  <jas@extundo.com>
83059
83060         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83061         workaround, suggested by Bruno.
83062
83063 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83064
83065         * modules/xalloc (Depends-on): Add xalloc-die.
83066         * modules/xvasprintf (Depends-on): Add xalloc-die.
83067
83068 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83069
83070         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83071         with a minor change.
83072
83073 2005-07-15  Bruno Haible  <bruno@clisp.org>
83074
83075         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83076         When using lib/poll.c, define poll as rpl_poll.
83077
83078 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83079
83080         * modules/argp (Depends-on): Remove unlocked-io.
83081
83082 2005-07-14  Derek Price  <derek@ximbiot.com>
83083
83084         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83085         for glob symlink bug.
83086
83087 2005-07-14  Bruno Haible  <bruno@clisp.org>
83088
83089         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83090         Instead, test for *_unlocked function declarations directly.
83091
83092 2005-07-11  Simon Josefsson  <jas@extundo.com>
83093
83094         * modules/size_max: New file.
83095
83096         * modules/xsize: Depend on size_max module for size_max.m4.
83097
83098 2005-07-11  Simon Josefsson  <jas@extundo.com>
83099
83100         * lib/size_max.h: New file.
83101
83102 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83103
83104         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83105         copyright symbol and the year.
83106         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83107         (version_etc_va): Use parameterized copyright notice.
83108         Reword to conform to the current GNU coding standards.
83109
83110 2005-07-11  Karl Berry  <karl@gnu.org>
83111
83112         * doc/gnulib.texi (Quoting): new node.
83113         (Initial import): more info, from Patrice.
83114
83115 2005-07-11  Bruno Haible  <bruno@clisp.org>
83116
83117         * gnulib-tool (func_usage): Document option --avoid.
83118         (Command line options): Handle --avoid.
83119         (func_acceptable): New function.
83120         (func_modules_transitive_closure): Use it.
83121
83122 2005-07-11  Bruno Haible  <bruno@clisp.org>
83123
83124         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83125         Reported by Jim Meyering.
83126
83127 2005-07-10  Bruno Haible  <bruno@clisp.org>
83128
83129         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83130         Needed when size_t is smaller than 'unsigned int'.
83131         Reported by Paul Eggert.
83132
83133 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83134
83135         * modules/argp (Depends-on): Add unlocked-io
83136
83137 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83138
83139         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83140         block of defines.
83141
83142 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83143
83144         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83145         fix now.
83146
83147 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83148         and Paul Eggert  <eggert@cs.ucla.edu>
83149
83150         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83151         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83152
83153 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83154
83155         * modules/regex (Files): Add lib/regex_internal.c,
83156         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83157         (Depends-on): Add extensions.
83158         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83159
83160 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83161
83162         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83163         pathconf.
83164         * m4/same.m4 (gl_SAME): Likewise.
83165         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83166
83167         * m4/regex.m4: Adjust to new libc regex implementation.
83168         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83169         all the .c and .h parts of (the new) regex.
83170         Quote the m4 stuff better.
83171         Check for RE_ICASE bug of old gnulib.
83172         Check for REG_STARTEND of recent libc.
83173         Rename local variables from jm_* to gl_*.
83174         Quote operand of "test -f".
83175         Say "recent enough" version of libc, not "version 2".
83176         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83177         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83178         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83179         Remove check for btowc, isascii.
83180         Require AM_LANGINFO_CODESET.
83181
83182 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83183
83184         * lib/regex.c, regex.h: Sync from libc.
83185         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83186         * lib/regexec.c:
83187         New files, synced from libc, except that regex_internal.h
83188         currently has a small porting fix.
83189
83190 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83191
83192         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83193         regex_internal.c, regexec.c.
83194         Add regex_internal.h too, but as a comment, since the libc version
83195         is currently broken in gnulib mode.
83196
83197 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83198
83199         Support programs like Emacs that use gnulib but not gettext.
83200         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83201         * modules/gettext-h: New file.
83202         * modules/gettext (Files): Remove lib/gettext.h.
83203         (Depends-on): Add gettext-h.
83204         (Makefile.am): Remove lib_SOURCES.
83205         * modules/argmatch, modules/c-stack, modules/closeout:
83206         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83207         * modules/execute, modules/file-type, modules/getaddrinfo:
83208         * modules/getopt, modules/human, modules/javacomp:
83209         * modules/javaexec, modules/mkdir-p, modules/obstack:
83210         * modules/openat, modules/pagealign_alloc, modules/pipe:
83211         * modules/quotearg, modules/regex, modules/rpmatch:
83212         * modules/unicodeio, modules/userspec, modules/version-etc:
83213         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83214         * modules/xsetenv:
83215         Depend on gettext-h, not gettext.
83216
83217 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83218
83219         * gnulib-tool (func_import): Add support for 'public domain' license.
83220         * modules/alloca, modules/atexit, modules/memmove:
83221         Now public domain, not GPL.
83222         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83223         * modules/realloc, modules/strerror, modules/strtod:
83224         Now LGPL, not GPL.
83225
83226 2005-07-05  Bruno Haible  <bruno@clisp.org>
83227
83228         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83229         autoconf CVS. Needed for mingw.
83230
83231 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83232
83233         Remove the dependency of the strftime module on the tzset module.
83234         * modules/strftime (Depends-on): Remove dependency on tzset.
83235
83236 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83237
83238         Remove the dependency of the strftime module on the tzset module.
83239         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
83240         gl_FUNC_TZSET_CLOBBER.
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         * lib/strftime.c (my_strftime)
83246         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
83247         Copy the input structure, to work around some of the bug with
83248         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
83249         Solaris releases, you should also use the tzset module, but we won't
83250         require it as a dependency any more since we don't want LGPLed code
83251         to depend on GPLed code.
83252
83253 2005-07-02  Jim Meyering  <jim@meyering.net>
83254
83255         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83256         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83257         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83258         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83259
83260 2005-07-02  Jim Meyering  <jim@meyering.net>
83261
83262         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83263
83264 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83265
83266         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83267         declares only 'struct timespec;' (!).
83268
83269 2005-07-01  Jim Meyering  <jim@meyering.net>
83270
83271         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83272         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83273         * lib/save-cwd.c, tempname.c:
83274         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83275         and don't include <sys/file.h>).
83276
83277 2005-06-29  Jim Meyering  <jim@meyering.net>
83278
83279         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83280         type name.  Use the variable name instead.
83281         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83282         Likewise.
83283
83284 2005-06-28  Simon Josefsson  <jas@extundo.com>
83285
83286         * modules/check-version (Files): Add check-version.m4.
83287
83288 2005-06-28  Simon Josefsson  <jas@extundo.com>
83289
83290         * m4/check-version.m4: New file, suggested by Jim Meyering
83291         <jim@meyering.net>.
83292
83293 2005-06-28  Simon Josefsson  <jas@extundo.com>
83294
83295         * lib/check-version.h, lib/check-version.c: New files.
83296
83297 2005-06-28  Simon Josefsson  <jas@extundo.com>
83298
83299         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83300         collision with global variable.  Better indentation.  Don't
83301         increment buffer pointer beyond buffer end.  Based on comments
83302         from Paul Eggert <eggert@cs.ucla.edu>.
83303
83304         * lib/base64.h: Indent.
83305
83306 2005-06-28  Simon Josefsson  <jas@extundo.com>
83307
83308         * doc/gnulib.texi (Library version handling): New section.
83309
83310 2005-06-28  Jim Meyering  <jim@meyering.net>
83311
83312         * check-module (find_included_lib_files): Hard-code another
83313         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83314         but modules/fts-lgpl (correctly) does not list those files.
83315
83316         * modules/canonicalize (Files): Add lib/pathmax.h.
83317
83318 2005-06-25  Simon Josefsson  <jas@extundo.com>
83319
83320         * modules/check-version: New file.
83321
83322 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83323
83324         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83325         initializer of struct addrinfo, as an indication that we don't
83326         care how many members the structure has.
83327
83328 2005-06-24  Derek Price  <derek@ximbiot.com>
83329         and Bruno Haible  <bruno@clisp.org>
83330
83331         Remove stat module & update lstat.
83332         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83333         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83334         * m4/stat.m4: Remove this file.
83335
83336 2005-06-24  Derek Price  <derek@ximbiot.com>
83337         and Bruno Haible  <bruno@clisp.org>
83338
83339         Remove stat module & update lstat.
83340         * lib/stat.c: Remove this file...
83341         (slash_aware_lstat): ...moving this content and its support...
83342         * lib/lstat.c (rpl_lstat): ...into here.
83343         * lib/lstat.h: New file.
83344
83345 2005-06-24  Derek Price  <derek@ximbiot.com>
83346         and Bruno Haible  <bruno@clisp.org>
83347
83348         Remove stat module & update lstat.
83349         * config/srclist.txt (libc sources): Remove stat.
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         * MODULES.html.sh (stat): Remove.
83356         * MODULES.html: Regenerated.
83357         * modules/lstat (Description): Correct function name.
83358         (Files): Add "lstat.h".
83359         (Depends-on): Remove stat, add xalloc, stat-macros.
83360         * modules/stat: Remove this file.
83361         (Include): Add "lstat.h", remove <sys/stat.h>.
83362
83363 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83364
83365         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83366         (ranged_convert): Don't save conversion in a temporary struct.
83367         This causes a warning with GCC 4.0.0, and anyway in the typical
83368         case it's not worth the extra 100 bytes or so of code.
83369         (ranged_convert, __mktime_internal): When calling a function via a
83370         pointer P, use P () rather than (*P) (), as we now assume C89 or
83371         better.
83372
83373 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83374
83375         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83376         "who -r" failed to give output.  Problem reported by Tim Waugh.
83377
83378         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83379         (xcalloc): Use it to avoid needless tests.
83380         Problem reported by Jim Meyering.
83381
83382 2005-06-20  Derek Price  <derek@ximbiot.com>
83383
83384         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83385         unnecessary for Autoconfs > 2.59c.
83386
83387 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83388
83389         * lib/argp.h (__option_is_short): Check upper limit of
83390         __key. Isprint() requires its argument to have the value
83391         of an unsigned char or EOF.
83392
83393 2005-06-16  Jim Meyering  <jim@meyering.net>
83394
83395         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83396         when either N or S is zero.
83397
83398 2005-06-16  Derek Price  <derek@ximbiot.com>
83399
83400         * m4/bison.m4: Declare YACC & YFLAGS precious.
83401
83402 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83403
83404         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83405         multibyte string or pattern, fall back on unibyte matching.
83406         Problem reported by James Youngman.
83407
83408 2005-06-08  Bruno Haible  <bruno@clisp.org>
83409
83410         * modules/csharpcomp: New file.
83411         * MODULES.html.sh (C#): Add csharpcomp.
83412
83413 2005-06-08  Bruno Haible  <bruno@clisp.org>
83414
83415         * m4/csharpcomp.m4: New file, from GNU gettext.
83416
83417 2005-06-08  Bruno Haible  <bruno@clisp.org>
83418
83419         * lib/csharpcomp.h: New file, from GNU gettext.
83420         * lib/csharpcomp.c: New file, from GNU gettext.
83421         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83422
83423 2005-06-08  Bruno Haible  <bruno@clisp.org>
83424
83425         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83426         warning on mingw.
83427
83428 2005-06-07  Derek Price  <derek@ximbiot.com>
83429
83430         Sync from CVS.
83431         * lib/glob_.h: Indent nested #ifdef.
83432
83433 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83434
83435         Sync from coreutils.
83436         Use "file name" when talking about file names, instead of "filename"
83437         or "path", as per the GNU coding standards.
83438         * lib/mkdir-p.c: Renamed from makepath.c.
83439         (make_dir_parents): Renamed from make_path.  All callers changed.
83440         * lib/mkdir-p.h: Likewise.  All includers changed.
83441         * lib/filenamecat.c: Renamed from path-concat.c.
83442         (file_name_concat): Renamed from path_concat.  All callers changed.
83443         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83444         * lib/filenamecat.h: Likewise.  All includers changed.
83445         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83446         in comments or local variable names.
83447         * lib/basename.c: Likewise.
83448         * lib/canonicalize.c, canonicalize.h: Likewise.
83449         * lib/dirname.c, dirname.h: Likewise.
83450         * lib/euidaccess.c: Likewise.
83451         * lib/exclude.c: Likewise
83452         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83453         * lib/fsusage.c, fsuage.h: Likewise.
83454         * lib/fts.c, fts_.h: Likewise.
83455         * lib/getcwd.c: Likewise.
83456         * lib/getloadavg.c: Likewise.
83457         * lib/mkstemp.c: Likewise.
83458         * lib/mountlist.c, mountlist.h: Likewise.
83459         * lib/openat.c, openat.h: Likewise.
83460         * lib/readlink-stub.c: Likewise.
83461         * lib/readutmp.c, readutmp.h: Likewise.
83462         * lib/rename.c: Likewise.
83463         * lib/rmdir.c: Likewise.
83464         * lib/same.c: Likewise.
83465         * lib/savedir.c: Likewise.
83466         * lib/stripslash.c: Likewise.
83467         * lib/tempname.c: Likewise.
83468         * lib/xreadlink.c: Likewise.
83469         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83470         All uses changed.
83471         * lib/exclude.h: Likewise.
83472
83473         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83474         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83475         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83476         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83477         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83478         files have been getting away with it for years (MORE/BSD 4.3
83479         is extinct now).
83480         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83481         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83482
83483         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83484         Define to 256, not 255, as per modern POSIX.
83485
83486 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83487
83488         Sync from coreutils.
83489         Use "file name" when talking about file names, instead of "filename"
83490         or "path", as per the GNU coding standards.
83491         * MODULES.html.sh: mkdir-p renamed from makepath.
83492         filenamecat renamed from path-concat.
83493         * modules/filenamecat: Renamed from modules/path-concat.
83494         (Files): filenamecat.h and filenamecat.c renamed from
83495         path-concat.h and path-concat.c.
83496         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83497         (Include): filenamecat.h, not path-concat.h.
83498         * modules/mkdir-p: Renamed from modules/makepath.
83499         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83500         makepath.c.
83501         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83502         (Include): mkdir-p.h, not makepath.h.
83503
83504 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83505
83506         Sync from coreutils.
83507         * m4/mkdir-p.m4: Renamed from makepath.m4.
83508         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83509         Rename files from makepath.c to mkdir-p.c, and from
83510         makepath.h to mkdir-p.h.
83511         * m4/filenamecat.m4: Renamed from path-concat.m4.
83512         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83513         Rename files from path-concat.c to filenamecat.c,
83514         and from path-concat.h to filenamecat.h.
83515         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83516         "file name" in local variables or comments.
83517         * m4/rename.m4: Likewise.
83518
83519 2005-06-01  Bruno Haible  <bruno@clisp.org>
83520
83521         * modules/csharpexec: New file.
83522         * MODULES.html.sh (C#): New section.
83523
83524 2005-06-01  Bruno Haible  <bruno@clisp.org>
83525
83526         * m4/csharp.m4: New file, from GNU gettext.
83527         * m4/csharpexec.m4: New file, from GNU gettext.
83528
83529 2005-06-01  Bruno Haible  <bruno@clisp.org>
83530
83531         * lib/csharpexec.h: New file, from GNU gettext.
83532         * lib/csharpexec.c: New file, from GNU gettext.
83533         * lib/csharpexec.sh.in: New file, from GNU gettext.
83534
83535 2005-05-31  Derek Price  <derek@ximbiot.com>
83536             Paul Eggert  <eggert@cs.ucla.edu>
83537
83538         Sync from cvs.
83539         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83540
83541 2005-05-31  Derek Price  <derek@ximbiot.com>
83542             Paul Eggert  <eggert@cs.ucla.edu>
83543
83544         Sync from cvs.
83545         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83546
83547 2005-05-29  Derek Price  <derek@ximbiot.com>
83548
83549         * config/srclist.txt (glob_.h, glob.c): Add these files.
83550
83551 2005-05-29  Derek Price  <derek@ximbiot.com>
83552
83553         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83554         * modules/glob: New file.
83555         * modules/getlogin_r: Add link to POSIX spec in description.
83556
83557 2005-05-29  Derek Price  <derek@ximbiot.com>
83558             Paul Eggert  <eggert@cs.ucla.edu>
83559
83560         * m4/glob.m4: New file.
83561
83562 2005-05-29  Derek Price  <derek@ximbiot.com>
83563             Paul Eggert  <eggert@cs.ucla.edu>
83564
83565         * lib/glob_.h, lib/glob.c: New files.
83566
83567 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83568
83569         * modules/fts (Files): Remove m4/inttypes-pri.m4.
83570         * modules/fts-lgpl (Depends-on): Remove gettext.
83571
83572 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83573
83574         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
83575         and don't require gt_INTTYPES_PRI.
83576
83577 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83578
83579         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
83580
83581         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
83582         the configuration hassle isn't worth it.
83583         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
83584         (LONGEST_MODIFIER, PRIuMAX): Remove.
83585
83586 2005-05-27  Bruno Haible  <bruno@clisp.org>
83587
83588         * lib/getlogin_r.h: Remove second include of <stddef.h>.
83589
83590 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
83591
83592         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
83593         _POSIX_PTHREAD_SEMANTICS for Solaris.
83594
83595 2005-05-25  Derek Price  <derek@ximbiot.com>
83596
83597         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
83598
83599 2005-05-25  Derek Price  <derek@ximbiot.com>
83600             Paul Eggert  <eggert@cs.ucla.edu>
83601
83602         * modules/getlogin_r, m4/getlogin_r.m4: New files.
83603         * lib/getlogin_r.c, getlogin_r.h: New files.
83604
83605 2005-05-25  Bruno Haible  <bruno@clisp.org>
83606             Derek Price  <derek@ximbiot.com>
83607
83608         * lib/getlogin_r.h: Simplify API documentation.
83609
83610 2005-05-23  Derek Price  <derek@ximbiot.com>
83611
83612         * modules/minmax (Files): Add m4/minmax.m4.
83613         (configure.ac): Add gl_MINMAX.
83614
83615 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
83616
83617         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
83618         so that unistd-safer.h (GPL'ed code) need not be included.
83619
83620 2005-05-22  Bruno Haible  <bruno@clisp.org>
83621
83622         * m4/minmax.m4: New file.
83623         Based on a patch by Derek Price <derek@ximbiot.com>.
83624
83625 2005-05-22  Bruno Haible  <bruno@clisp.org>
83626
83627         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
83628         (INT64_MIN): Fix definition.
83629         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
83630
83631         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
83632         NEED_SIGNED_INT_TYPES.
83633
83634         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
83635         HAVE_SYSTEM_INTTYPES.
83636
83637 2005-05-22  Bruno Haible  <bruno@clisp.org>
83638
83639         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
83640         Also include <sys/param.h> if it defines MIN, MAX.
83641         Based on a patch by Derek Price <derek@ximbiot.com>.
83642
83643 2005-05-21  Jim Meyering  <jim@meyering.net>
83644
83645         * modules/fts (Files): Add m4/inttypes-pri.m4.
83646         (Depends-on): Add lstat and remove gettext.  Alphabetize.
83647
83648 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83649
83650         New fts module.
83651         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
83652         (setup_dir, free_dir): New functions.
83653         (enter_dir, leave_dir): Define trivial
83654         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
83655         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
83656         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
83657         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
83658         Move to fts-cycle.c.
83659         (fts_open): Use setup_dir.
83660         (fts_close): Use free_dir.
83661         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
83662         This adds a label and some gotos, but the alternatives were messier.
83663         Check for memory allocation failure when entering a dir.
83664         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
83665         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
83666         (FTS): New member fts_cycle, that is a union that contains the
83667         old active_dir_ht and cycle_state.  All uses changed to mention
83668         fts_cycle.ht and fts_cycle.state.
83669         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
83670         fts.c, with the following changes:
83671         (setup_dir, free_dir): New functions.
83672         (enter_dir): Now returns bool.  Return true if successful, false
83673         if memory exhausted.  All callers changed.
83674         Do not bother partly cleaning up on
83675         memory allocation failure; that is free_dir's job.
83676         However, free ad if hash_insert fails, to avoid memory leak.
83677         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
83678         fts->fts_options to see which union member to use.
83679
83680 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83681
83682         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
83683         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
83684
83685 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83686
83687         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
83688
83689 2005-05-20  Jim Meyering  <jim@meyering.net>
83690
83691         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
83692         Now a macro, to pacify GCC.
83693
83694 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83695
83696         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
83697         of -1.
83698
83699 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83700
83701         * lib/chown.c (rpl_chown): Return -1 on failure.
83702
83703 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83704
83705         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
83706         Don't check for stddef.h.
83707         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
83708         don't use its results.
83709         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
83710         since we include them unconditionally.  Don't require
83711         AM_STDBOOL_H, since stdbool is a prerequisite.
83712         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
83713         since we assume C89 or better.
83714         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
83715         as we don't use their results.
83716         Don't check for fchdir, memmove, memset, strrchr, as we use
83717         them unconditionally.
83718         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
83719         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
83720
83721 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83722
83723         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
83724         Include <stddef.h> unconditionally, since we assume C89 now.
83725         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
83726         * lib/fts.c: Include fts_.h first, to check interface.
83727         Do not include intprops.h; no longer needed.
83728         Include cycle-check.h and hash.h, since fts_.h no longer does.
83729         Remove unnecessary casts of closedir to void.
83730         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
83731         decide whether to decrement nlinks.
83732         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
83733         (FTS): Use struct hash_table * instead of Hash_table, so that
83734         we no longer need to include hash.h here.
83735
83736 2005-05-18  Jim Meyering  <jim@meyering.net>
83737
83738         * modules/dirfd (License): Change to LGPL.  Most of the code
83739         is already in the public domain.
83740
83741 2005-05-18  Jim Meyering  <jim@meyering.net>
83742
83743         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
83744         Reported by Yoann Vandoorselaere.
83745
83746 2005-05-17  Jim Meyering  <jim@meyering.net>
83747
83748         * m4/fts.m4: New file, from coreutils.
83749
83750 2005-05-17  Jim Meyering  <jim@meyering.net>
83751
83752         * lib/fts.c, lib/fts_.h: New files, from coreutils.
83753
83754 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83755
83756         Sync from coreutils.
83757         * m4/unlinkdir.m4: New file.
83758
83759 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83760
83761         Sync from coreutils.
83762         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
83763         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
83764         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
83765         White space changes only.
83766         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83767         special.
83768         * lib/yesno.c: Include getline.h, not ctype.h.
83769         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83770         Use getline to remove arbitrary restriction on response length.
83771
83772 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83773
83774         * config/srclist-update: Spell out "Street" in FSF postal
83775         mail address; this is the style the FSF seems to prefer.
83776
83777         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83778         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83779         this updates FSF postal mail address.
83780
83781         Sync from coreutils.
83782         * modules/unlinkdir: New file.
83783         * modules/yesno (Depends-on): Add getline.
83784         * MODULES.html.sh (File system functions): Add unlinkdir.
83785
83786 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83787
83788         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83789         lib/strsep.h:
83790         Change the initial comment to refer to GPL, not LGPL.
83791         gnulib-tool will change it to LGPL as needed.
83792
83793         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83794         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83795         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83796         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83797         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83798         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83799         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83800         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83801         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83802         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83803         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83804         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83805         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83806         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83807         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83808         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83809         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83810         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83811         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83812         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83813         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83814         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83815         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83816         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83817         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83818         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83819         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83820         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83821         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83822         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83823         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83824         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83825         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83826         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83827         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83828         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83829         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83830         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83831         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83832         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83833         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83834         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83835         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83836         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83837         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83838         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83839         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83840         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83841         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83842         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83843         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83844         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83845         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83846         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83847         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83848         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83849         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83850         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83851         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83852         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83853         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83854         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83855         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83856         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83857         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83858         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83859         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83860         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83861         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83862         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83863         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83864         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83865         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83866         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83867         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83868         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83869         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83870         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83871         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83872         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83873         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83874         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83875         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83876         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83877         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83878         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83879         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83880         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83881         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83882         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83883         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83884         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83885         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83886         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83887         lib/yesno.c, lib/yesno.h:
83888         Update FSF postal mail address.
83889
83890 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83891
83892         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83893         tests/test-memmem.c, tests/test-stpncpy.c:
83894         Update FSF postal mail address.
83895
83896 2005-05-13  Bruno Haible  <bruno@clisp.org>
83897
83898         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83899         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83900         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83901         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83902         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83903         Add support for 64-bit integers in the MSVC compiler.
83904
83905 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83906
83907         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83908
83909 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83910
83911         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83912
83913 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83914
83915         * doc/getdate.texi (General date syntax): Don't say that date
83916         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83917         Problem reported by Nic Ferrier.
83918
83919 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83920
83921         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83922         specified in ai_socktype. Fix invalid ai_protocol
83923         check. ai_protocol is usually set to 0 or depending on
83924         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83925         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83926         ai_socktype / ai_protocol in the returned addrinfo structure.
83927
83928 2005-05-10  Simon Josefsson  <jas@extundo.com>
83929
83930         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83931         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83932
83933 2005-05-10  Karl Berry  <karl@gnu.org>
83934
83935         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83936         (from http://www.gnu.org/licenses).
83937         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83938         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83939         fdl.texi suffices.
83940
83941 2005-05-10  Karl Berry  <karl@gnu.org>
83942
83943         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83944         (COPYING.DOC): remove.
83945
83946         * config/srclist-update: new FSF address.
83947
83948 2005-05-10  Derek Price  <derek@ximbiot.com>
83949
83950         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83951         possible.
83952
83953 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83954             Bruno Haible  <bruno@clisp.org>
83955
83956         * modules/inet_ntop: New file.
83957         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83958         inet_ntop.
83959
83960 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83961             Bruno Haible  <bruno@clisp.org>
83962
83963         * m4/inet_ntop.m4: New file.
83964
83965 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83966             Bruno Haible  <bruno@clisp.org>
83967
83968         * lib/inet_ntop.h: New file.
83969         * lib/inet_ntop.c: New file, from glibc with modifications.
83970
83971 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83972
83973         * modules/time_r (License): Change to LGPL.
83974         * modules/extensions (License): Change to LGPL.  Actually,
83975         the license is more permissive than that, but currently gnulib-tool
83976         doesn't know how to handle more-permissive licenses.
83977
83978         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83979         Problem reported by Dave Love.
83980
83981 2005-05-08  Jim Meyering  <jim@meyering.net>
83982
83983         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83984         blank.
83985
83986 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83987
83988         * modules/argmatch (Depends-on): Add stdbool.
83989         * modules/backupfile (Depends-on): Likewise.
83990         * modules/chdir-long (Depends-on): Likewise.
83991         * modules/closeout (Depends-on): Likewise.
83992         * modules/cycle-check (Depends-on): Likewise.
83993         * modules/dirname (Depends-on): Likewise.
83994         * modules/fnmatch (Depends-on): Likewise.
83995         * modules/fsusage (Depends-on): Likewise.
83996         * modules/fwriteerror (Depends-on): Likewise.
83997         * modules/getcwd (Depends-on): Likewise.
83998         * modules/getloadavg (Depends-on): Likewise.
83999         * modules/hard-locale (Depends-on): Likewise.
84000         * modules/makepath (Depends-on): Likewise.
84001         * modules/mountlist (Depends-on): Likewise.
84002         * modules/nanosleep (Depends-on): Likewise.
84003         * modules/posixtm (Depends-on): Likewise.
84004         * modules/quotearg (Depends-on): Likewise.
84005         * modules/readtokens (Depends-on): Likewise.
84006         * modules/readtokens0 (Depends-on): Likewise.
84007         * modules/readutmp (Depends-on): Likewise.
84008         * modules/save-cwd (Depends-on): Likewise.
84009         * modules/strftime (Depends-on): Likewise.
84010         * modules/userspec (Depends-on): Likewise.
84011         * modules/utimecmp (Depends-on): Likewise.
84012         * modules/xgetcwd (Depends-on): Likewise.
84013         * modules/xnanosleep (Depends-on): Likewise.
84014         * modules/xstrtod (Depends-on): Likewise.
84015         * modules/yesno (Depends-on): Likewise.
84016
84017 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84018
84019         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84020         needless checks.
84021
84022 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84023
84024         Merge from coreutils.  Among other things,
84025         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84026         * lib/fd-safer.c: New file.
84027         * lib/fcntl-safer.h, open-safer.c: Remove.
84028         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84029         * lib/dup-safer.c: Include unistd-safer.h first.
84030         Don't include errno.h.
84031         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84032         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84033         * lib/file-type.c: Rely on file-type.h change.
84034         * lib/getloadavg.c: Include unistd-safer.h.
84035         (getloadavg): Use safer open.
84036         * lib/getusershell.c: Include "stdio-safer.h".
84037         (getusershell): Use safer fopen.
84038         * lib/long-options.c (long_options): Use NULL rather than 0.
84039         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84040         'free'.
84041         * lib/modechange.c: Likewise.
84042         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84043         (MODE_DONE): New constant.
84044         (struct mode_change): Remove 'next' member.
84045         (make_node_op_equals): New function; like the old one of the
84046         same name, except it allocates an array.
84047         (mode_compile, mode_create_from_ref): Use it.
84048         (mode_compile): Allocate result as an array, not a linked list.
84049         Parse octal string ourself, so that we catch mistakes like "+0".
84050         (mode_adjust): Arg is an array, not a linked list.
84051         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84052         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84053         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84054         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84055         Remove.  This is now stat-macros.h's job.
84056         (talloc): Remove.  All callers replaced by xalloc, so that
84057         our invokers don't have to worry about reporting memory failures.
84058         (make_node_op_equals): Remove.
84059         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84060         New constants.
84061         (struct mode_change): Moved here from modechange.h.
84062         (mode_append_entry): Remove.
84063         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84064         apps to have incorrect behavior.  Use simpler algorithm for head
84065         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84066         Detect more invalid usages rather than having somewhat-random behavior.
84067         Don't insert an "a=" action, as that leads to incorrect behavior.
84068         (mode_compile, mode_create_from_ref): Return NULL on error instead
84069         of an enum, since now there's only one way to have an error.  All
84070         callers changed.
84071         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84072         at the correct time.  Simplify calculation of "+u" and its ilk.
84073         Don't mishandle "+X".
84074         (mode_free): Remove "register" and localize decls.
84075         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84076         (struct mode_change): Move to modechange.c; callers don't
84077         need to see this stuff.
84078         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84079         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84080         (mode_change, mode_adjust): Reflect the new signatures noted above.
84081         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84082         that might redefine system include files.
84083         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84084         (my_usleep): Use NULL rather than (void *) 0.
84085         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84086         Use siginterrupt to specify that system calls should be interrupted.
84087         (rpl_nanosleep): Move initialization of suspended closer to call of
84088         my_usleep.
84089         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84090         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84091         (desirable_utmp_entry): New function.
84092         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84093         using x2nrealloc, to simplify logic.
84094         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84095         size calculation.  Do not assume utmp file is a regular file.
84096         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84097         (READ_UTMP_CHECK_PIDS): New constant.
84098         * lib/save-cwd.c: Include unistd-safer.h.
84099         (save_cwd): Use fd_safer.
84100         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84101         [!_LIBC] Include "stat-macros.h" instead.
84102         * lib/unistd-safer.h (fd_safer): New decl.
84103
84104 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84105
84106         * modules/getloadavg (Depends-on): Add unistd-safer.
84107         * modules/getusershell (Depends-on): Add stdio-safer.
84108         * modules/lstat (Depends-on): Remove xalloc.
84109         * modules/mkstemp (Depends-on): Add stat-macros.
84110         * modules/modechange (Depends-on): Remove xstrtol.
84111         Add stat-macros, xalloc.
84112         * modules/save-cwd (Depends-on): Add unistd-safer.
84113         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84114         * modules/unistd-safer (Files): Add lib/fd-safer.c
84115         (Makefile.am): Remove lib_SOURCES.
84116
84117         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84118         Remove fcntl-safer; unistd-safer supersedes it.
84119
84120 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84121
84122         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84123         AC_HEADER_STAT.
84124         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84125         (gl_PREREQ_CHOWN): Remove.
84126         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84127         it.  Don't require AC_HEADER_STAT.
84128         (gl_PREREQ_LSTAT): Remove.
84129         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84130         Don't require AC_HEADER_STAT.
84131         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84132         (gl_PREREQ_RMDIR): Remove.
84133         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84134         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84135         the stat-macros module a prerequisite.
84136         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84137         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84138         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84139         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84140         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84141         variable names.
84142         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84143         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84144         variable prefixes.
84145         * m4/fcntl-safer.m4: Remove.
84146         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84147         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84148         Invoke gl_PREREQ_FD_SAFER.
84149         (gl_PREREQ_FD_SAFER): New macro.
84150         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84151         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84152         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84153         Remove duplicate call to AC_LIBOBJ(readutmp).
84154         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84155
84156         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84157         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84158
84159 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84160
84161         * MODULES.html.sh (Misc): Add byteswap.
84162
84163 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84164
84165         * modules/getcwd (Depends-on): Add extensions.
84166         * modules/openat (Depends-on): Likewise.
84167
84168 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84169
84170         * modules/byteswap: New file.
84171
84172 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84173
84174         * m4/byteswap.m4: New file.
84175
84176 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84177
84178         * lib/byteswap_.h: New file.
84179
84180 2005-04-25  Karl Berry  <karl@gnu.org>
84181
84182         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84183
84184 2005-04-25  Albert Chin  <china@thewrittenword.com>
84185
84186         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84187         Toolkit C bug.
84188
84189 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84190
84191         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84192         (func_ln_if_changed): Remove forcibly for no error message
84193         in case file does not exist.
84194
84195 2005-04-19  Simon Josefsson  <jas@extundo.com>
84196
84197         * gnulib-tool (Options): Make --symlink mean --symbolic.
84198
84199 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84200
84201         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84202
84203 2005-04-16  Simon Josefsson  <jas@extundo.com>
84204
84205         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84206
84207 2005-04-15  Simon Josefsson  <jas@extundo.com>
84208
84209         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84210
84211 2005-04-15  Simon Josefsson  <jas@extundo.com>
84212
84213         * gnulib-tool: Rename --symlink to --symbolic.
84214
84215 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84216
84217         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84218         symbolic links to files instead of copying/moving.  Add --aux-dir,
84219         specifying directory relative --dir where auxiliary build tools
84220         are placed.
84221
84222 2005-04-14  Bruno Haible  <bruno@clisp.org>
84223
84224         * modules/allocsa (License): Change to LGPL.
84225         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84226
84227 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84228
84229         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84230         that "UTC +1 second" continues to work.  Problem reported
84231         by Dmitry V. Levin.
84232         (relunit_snumber): New rule.
84233         (relunit): Use it.
84234
84235 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
84236
84237         * lib/getdate.y (universal_time_zone_table): New constant.
84238         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
84239         universal_time_zone_table.
84240         (lookup_zone): Prefer universal_time_zone_table to
84241         local_time_zone_table, so that "GMT" time stamps are allowed in
84242         London during the summer.  Problem reported by Ian Abbott.
84243
84244 2005-04-12  Jim Meyering  <jim@meyering.net>
84245
84246         * lib/human.c (humblock): Set *options even when returning due to
84247         xstrtoumax conversion failure.  Thanks to a used-uninitialized
84248         warning from gcc-4.
84249
84250 2005-04-09  Jim Meyering  <jim@meyering.net>
84251
84252         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
84253         -Wuninitialized: initialize tm0.tm_year.
84254
84255 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84256
84257         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84258         count, since there's no maximum.  All uses changed.
84259         Add member dsts_seen.
84260         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84261         not being INT_MAX.
84262         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84263         Use pc_rels_seen to decide whether a date is absolute.
84264
84265         * lib/getdate.y (number): Don't overwrite year.
84266         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84267         check.
84268
84269 2005-04-02  Simon Josefsson  <jas@extundo.com>
84270
84271         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84272         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84273
84274 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84275
84276         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84277         where no absolute path name can be longer than PATH_MAX.
84278
84279 2005-03-27  Jim Meyering  <jim@meyering.net>
84280
84281         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84282
84283 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84284
84285         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84286         "one's complement" -> "ones' complement" in comment, as per Knuth.
84287         "value of type" -> "type or expression" in comment.
84288         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84289
84290 2005-03-26  Jim Meyering  <jim@meyering.net>
84291
84292         Comment nits.
84293         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84294         Correct typos: s/or/of/.
84295
84296 2005-03-26  Jim Meyering  <jim@meyering.net>
84297
84298         * modules/check-include-files: Move to ../ and rename to...
84299         * check-module: ...this.
84300
84301 2005-03-25  Jim Meyering  <jim@meyering.net>
84302
84303         * modules/xvasprintf (Files): Add xalloc.h.
84304
84305 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84306
84307         * modules/gettext (Files): config/config.rpath ->
84308         build-aux/config.rpath
84309         * modules/iconv (Files): Likewise.
84310         Problem reported by Oskar Liljeblad.
84311
84312 2005-03-23  Jim Meyering  <jim@meyering.net>
84313
84314         * modules/check-include-files: New script to check for
84315         missing dependencies, multiple includes, etc.
84316
84317         * modules/c-strtold (Depends-on): Add xalloc.
84318         * modules/c-strtod (Depends-on): Add xalloc.
84319         * modules/hash (Depends-on): Add xalloc.
84320         (Files): Remove lib/xalloc.h.
84321
84322         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84323         * modules/userspec (Files): Add lib/inttostr.h.
84324
84325 2005-03-23  Jim Meyering  <jim@meyering.net>
84326
84327         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84328
84329 2005-03-22  Jim Meyering  <jim@meyering.net>
84330
84331         * modules/stat-macros: New module.
84332         * modules/canonicalize, modules/euidaccess, modules/file-type,
84333         * modules/filemode, modules/lchown, modules/makepath,
84334         * modules/rmdir, modules/stat: Depend on new stat-macros module
84335         rather than listing lib/stat-macros.h manually.
84336         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84337
84338 2005-03-22  Jim Meyering  <jim@meyering.net>
84339
84340         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84341
84342 2005-03-22  Bruno Haible  <bruno@clisp.org>
84343
84344         * config/srclist.txt: Replace target directory 'config' with
84345         'build-aux'.
84346         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84347         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84348         ../build-aux/.
84349
84350 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84351
84352         * modules/chdir-long (Depends-on): Add mempcpy.
84353
84354         * modules/acl, modules/backupfile, modules/c-strtod,
84355         modules/c-strtold, modules/canon-host, modules/canonicalize,
84356         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84357         modules/exclude, modules/exitfail, modules/file-type,
84358         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84359         modules/getdate, modules/getline, modules/getpagesize,
84360         modules/getpass, modules/getugroups, modules/group-member,
84361         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84362         modules/inttostr, modules/long-options, modules/makepath,
84363         modules/md5, modules/memcasecmp, modules/memcoll,
84364         modules/modechange, modules/mountlist, modules/path-concat,
84365         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84366         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84367         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84368         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84369         modules/strftime, modules/strndup, modules/strverscmp,
84370         modules/timespec, modules/unlocked-io, modules/userspec,
84371         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84372         modules/yesno:
84373         Remove lib_SOURCES line from Makefile.am section, as this is now
84374         done automatically by the corresponding Autoconf macro.
84375
84376 2005-03-21  Jim Meyering  <jim@meyering.net>
84377
84378         Changes imported from coreutils.
84379
84380         * lib/cycle-check.c: Don't include xalloc.h.
84381
84382         * lib/path-concat.c: Don't include assert.h.
84383         (path_concat): Remove assertion that would have triggered
84384         for ABASE starting with more than one slash.
84385         Reported by Andreas Schwab.
84386
84387         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84388         properly when ABASE is an absolute file name.
84389         Correct the description of this function.
84390         Include <assert.h>.
84391         Add an assertion and a test driver.
84392         This fixes a bug introduced on 2004-07-02.
84393         Andreas Schwab reported the resulting failure of cp --parents:
84394         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84395
84396 2005-03-21  Jim Meyering  <jim@meyering.net>
84397
84398         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84399         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84400
84401 2005-03-21  Jim Meyering  <jim@meyering.net>
84402         and  Paul Eggert  <eggert@cs.ucla.edu>
84403
84404         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84405         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84406         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84407         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84408         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84409         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84410         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84411         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84412         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84413         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84414         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84415         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84416         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84417         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84418         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84419         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84420         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84421         for these modules.
84422
84423 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84424
84425         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84426         (which shouldn't happen), generate nothing instead of returning 0
84427         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84428
84429 2005-03-16  Bruno Haible  <bruno@clisp.org>
84430
84431         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84432         HAVE_LONGLONG_64BIT.
84433
84434 2005-03-16  Bruno Haible  <bruno@clisp.org>
84435
84436         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84437         HAVE_LONGLONG_64BIT.
84438
84439 2005-03-16  Bruno Haible  <bruno@clisp.org>
84440
84441         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84442         HAVE_LONGLONG_64BIT.
84443
84444 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84445
84446         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84447         reliably distinguish strftime failure from empty output on POSIX
84448         hosts.
84449
84450 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84451
84452         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84453         (iconv_string): Don't guess a size-zero buffer, as that might cause
84454         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84455         result would be 'too large', where 'too large' is (heuristically)
84456         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84457         overflow concerns.  This will prevent some unwanted malloc failures
84458         when the inputs are very large.
84459
84460 2005-03-15  Karl Berry  <karl@gnu.org>
84461
84462         * config/srclist.txt (config.rpath): from gettext.
84463         * config/config.rpath: update.
84464
84465 2005-03-15  Bruno Haible  <bruno@clisp.org>
84466
84467         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84468         to 'negate'.
84469
84470         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84471         variable.
84472
84473         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84474         results.
84475
84476 2005-03-14  Simon Josefsson  <jas@extundo.com>
84477
84478         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84479         <fx@gnu.org>.
84480
84481 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84482
84483         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84484         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84485         intprops.h.
84486         * lib/strtol.c: Likewise.
84487
84488 2005-03-14  Jim Meyering  <jim@meyering.net>
84489
84490         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84491         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84492         to be nonzero so that we (and caller) can detect the difference
84493         between a valid zero-length expansion and an error return, even
84494         when the underlying strftime fails before writing anything into
84495         that location.
84496
84497 2005-03-14  Bruno Haible  <bruno@clisp.org>
84498
84499         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84500         Update from GNU gettext 0.14.3.
84501
84502 2005-03-10  Jim Meyering  <jim@meyering.net>
84503
84504         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84505
84506 2005-03-10  Jim Meyering  <jim@meyering.net>
84507
84508         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84509         so that this module works on systems without fchdir.
84510
84511 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84512
84513         Factor int-properties macros into a single file, except for
84514         glibc-related files.
84515         * lib/intprops.h: New file.
84516         * lib/getloadavg.c: Include it instead of limits.h.
84517         (INT_STRLEN_BOUND): Remove.
84518         * lib/human.c: Include intprops.h.
84519         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84520         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84521         302/1000.
84522         * lib/inttostr.h: Include intprops.h instead of limits.h.
84523         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84524         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84525         for consistency with intprops.h.
84526         (time_t_is_integer, twos_complement_arithmetic): Use them.
84527         * lib/sig2str.h: Include <signal.h>, intprops.h.
84528         (INT_STRLEN_BOUND): Remove.
84529         * lib/strftime.c (TYPE_SIGNED): Remove.
84530         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84531         * lib/strtol.c: Adjust comments to match intprops.h.
84532         * lib/userspec.c: Include intprops.h.
84533         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84534         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84535         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84536         instead of rolling our own expressions.
84537         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84538
84539         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84540         instead of int.
84541         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84542         the right thing even if adding 1900 would overflow.  Similarly
84543         for tm_mon + 1 and tm_yday + 1.
84544         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84545         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84546         (DO_SIGNED_NUMBER): New macro.
84547         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84548
84549 2005-03-07  Bruno Haible  <bruno@clisp.org>
84550
84551         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84552
84553 2005-03-07  Bruno Haible  <bruno@clisp.org>
84554
84555         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84556
84557 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84558
84559         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84560         (func_import): Only replace files via --import when they have actually
84561         changed.
84562
84563 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84564
84565         * m4/mmap-anon.m4: New file.
84566         * m4/pagealign_alloc.m4: New file.
84567
84568 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84569             Bruno Haible  <bruno@clisp.org>
84570
84571         * modules/pagealign_alloc: New file.
84572         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
84573
84574 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84575             Bruno Haible  <bruno@clisp.org>
84576
84577         * lib/pagealign_alloc.h: New file.
84578         * lib/pagealign_alloc.c: New file.
84579
84580 2005-03-03  Bruno Haible  <bruno@clisp.org>
84581
84582         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
84583         Use an all-permissive copyright notice, recommended by RMS.
84584
84585 2005-03-02  Bruno Haible  <bruno@clisp.org>
84586
84587         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
84588         of AIX, the replacement has to be done only after <string.h> is
84589         included, therefore not in config.h. stpncpy.h does the replacement,
84590         and stpncpy.c uses it.
84591
84592 2005-03-02  Bruno Haible  <bruno@clisp.org>
84593
84594         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
84595         stpncpy.c uses it.
84596
84597 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84598
84599         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
84600         The workaround isn't strictly needed for POSIX conformance, and
84601         it's too much of a pain to configure and maintain.  We'll ask
84602         people to fix their kernels instead.
84603         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
84604         (NANOSLEEP_BUG_WORKAROUND): Remove.
84605         (xnanosleep): Remove the workaround.
84606
84607 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84608
84609         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
84610         Reported by Derek Price.
84611         (Include): Add "timespec.h".
84612
84613         * modules/xnanosleep (Depends-on): Remove gethrxtime.
84614
84615 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84616
84617         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
84618         to detect nanosleep bug.
84619
84620 2005-03-01  Bruno Haible  <bruno@clisp.org>
84621
84622         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
84623
84624 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
84625
84626         * modules/gethrxtime: New file.
84627         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
84628         (Depends-on): Add gethrxtime.
84629         (configure.ac): Add gl_XNANOSLEEP.
84630         (Makefile.am): Remove lib_SOURCES line.
84631
84632 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84633
84634         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
84635         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
84636
84637 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84638
84639         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
84640         * lib/timespec.h (gettime): Return void, since it always
84641         succeeds now.  All uses changed.
84642         * lib/gettime.c (gettime): Likewise.
84643         [HAVE_NANOTIME]: Prefer nanotime.
84644         Assume gettimeofday succeeds, as POSIX requires.
84645         Assime time () succeeds, since other code already does.
84646         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
84647         (timespec_subtract): Remove.
84648         (NANOSLEEP_BUG_WORKAROUND): New constant.
84649         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
84650         things considerably.  Use it only on GNU/Linux hosts, since the
84651         workaround shouldn't be needed elsewhere.
84652
84653 2005-02-24  Bruno Haible  <bruno@clisp.org>
84654
84655         * modules/gettext (Files): Add m4/glibc2.m4.
84656
84657 2005-02-24  Bruno Haible  <bruno@clisp.org>
84658
84659         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
84660         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
84661         * m4/progtest.m4:
84662         Update from GNU gettext 0.14.2.
84663         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
84664
84665 2005-02-24  Bruno Haible  <bruno@clisp.org>
84666
84667         * lib/localcharset.c: Update from GNU gettext 0.14.2.
84668         * lib/config.charset: Update from GNU gettext 0.14.2.
84669
84670 2005-02-24  Bruno Haible  <bruno@clisp.org>
84671
84672         * lib/gettext.h: Update from GNU gettext 0.14.2.
84673
84674 2005-02-23  Simon Josefsson  <jas@extundo.com>
84675
84676         * m4/iconvme.m4: New file.
84677
84678 2005-02-23  Jim Meyering  <jim@meyering.net>
84679
84680         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
84681         change.
84682         Thanks to Bruno Haible for catching it.
84683
84684 2005-02-22  Simon Josefsson  <jas@extundo.com>
84685
84686         * modules/iconvme: New file.
84687
84688         * MODULES.html.sh: Add iconvme.
84689
84690 2005-02-22  Simon Josefsson  <jas@extundo.com>
84691
84692         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
84693
84694 2005-02-22  Simon Josefsson  <jas@extundo.com>
84695
84696         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
84697
84698 2005-02-22  Jim Meyering  <jim@meyering.net>
84699
84700         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
84701         s/ifndef/ifdef/.
84702
84703 2005-02-20  Neil Conway  <neilc@samurai.com>
84704
84705         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
84706         returned by OSX/Darwin if the specified buffer is not large
84707         enough for the hostname.
84708
84709 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84710
84711         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
84712         pass it to _help, otherwise the latter coredumps trying to
84713         dereference state.root_argp.
84714
84715 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84716
84717         * modules/chdir-long (Depends-on): Add memrchr.
84718         * modules/memrchr (Files): Add lib/memrchr.h.
84719         (Include): "memrchr.h".
84720
84721 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84722
84723         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
84724
84725 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84726
84727         * lib/memrchr.h: New file.
84728         * lib/chdir-long.c: Include it.
84729         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
84730         Don't bother including stddef.h.
84731
84732 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
84733
84734         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
84735         inclusion.
84736         Include <sys/types.h>, for dev_t.
84737         (ME_DUMMY, ME_REMOTE): Move from here....
84738         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
84739         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
84740         Dmitry V. Levin.
84741         Include mountlist.h first, to test the interface.
84742
84743 2005-01-29  Bruno Haible  <bruno@clisp.org>
84744
84745         * lib/progname.c (program_name): Initialize.
84746         Needed when linking statically on MacOS X.
84747
84748 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84749
84750         Sync from coreutils.
84751         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
84752         (Depends-on): Add c-strtod.
84753         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
84754
84755 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84756
84757         Sync from coreutils.
84758         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
84759
84760         Remove files that are specific to coreutils.
84761         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
84762
84763 2005-01-28  Bruno Haible  <bruno@clisp.org>
84764
84765         * modules/javacomp: New file.
84766         * MODULES.html.sh (Java): Add javacomp.
84767
84768 2005-01-28  Bruno Haible  <bruno@clisp.org>
84769
84770         * m4/javacomp.m4: New file, from GNU gettext.
84771
84772 2005-01-28  Bruno Haible  <bruno@clisp.org>
84773
84774         * lib/javacomp.sh.in: New file, from GNU gettext.
84775         * lib/javacomp.h: New file, from GNU gettext.
84776         * lib/javacomp.c: New file, from GNU gettext.
84777
84778 2005-01-26  Simon Josefsson  <jas@extundo.com>
84779
84780         * lib/gai_strerror.c: Use GPL in header.
84781
84782 2005-01-26  Bruno Haible  <bruno@clisp.org>
84783
84784         * modules/javaexec: New file.
84785         * MODULES.html.sh (Java): Add javaexec.
84786
84787 2005-01-26  Bruno Haible  <bruno@clisp.org>
84788
84789         * m4/javaexec.m4: New file, from GNU gettext.
84790
84791 2005-01-26  Bruno Haible  <bruno@clisp.org>
84792
84793         * lib/javaexec.sh.in: New file, from GNU gettext.
84794         * lib/javaexec.h: New file, from GNU gettext.
84795         * lib/javaexec.c: New file, from GNU gettext.
84796
84797 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84798
84799         * modules/lchown (Depends-on): Remove lchown.h
84800
84801 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84802
84803         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84804         must be defined if the header file was not found, in order
84805         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84806
84807 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84808
84809         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84810         initializers for struct pentry_state.
84811         (__argp_error): Check return value of __asprintf
84812         (__argp_failure): Translate error message
84813
84814         * lib/argp-parse.c: Removed braces around the expansion of N_()
84815
84816 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84817
84818         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84819         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84820         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84821         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84822         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84823         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84824         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84825         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84826         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84827         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84828         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84829         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84830         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84831         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84832         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84833         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84834         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84835         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84836         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84837         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84838         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84839         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84840         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84841         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84842         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84843         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84844         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84845         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84846         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84847         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84848         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84849         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84850         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84851         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84852         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84853         Use an all-permissive copyright notice, recommended by RMS.
84854
84855 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84856
84857         * modules/chdir-long (Depends-on): Remove mempcpy.
84858
84859 2005-01-21  Jim Meyering  <jim@meyering.net>
84860
84861         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84862         same value as for Solaris 9.
84863
84864         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84865         component length.  This included changing the parameter to be
84866         of type `char *' rather than `char const *'.
84867         * lib/chdir-long.h (chdir_long): Update prototype.
84868
84869         * lib/openat.c (fdopendir, fstatat): New functions.
84870         * lib/openat.h: Include headers required for use of DIR and struct
84871         stat.
84872         [AT_SYMLINK_NOFOLLOW]: Define.
84873         (fdopendir, fstatat): Add prototypes.
84874
84875 2005-01-21  Bruno Haible  <bruno@clisp.org>
84876
84877         * modules/classpath: New file.
84878         * MODULES.html.sh (Java): Add classpath.
84879
84880 2005-01-21  Bruno Haible  <bruno@clisp.org>
84881
84882         * lib/classpath.h: New file, from GNU gettext.
84883         * lib/classpath.c: New file, from GNU gettext.
84884
84885 2005-01-20  Simon Josefsson  <jas@extundo.com>
84886
84887         * modules/version-etc-fsf: New file.
84888
84889 2005-01-20  Simon Josefsson  <jas@extundo.com>
84890
84891         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84892         * lib/version-etc.c: Remove version_etc_copyright.
84893         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84894         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84895
84896 2005-01-20  Simon Josefsson  <jas@extundo.com>
84897
84898         * lib/base64.h (isbase64): Add.
84899
84900         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84901         using a unsigned prototype, don't inline.
84902         (base64_decode): Use it.
84903
84904 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84905
84906         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84907         it.
84908
84909 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84910
84911         * lib/save-cwd.c (save_cwd): Remove code to support the case
84912         where fchdir is missing or flaky.
84913
84914 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84915
84916         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84917
84918 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84919
84920         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84921         AC_LIBSOURCES now does this.
84922         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84923         with new ullong_max module.
84924
84925 2005-01-19  Bruno Haible  <bruno@clisp.org>
84926
84927         * modules/sh-quote: New file.
84928         * MODULES.html.sh (Executing programs): Add sh-quote.
84929
84930 2005-01-19  Bruno Haible  <bruno@clisp.org>
84931
84932         * lib/sh-quote.h: New file, from GNU gettext.
84933         * lib/sh-quote.c: New file, from GNU gettext.
84934
84935 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84936
84937         Merge from coreutils.
84938         * m4/ullong_max.m4: New file.
84939         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84940         (gl_MACROS): Assume localeconv exists.
84941
84942 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84943
84944         Merge changes from coreutils, as described below in several
84945         changelogs dated today.
84946
84947         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84948         (O_DIRECTORY): Remove; not needed here, since "." must be
84949         a directory.  All uses removed.
84950         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84951         universal on Suns, and we also need to test for IRIX.
84952         Revamp code to use 'if' rather than '#if'.
84953         Avoid unnecessary comparison of cwd->desc to 0.
84954
84955         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84956         for known valid error numbers rather than observed invalid ones.
84957
84958 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84959
84960         * modules/ullong_max: New file.
84961
84962         * modules/chdir-long, modules/openat: New files.
84963         * modules/save-cwd (Depends-on): Depend on chdir-long.
84964         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84965
84966 2005-01-18  Jim Meyering  <jim@meyering.net>
84967
84968         Merge from coreutils.
84969         * m4/chdir-long.m4, m4/openat.m4: New files.
84970         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84971         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84972         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84973         is sane and DOES follow symlinks.  Besides, testing 20 different
84974         systems found no broken chown implementations.
84975         Prompted by a change in rsync's copy of this macro.
84976         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84977
84978         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84979
84980         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84981         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84982         NULL-means-set-to-current-time semantics.
84983         Remove temporary file immediately, rather than waiting
84984         for configure's at-exit trap code to do it.
84985
84986 2005-01-18  Jim Meyering  <jim@meyering.net>
84987
84988         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84989
84990         * lib/utimens.c (futimens): Account for the fact that futimes
84991         can also fail with errno == ENOSYS or errno == ENOENT.
84992         Patch from Dmitry V. Levin.
84993
84994         Change the name of the robust chdir function from chdir to chdir_long.
84995         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84996         (restore_cwd): Use chdir_long, not chdir.
84997         * lib/chdir-long.c: Renamed from chdir.c.
84998         * lib/chdir-long.h: Renamed from chdir.h.
84999         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85000         Hurd.
85001
85002 2005-01-18  Bruno Haible  <bruno@clisp.org>
85003
85004         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85005         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85006         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85007         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85008         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85009         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85010         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85011         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85012         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85013         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85014         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85015         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85016         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85017         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85018         Use an all-permissive copyright notice, recommended by RMS.
85019
85020 2005-01-18  Bob Proulx  <bob@proulx.com>
85021
85022         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85023         simplify offsetof() macro construct to avoid compile failure with
85024         native HP-UX 11.0 ANSI C compiler.
85025
85026 2005-01-17  Bruno Haible  <bruno@clisp.org>
85027
85028         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85029         redundant because stpncpy.m4 takes care of it.
85030
85031 2005-01-17  Bruno Haible  <bruno@clisp.org>
85032
85033         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85034
85035 2005-01-17  Bruno Haible  <bruno@clisp.org>
85036
85037         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85038         used.
85039
85040 2005-01-17  Bruno Haible  <bruno@clisp.org>
85041
85042         * lib/fwriteerror.h (fwriteerror): Change specification to include
85043         fclose.
85044         * lib/fwriteerror.c: Include <stdbool.h>.
85045         (fwriteerror): At the end, close the file stream. Record whether
85046         stdout was already closed.
85047
85048 2005-01-17  Bruno Haible  <bruno@clisp.org>
85049
85050         * lib/execute.c (environ): Declare if needed.
85051         * lib/pipe.c (environ): Likewise.
85052         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85053
85054 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85055
85056         * modules/argp: Depend on vsnprintf
85057
85058 2005-01-10  Jim Meyering  <jim@meyering.net>
85059
85060         * modules/closeout (Depends-on): Add atexit.
85061
85062 2005-01-06  Bruno Haible  <bruno@clisp.org>
85063
85064         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85065
85066 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85067
85068         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85069         definitions to be after all include files, to avoid collisions.
85070         Problem reported by Bob Proulx.
85071
85072 2005-01-04  Jim Meyering  <jim@meyering.net>
85073
85074         Changes imported from coreutils.
85075         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85076         as the mkstemp template, use a temporary directory and an
85077         8.3-friendly template to avoid trouble on systems like DJGPP.
85078         Reported by Juan M. Guerrero via Stepan Kasal.
85079         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85080         close. Remove the temporary directory right away, rather than waiting
85081         for configure's at-exit trap code to do it.
85082         Suggestion from Stepan Kasal.
85083
85084 2005-01-01  Simon Josefsson  <jas@extundo.com>
85085
85086         * gnulib-tool: Print #include directives when --import'ing.
85087
85088 2004-12-28  Simon Josefsson  <jas@extundo.com>
85089
85090         * tests/test-base64.c: Include required header files.  Remove
85091         unused variables.
85092
85093 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85094
85095         * modules/error (Depends-on): Remove gettext.
85096
85097 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85098
85099         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85100         not needed.  This removes a dependency on the gettext module.
85101         [defined _LIBC]: Do not include <libintl.h>; not needed.
85102
85103 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85104
85105         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85106         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85107
85108 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85109
85110         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85111         HAVE_DECL_STRTOLD.
85112
85113 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85114
85115         * modules/getdate (Depends-on): Remove alloca-opt.
85116
85117 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85118
85119         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85120
85121 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85122
85123         * lib/argp-parse.c: Include <stddef.h>.
85124         (alignof, alignto): New macros.
85125         (parser_init): Don't assume that void * is aligned sufficiently
85126         for struct option.
85127
85128         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85129         need to extend the stack.
85130         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85131         large.
85132
85133 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85134
85135         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85136
85137 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85138
85139         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85140         (2004-10-24) change.  Apparently this was a false alarm.
85141
85142         * modules/getdate: Depend on alloca-opt, not alloca.
85143
85144 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85145
85146         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85147         Remove now-obsolete comment about AIX.
85148         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85149         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85150         (YYMAXDEPTH): New macro.
85151
85152 2004-12-18  Simon Josefsson  <jas@extundo.com>
85153
85154         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85155
85156 2004-12-18  Bruno Haible  <bruno@clisp.org>
85157
85158         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85159
85160 2004-12-18  Bruno Haible  <bruno@clisp.org>
85161
85162         * lib/fatal-signal.c (fatal_signals): Make non-const.
85163         (init_fatal_signals): New function.
85164         (uninstall_handlers, install_handlers): Ignore signals that were set to
85165         SIG_IGN.
85166         (at_fatal_signal): Call init_fatal_signals.
85167         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85168         SIG_IGN.
85169         Reported by Paul Eggert.
85170
85171 2004-12-18  Bruno Haible  <bruno@clisp.org>
85172
85173         * doc/alloca.texi: New file.
85174         * doc/alloca-opt.texi: New file.
85175
85176 2004-12-17  Jim Meyering  <jim@meyering.net>
85177
85178         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85179         Otherwise, install-sh could exit with improper exit status when
85180         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85181
85182 2004-12-16  Simon Josefsson  <jas@extundo.com>
85183
85184         * tests/test-base64.c: Add license.
85185
85186 2004-12-15  Stepan Kasal  <address@hidden>
85187
85188         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85189
85190 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85191
85192         * modules/getcwd (Files): Add m4/d-ino.m4.
85193         Suggested by Mark D. Baushke.
85194
85195 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85196
85197         * lib/getdate.y (textint): New member "negative".
85198         (time_zone_hhmm): New function.
85199         Expect 14 shift-reduce conflicts, not 13.
85200         (o_colon_minutes): New rule.
85201         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85202         (yylex): Set the "negative" member of signed numbers.
85203
85204 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85205
85206         * doc/getdate.texi (Time of day items, Time zone items):
85207         Describe new formats +00:00, UTC+00:00.
85208
85209 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85210
85211         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85212         spurious "-l"s.  Problem reported by Stepan Kasal.
85213
85214 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85215
85216         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85217         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85218
85219 2004-12-04  Simon Josefsson  <jas@extundo.com>
85220
85221         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85222         Vandoorselaere <yoann@prelude-ids.org>.
85223
85224 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85225
85226         Changes imported from coreutils.
85227         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85228         exist.
85229         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85230
85231 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85232
85233         Changes imported from coreutils.
85234         * lib/hard-locale.c: Assume <locale.h> exists.
85235         Include "strdup.h".
85236         (GLIBC_VERSION): New macro.
85237         (hard_locale): Assume setlocale exists.
85238         Rewrite to avoid #ifdef.
85239         Use strdup rather than malloc + strcpy.
85240         * lib/human.c: Assume <locale.h> exists.
85241         (human_readable): Assume localeconv exists.
85242
85243 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85244
85245         * modules/hard-locale (Depends-on): Add strdup.
85246
85247 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
85248
85249         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
85250         convert T2, not T.  (Imported from libc.)
85251
85252 2004-11-30  Simon Josefsson  <jas@extundo.com>
85253
85254         * modules/restrict (License): Change to LGPL.
85255
85256 2004-11-30  Simon Josefsson  <jas@extundo.com>
85257
85258         * m4/restrict.m4: Add copyright and copying conditions.
85259
85260 2004-11-30  Simon Josefsson  <jas@extundo.com>
85261
85262         * m4/base64.m4: New file.
85263
85264 2004-11-30  Simon Josefsson  <jas@extundo.com>
85265
85266         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85267         base64.
85268
85269         * tests/test-base64.c: New file.
85270
85271         * modules/base64: New file.
85272
85273 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85274
85275         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85276         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85277
85278         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85279
85280 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85281
85282         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85283         (__getcwd.c): Don't restore errno; glibc doesn't.
85284         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85285         first, falling back to our code only if its results look suspicious.
85286         Ensure that the resulting buffer is only as large as necessary.
85287
85288         * lib/readutmp.c: Include readutmp.h first.
85289         Include <errno.h>, since readutmp.h no longer does that.
85290         * lib/readutmp.h: Don't include <errno.h>,
85291         <sys/param.h>, <time.h>; not needed to establish interface.
85292         (errno): Remove decl.
85293         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85294         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85295         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85296
85297 2004-11-28  Simon Josefsson  <jas@extundo.com>
85298
85299         * lib/base64.h, base64.c: New file.
85300
85301 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85302
85303         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85304
85305 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85306
85307         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85308         (Depends-on): Remove pathmax, same.  Add mempcpy.
85309         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85310         (Makefile.am): Append getcwd.h to lib_SOURCES.
85311         (Include): Add getcwd.h.
85312         (Maintainer): Change from Jim Meyering to "all, glibc",
85313         since getdate now uses intended-for-glibc code.
85314         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85315         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85316
85317 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85318
85319         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85320         HP's ANSI C compiler.
85321         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85322         Declaring int functions causes warnings on some modern systems and
85323         shouldn't be needed to compile on ancient ones.
85324         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85325         defined.
85326
85327         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85328         with the following changes.
85329         (__set_errno): Parenthesize properly.
85330         Include <stdbool.h>.
85331         (MIN, MAX, MATCHING_INO): New macros.
85332         (__getcwd): Define with prototype, not K&R form.
85333         Use heuristics to allocate default buffer on stack if possible.
85334         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85335         behavior, and to avoid the PATH_MAX limit when computing
85336         ../../../../...
85337         Use MATCHING_INO to compare inode number to file.
85338         Check for arithmetic overflow in size calculations.
85339         Fix bug in reallocation of dot array that caused getcwd to fail
85340         on directories nested deeper than 75.
85341         Be more careful about saving errno on error.
85342         Do not use realloc; use only free+malloc, as this is a bit
85343         more flexible and avoids a needless copy operation.
85344         Do not inspect st_dev and st_ino for symbolic links; POSIX
85345         doesn't specify the latter.
85346         Check for closedir errors.
85347         Avoid needless casts.
85348         Use "#ifdef weak_alias" around weak_alias, to be like other
85349         glibc code.
85350         The following changes to getcwd.c have effect only when used in
85351         gnulib; they have no effect inside glibc proper.
85352         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85353         as alloca isn't used.
85354         (alloca, __alloca): Likewise.
85355         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85356         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85357         unconditionally, as gnulib assumes C89 or better.
85358         Do not include <sys/param.h>.
85359         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85360         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85361         better.
85362         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85363         Include <dirent.h> in a way that is compatible with modern Autoconf.
85364         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85365         New macros, if not already defined.
85366         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85367         Use "_LIBC", not "defined _LIBC", for consistency.
85368         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85369         a mempcpy module.
85370         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85371         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85372         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85373         credit only to Jim Meyering and adjust the copyright dates.
85374         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85375         <stdlib.h>, <unistd.h>, "pathmax.h".
85376         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85377         (INITIAL_BUFFER_SIZE): Remove.
85378         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85379
85380 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85381
85382         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85383         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85384         Use the _ONCE methods, for efficiency.
85385         Check for fcntl.h.  In test program, include <errno.h>
85386         and <fcntl.h> if available.  Remove old K&R cruft from
85387         test program.  Check for common errors in GNU/Linux,
85388         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85389         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85390         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85391         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85392         name accordingly.
85393         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85394         accommodate new getcwd.c.
85395         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85396         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85397         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85398         that's all we need now.
85399
85400 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85401
85402         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85403         argp-parse.c depends on getopt internals, that means we should
85404         always use our getopt, to be on the safe side.
85405         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85406         order not to spoil the result of an eventual previous invocation
85407         of gl_GETOPT_SUBSTITUTE.
85408
85409 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85410
85411         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85412         redefinition warnings. To avoid them, include the defines
85413         in `#if !defined __need_getopt ... #endif'. The only place
85414         where __getopt_argv_const is used is in definitions
85415         of getopt_long and getopt_long_only below, which are as well
85416         protected by `#ifndef __need_getopt'.
85417         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85418         __need_getopt after including <stdio.h> and <unistd.h> These
85419         headers might have defined it.
85420
85421 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85422
85423         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85424
85425 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85426
85427         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85428         (futimens): New function, which uses futimes if available.
85429         (futimens, utimens): Support timespec==NULL, with same semantics
85430         as utime and utimens.
85431         * lib/utimens.h (futimens): New decl.
85432
85433 2004-11-23  Jim Meyering  <jim@meyering.net>
85434
85435         * lib/getopt_.h: Remove trailing blanks.
85436
85437 2004-11-23  Jim Meyering  <jim@meyering.net>
85438
85439         * lib/__fpending.c: Add comment.
85440
85441 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85442
85443         * modules/canonicalize (Depends-on): Add xreadlink.
85444         Problem reported by James Youngman.
85445
85446 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85447
85448         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85449         New macros.
85450         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85451         optopt): Use them instead of invoking ## directly; otherwise, the
85452         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85453
85454 2004-11-19  Bruno Haible  <bruno@clisp.org>
85455
85456         * lib/strtok_r.c: Move comments from here...
85457         * lib/strtok_r.h: ... to here.
85458
85459 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85460
85461         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85462         implementations that mishandle size_t overflow.
85463
85464 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85465
85466         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85467         might fail.  Problem reported by Yoann Vandoorselaere.
85468         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85469         implementations that mishandle size_t overflow.
85470
85471 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85472
85473         * modules/canon-host (Depends-on): Add strdup.
85474
85475 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85476
85477         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85478
85479 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85480
85481         * lib/canon-host.c: Include "strdup.h".
85482         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85483         Use strdup instead of malloc/strcpy to duplicate strings.
85484
85485         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85486         (human_space_before_unit): New constant.
85487         * lib/human.c (human_readable): Support it.
85488
85489         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85490         (xgetcwd): Set errno correctly when failing.
85491         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85492         the failure is actually due to a PATH_MAX problem.
85493
85494         Further getopt changes to make it more likely that glibc will
85495         buy the changes back.
85496         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85497         (getopt): Use it, so to preserve glibc semantic
85498         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85499         when compiling for libc.
85500         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85501         (getopt_long, getopt_long_only): Use it.
85502
85503         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85504         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85505         (getopt): Argv is now char * const *, as per standard.
85506         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85507         not char *__getopt_argv_const *.
85508         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85509         _getopt_long_only_r): Likewise.
85510         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85511         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85512         _getopt_long_r, _getopt_long_only_r): Likewise.
85513         * lib/getopt_.h (__getopt_argv_const): Remove.
85514         (getopt): Argv is now char * const *, as per standard.
85515
85516         * lib/getdate.y (tORDINAL): New token.
85517         (day, relunit): Allow it for relative times.
85518         (relative_time_table): Use tORDINAL for ordinals.
85519
85520 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85521
85522         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85523         Document that "second" isn't allowed as an ordinal number.
85524
85525 2004-11-16  Jim Meyering  <jim@meyering.net>
85526
85527         * modules/closeout (Depends-on): Add fpending.
85528
85529 2004-11-15  Jim Meyering  <jim@meyering.net>
85530
85531         * lib/closeout.c: Include "__fpending.h" once again.
85532         Include <stdbool.h>.
85533         (close_stdout): Don't fail just because stdout was closed initially,
85534         since some programs don't write to stdout in the normal course of
85535         operation (other than --version and --help), and we don't want this
85536         function to make e.g. `touch file >&-' fail.
85537         But do fail if it was closed and someone has tried to write to it.
85538         E.g., `printf foo >&-' must fail.
85539
85540 2004-11-13  Jim Meyering  <jim@meyering.net>
85541
85542         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85543
85544 2004-11-12  Simon Josefsson  <jas@extundo.com>
85545
85546         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85547         small doc fix is still pending.
85548
85549 2004-11-11  Simon Josefsson  <jas@extundo.com>
85550
85551         * modules/strtok_r: New file.
85552
85553         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85554         strtok_r.
85555
85556 2004-11-11  Simon Josefsson  <jas@extundo.com>
85557
85558         * m4/strtok_r.m4: New file.
85559
85560         * m4/getopt.m4: Replace opterr.
85561
85562 2004-11-11  Simon Josefsson  <jas@extundo.com>
85563
85564         * lib/strtok_r.h, strtok_r.c: New file.
85565
85566 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85567
85568         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
85569         of replacing opterr, getopt, etc.  This should handle the
85570         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
85571
85572 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85573
85574         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
85575         we can stop lying to compilers about the constness of argv when we
85576         are compiled outside glibc.
85577         (getopt, getopt_long, getopt_long_only): Use it.
85578         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85579         _getopt_internal, getopt): Likewise.
85580         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85581         _getopt_long_only_r): Likewise.
85582         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85583         _getopt_long_r, _getopt_long_only_r): Likewise.
85584
85585         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
85586         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
85587         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
85588         the other external symbols.
85589         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
85590         declaration, since the above renaming now works around collisions.
85591
85592 2004-11-11  Jim Meyering  <jim@meyering.net>
85593
85594         * lib/linebreak.c: Remove trailing blanks.
85595         * lib/alloca_.h: Likewise.
85596         * lib/acosl.c: Likewise.
85597         * lib/euidaccess.c: Likewise.
85598         * lib/allocsa.h: Likewise.
85599
85600 2004-11-10  Simon Josefsson  <jas@extundo.com>
85601
85602         * m4/getaddrinfo.m4: New file.
85603
85604 2004-11-10  Simon Josefsson  <jas@extundo.com>
85605
85606         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
85607
85608 2004-11-10  Simon Josefsson  <jas@extundo.com>
85609
85610         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85611         getaddrinfo.
85612
85613         * modules/getaddrinfo: New file.
85614
85615 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85616
85617         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
85618
85619 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85620
85621         * lib/mktime.c (SHR): New macro, which is a portable
85622         substitute for >> that should work even on Crays.
85623         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
85624         Problem reported by Mark D. Baushke in
85625         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
85626         * lib/getdate.y (SHR): Likewise.
85627         (tm_diff): Use it.
85628         * lib/strftime.c (SHR): Likewise.
85629         (tm_diff): Use it.
85630         * lib/quotearg.c (struct quoting_options): Use unsigned int for
85631         quote_these_too, so that right shifts are well defined.  All uses
85632         changed.
85633
85634 2004-11-10  Jim Meyering  <jim@meyering.net>
85635
85636         Ensure that no close failure goes unreported.
85637         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
85638         return early when it seems there's nothing to flush.
85639         Don't include __fpending.h.
85640
85641 2004-11-10  Jim Meyering  <jim@meyering.net>
85642
85643         * modules/closeout (Depends-on): Remove fpending.
85644
85645 2004-11-10  Jim Meyering  <jim@meyering.net>
85646
85647         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
85648
85649 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85650
85651         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
85652         gl_FUNC_STRFTIME.
85653         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
85654         and AC_REQUIRE when possible, to avoid duplicate checks.
85655         Check for <wchar.h>.
85656
85657 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85658
85659         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
85660
85661 2004-11-09  Bruno Haible  <bruno@clisp.org>
85662
85663         * m4/sockpfaf.m4: New file.
85664
85665 2004-11-05  Bruno Haible  <bruno@clisp.org>
85666
85667         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
85668         Reported by Mark D. Baushke <mdb@cvshome.org>.
85669
85670 2004-11-04  Bruno Haible  <bruno@clisp.org>
85671
85672         2004-09-11  Bruno Haible  <bruno@clisp.org>
85673                 * allocsa.valgrind: New file.
85674         2004-02-06  Bruno Haible  <bruno@clisp.org>
85675                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
85676                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
85677                 Reported by Christopher Seip <chris.seip@hp.com>.
85678
85679 2004-11-04  Bruno Haible  <bruno@clisp.org>
85680
85681         * modules/allocsa (Files): Add lib/allocsa.valgrind.
85682         (Makefile.am): Distribute it.
85683
85684 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
85685
85686         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
85687         with errno == ERANGE if the buffer is too small.
85688         Problem reported by Mark D. Baushke.
85689
85690 2004-11-03  Albert Chin  <china@thewrittenword.com>
85691             Paul Eggert  <eggert@cs.ucla.edu>
85692
85693         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
85694         equivalent, substitute $ac_type for equivalent type rather than
85695         blindly using uint32_t *always* which won't work if uint32_t is not
85696         available.  Define _UINT32_T to work around typedef of uint32_t if
85697         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
85698         2.5.1.
85699
85700 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85701
85702         * m4/jm-macros.m4: Sync from coreutils.
85703         (gl_MACROS): Check for mbrlen, for pathchk.
85704         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
85705
85706 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85707
85708         * lib/xreadlink.c (MAXSIZE): New macro.
85709         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
85710         size does not exceed MAXSIZE.  Avoid cast.
85711         As suggested by Mark D. Baushke in
85712         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
85713         if readlink fails with buffer size just under MAXSIZE, try again
85714         with MAXSIZE.
85715
85716 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85717
85718         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
85719
85720 2004-11-02  Derek R. Price  <derek@ximbiot.com>
85721         and  Paul Eggert  <eggert@cs.ucla.edu>
85722
85723         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
85724         (get_date): Overparenthesize to avoid GCC warning.
85725
85726 2004-11-02  Bruno Haible  <bruno@clisp.org>
85727
85728         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
85729         returns void.
85730
85731 2004-11-02  Bruno Haible  <bruno@clisp.org>
85732
85733         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
85734         function returns void.
85735
85736 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85737
85738         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
85739         fflush_unlocked, flockfile, funlockfile, funlockfile,
85740         fputs_unlocked, putc_unlocked.
85741
85742 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85743
85744         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85745         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
85746         already declared.
85747
85748 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85749
85750         * modules/getdate (Files): Add doc/getdate.texi.
85751         (Depends-on): Add setenv, xalloc.
85752
85753 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85754
85755         * lib/getdate.y: Add support for TZ="foo" within a date string.
85756         Fix some bugs near time_t boundaries.  Reject dates with
85757         out-of-range components, e.g., "Sept 31".
85758         Include <stdlib.h>, "setenv.h", "xalloc.h".
85759         (ISDIGIT_LOCALE): Remove; unused.
85760         Note that the TZ and time functions used here are not reentrant.
85761         (mktime_ok, get_tz): New functions.
85762         (TZBUFSIZE): New constant.
85763         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
85764         This requires that we sometimes generate our own TZ="XXX..." setting.
85765
85766 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85767
85768         * doc/getdate.texi: New file, from coreutils with modifications for
85769         the new TZ parsing.
85770
85771 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85772
85773         * lib/mktime.c (not_equal_tm): Remove redundant check.
85774
85775 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85776
85777         * modules/regex (lib_SOURCES): Add regex.c.
85778         Reported by James Youngman in
85779         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85780
85781 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85782
85783         * lib/getdate.y: Use Bison 1.875 features, and some minor
85784         code cleanups.  This change does not affect semantics.
85785         Don't include <stdlib.h>; no longer needed.
85786         Don't include unlocked-io.h; only the "#if TEST" code uses
85787         stdio, and performance isn't crucial there.
85788         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85789         Bison 1.875 features as described below.
85790         All uses of "PC." replaced by "pc->".
85791         (YYSTYPE): Add a forward declaration.
85792         (yylex, yyerror): Use full prototypes in forward decls.
85793         Use "%pure-parser" rather than obsolescent "%pure_parser".
85794         Use %parse-param and %lex-param instead of obsolescent
85795         YYPARSE_PARAM and YYLEX_PARAM.
85796         (meridian_table, month_and_day_table, time_units_table,
85797         relative_time_table, time_zone_table, military_table,
85798         lookup_zone, lookup_word, get_date):
85799         Use NULL instead of 0 where appropriate.
85800         (to_hour): Avoid abort (), to avoid a dependency on
85801         stdlib.h.
85802         (yyerror, yylex): Now accepts parser_control * arg.
85803         (main) [TEST]: Use '\0' rather than 0 for char.
85804
85805 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85806
85807         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85808
85809 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85810
85811         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85812         It's now the caller's responsibility to handle the case where
85813         !HAVE_GETPAGESIZE && !defined getpagesize.
85814
85815         * lib/mktime.c (leapyear): Arg is long int, not int.
85816
85817 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85818
85819         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85820
85821 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85822
85823         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85824         missing.  Problem reported by James Youngman.
85825
85826 2004-10-16  Simon Josefsson  <jas@extundo.com>
85827
85828         * gnulib-tool: Fix comments.  Fix parse problem.
85829         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85830
85831 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85832
85833         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85834         implementation of getopt_long.  Problem reported by Alexander Taler in:
85835         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85836
85837 2004-10-15  Bruno Haible  <bruno@clisp.org>
85838
85839         * gnulib-tool: Untabify. Initialize supplied_libname.
85840         (func_usage): More homogenous output.
85841         (func_modules_transitive_closure, func_modules_to_filelist,
85842         func_emit_lib_Makefile_am): New functions.
85843         (func_import): New function, extracted from big case statement. Use
85844         func_get_license, func_modules_transitive_closure,
85845         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85846         opt_lgpl. Don't use test -a, as it's not portable.
85847         (func_create_testdir): Use func_modules_transitive_closure,
85848         func_modules_to_filelist, func_emit_lib_Makefile_am.
85849
85850 2004-10-15  Bruno Haible  <bruno@clisp.org>
85851
85852         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85853
85854 2004-10-15  Bruno Haible  <bruno@clisp.org>
85855
85856         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85857         the portions belonging to each module.
85858         Suggested by Derek Robert Price <derek@ximbiot.com>.
85859
85860 2004-10-12  Simon Josefsson  <jas@extundo.com>
85861
85862         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85863         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85864         to real functions.
85865
85866 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85867
85868         * modules/vsnprintf: New file.
85869
85870 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85871
85872         * m4/vsnprintf.m4: New file.
85873
85874 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85875
85876         * lib/vsnprintf.h: New file.
85877         * lib/vsnprintf.c: New file.
85878
85879 2004-10-11  Bruno Haible  <bruno@clisp.org>
85880
85881         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85882         vsnprintf.
85883
85884 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85885
85886         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85887
85888 2004-10-07  Bruno Haible  <bruno@clisp.org>
85889
85890         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85891         fits into the provided buffer.
85892
85893 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85894
85895         * lib/diacrit.c, diacrit.h: Add GPL notice.
85896
85897         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85898         notice.
85899         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85900         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85901         This avoids a potential constant-folding bug.
85902
85903 2004-10-05  Bruno Haible  <bruno@clisp.org>
85904
85905         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85906         for the declaration of strsep.
85907
85908 2004-10-05  Bruno Haible  <bruno@clisp.org>
85909
85910         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85911
85912 2004-10-04  Simon Josefsson  <jas@extundo.com>
85913
85914         * modules/memmem: New file.
85915         * tests/test-memmem.c: New file.
85916         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85917
85918 2004-10-04  Simon Josefsson  <jas@extundo.com>
85919
85920         * m4/memmem.m4: New file.
85921
85922 2004-10-04  Simon Josefsson  <jas@extundo.com>
85923
85924         * lib/memmem.h: New file.
85925         * lib/memmem.c: New file, taken from glibc.
85926
85927 2004-10-04  Simon Josefsson  <jas@extundo.com>
85928
85929         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85930         '#ifdef USE_UNLOCKED_IO'.
85931
85932 2004-10-04  Simon Josefsson  <jas@extundo.com>
85933
85934         * config/srclist.txt: Add memmem from glibc.
85935
85936 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85937
85938         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85939
85940         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85941         modules/exclude, modules/getdate, modules/getline,
85942         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85943         modules/getusershell, modules/linebuffer, modules/md5,
85944         modules/mountlist, modules/posixtm, modules/readtokens,
85945         modules/readutmp, modules/regex, modules/sha1,
85946         modules/version-etc, modules/yesno:
85947         Remove dependency on unlocked-io.
85948
85949 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85950
85951         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85952
85953         * m4/unlocked-io.m4: Add copyright notice.
85954         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85955
85956 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85959         * lib/xmalloc.c (xmemdup): Likewise.
85960         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85961         XFREE): Remove these long-obsolescent macros.
85962         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85963         * lib/xstrdup.c: Remove.
85964
85965         * lib/regex.c (re_comp): Cast gettext return value to char *,
85966         Problem reported by Martin Neitzel via Mark D. Baushke.
85967
85968 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85969
85970         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85971         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85972         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85973         regex.c, sha1.c, version-etc.c, yesno.c:
85974         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85975         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85976         the includer's responsibility.
85977
85978         Sync from coreutils.
85979
85980         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85981         points to the start of a string, as the C Standard says the
85982         resulting behavior is undefined.
85983
85984         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85985         simple -> simple_backups, numbered_existing ->
85986         numbered_existing_backups, numbered -> numbered_backups
85987         to avoid shadowing problems.  All uses changed.
85988         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85989         * lib/backupfile.c (check_extension, numbered_backup):
85990         Rename locals to avoid shadowing 'basename'.
85991         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85992         once.
85993
85994         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85995         * lib/.cvsignore: Add getopt.h.
85996
85997 2004-10-04  Bruno Haible  <bruno@clisp.org>
85998
85999         * modules/README: New file.
86000         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86001         not a module.
86002
86003 2004-10-02  Jim Meyering  <jim@meyering.net>
86004
86005         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86006
86007 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86008
86009         * modules/strsep: New file.
86010
86011 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86012
86013         * m4/strsep.m4: New file.
86014
86015 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86016
86017         * lib/strsep.h: New file.
86018         * lib/strsep.c: New file.
86019
86020 2004-10-01  Simon Josefsson  <jas@extundo.com>
86021
86022         * lib/snprintf.c (snprintf): Handle size==0.
86023
86024 2004-10-01  Simon Josefsson  <jas@extundo.com>
86025             Bruno Haible  <bruno@clisp.org>
86026
86027         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86028         (snprintf): Declare 'args'.
86029
86030 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86031
86032         * lib/snprintf.c: Remove comments as to why each header is needed.
86033
86034 2004-10-01  Bruno Haible  <bruno@clisp.org>
86035
86036         * MODULES.html.sh: Add strsep.
86037
86038 2004-09-30  Simon Josefsson  <jas@extundo.com>
86039
86040         * modules/snprintf: New file.
86041
86042 2004-09-30  Simon Josefsson  <jas@extundo.com>
86043
86044         * m4/snprintf.m4: New file.
86045
86046 2004-09-30  Simon Josefsson  <jas@extundo.com>
86047
86048         * lib/snprintf.h, lib/snprintf.c: New files.
86049
86050 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86051
86052         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86053         (hol_entry_help): Never translate an empty string.
86054         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86055         * lib/argp.h (OPTION_NO_TRANS): New option.
86056
86057 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86058
86059         * modules/argp (Maintainer): Replace Simon Josefsson
86060         by Sergey Poznyakoff.
86061
86062 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86063
86064         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86065         changes merged back into glibc.
86066
86067 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86068
86069         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86070
86071 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86072
86073         * lib/xvasprintf.c: Include xalloc.h.
86074         (xvasprintf): Use xalloc_die, not xmalloc_die.
86075
86076 2004-09-29  Bruno Haible  <bruno@clisp.org>
86077
86078         * modules/alloca-opt: New file, derived from modules/alloca.
86079         * modules/allocsa: Depend on alloca-opt instead of alloca.
86080         * modules/setenv: Likewise.
86081         * modules/vasnprintf: Likewise.
86082         * MODULES.html.sh: Add alloca-opt.
86083
86084 2004-09-28  Simon Josefsson  <jas@extundo.com>
86085
86086         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86087         LGPL, and to replace license template from GPL to LGPL.
86088
86089 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86090
86091         * modules/dummy: Change license to LGPL.
86092
86093 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86094
86095         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86096
86097 2004-09-24  Simon Josefsson  <jas@extundo.com>
86098
86099         * modules/minmax (License): Change from GPL to LGPL.
86100
86101 2004-09-23  Simon Josefsson  <jas@extundo.com>
86102
86103         * gnulib-tool (--import): Typo.
86104
86105 2004-09-23  Simon Josefsson  <jas@extundo.com>
86106
86107         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86108
86109 2004-09-22  Bruno Haible  <bruno@clisp.org>
86110
86111         * modules/*: Add 'License' field.
86112         * gnulib-tool: Accept --extract-license option.
86113         (func_get_license): New function.
86114
86115 2004-09-21  Bruno Haible  <bruno@clisp.org>
86116
86117         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86118         Reported by Simon Josefsson.
86119
86120 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86121
86122         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86123         gl_AC_TYPE_LONG_LONG.
86124
86125 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86126
86127         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86128
86129 2004-09-18  Simon Josefsson  <jas@extundo.com>
86130         and  Paul Eggert  <eggert@cs.ucla.edu>
86131
86132         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86133         calls with autoreconf.  Define GL_LIB.
86134
86135 2004-09-14  Karl Berry  <karl@gnu.org>
86136
86137         * config/srclist.txt: unsync setenv.c, sigh.
86138
86139 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86140
86141         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86142         Problem reported by Bruno Haible in:
86143         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86144
86145 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86146
86147         * config/srclist.txt: Comment out argp-pvh.c.
86148
86149 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86150
86151         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86152         in case some system header has #define'd it.  Problem reported by
86153         Soeren D. Schulze in
86154         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86155
86156 2004-09-09  Karl Berry  <karl@gnu.org>
86157
86158         * regex.[ch]: delete from the root.  These were supposed to be
86159                 synced with emacs cvs, but this has not happened for about
86160                 a year, and anyway nothing else uses emacs regex.[ch].
86161                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86162                 lib/regex[.ch] is untouched.
86163
86164 2004-09-09  Bruno Haible  <bruno@clisp.org>
86165
86166         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86167
86168 2004-09-09  Bruno Haible  <bruno@clisp.org>
86169
86170         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86171         modifications.
86172         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86173
86174 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86175
86176         * modules/xvasprintf: New file.
86177         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86178
86179 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86180
86181         * lib/xvasprintf.h: New file.
86182         * lib/xvasprintf.c: New file.
86183         * lib/xasprintf.c: New file.
86184
86185 2004-09-08  Bruno Haible  <bruno@clisp.org>
86186
86187         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86188
86189 2004-09-08  Bruno Haible  <bruno@clisp.org>
86190
86191         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86192         length is > INT_MAX.
86193         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86194         more.
86195
86196 2004-09-08  Bruno Haible  <bruno@clisp.org>
86197
86198         * lib/stdint_.h: New file, taken from GNU clisp.
86199
86200 2004-09-08  Bruno Haible  <bruno@clisp.org>
86201             Oskar Liljeblad  <oskar@osk.mine.nu>
86202
86203         * modules/stdint: New file.
86204         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86205
86206 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86207
86208         Import from coreutils.
86209         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86210         strings on unbounded length.  alloca's performance benefits aren't
86211         that important here.
86212         (V_STRDUP): Remove.
86213         (parse_with_separator): New function, with most of the internals
86214         of the old parse_user_spec.  Allow user to omit both user and group,
86215         for compatibility with FreeBSD.
86216         Clone only the user name, not the entire spec.
86217         Do not set *uid, *gid unless entirely successful.
86218         Avoid memory leak in some failing cases.
86219         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86220         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86221         (parse_user_spec): Rewrite to use parse_with_separator.
86222
86223 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86224
86225         * modules/userspec: Don't depend on alloca.
86226
86227 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86228
86229         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86230
86231 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86232
86233         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
86234         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
86235         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
86236
86237 2004-08-16  Simon Josefsson  <jas@extundo.com>
86238
86239         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
86240         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
86241         Add --dry-run for --import.
86242         Let user provided command line parameters override configure.ac
86243         settings.
86244
86245 2004-08-12  Simon Josefsson  <jas@extundo.com>
86246
86247         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
86248         as discussed with Paul Eggert in threads rooted at
86249         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
86250         and
86251         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
86252         Before, the test was empty, and relied on ELIDE_CODE in source
86253         code.)
86254         (gl_PREREQ_GETOPT): New macro.
86255         (gl_GETOPT): Use them.
86256
86257 2004-08-12  Simon Josefsson  <jas@extundo.com>
86258
86259         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86260         * lib/getopt_.h: Renamed from getopt.h.
86261
86262 2004-08-12  Simon Josefsson  <jas@extundo.com>
86263
86264         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86265         Change default library name from libfoo to libgnu.
86266         Now, if you have a configure.ac that says:
86267                 gl_SOURCE_BASE(gl)
86268                 gl_M4_BASE(gl/m4)
86269                 gl_MODULES(error getopt etcetera)
86270                 gl_INIT
86271         you can import all you need by running:
86272                 ../gnulib/gnulib-tool --import
86273
86274         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86275         (Makefile.am): Rewrite, use logic from argz.
86276         (Include): Use <getopt.h> instead of "getopt.h".
86277
86278 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86279
86280         * modules/argp (Files): Add m4/unlocked-io.m4.
86281         (Depends-on): Add extensions.
86282
86283 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86284
86285         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86286         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86287         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86288         Check for program_invocation_name, program_invocation_short_name,
86289         flockfile, funlockfile, features.h, _getopt_long_only_r.
86290
86291 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86292
86293         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86294         its complicated substitute.
86295         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86296         and program_invocation_name.
86297         (__argp_basename) [!_LIBC]: Remove; the only use was
86298         replaced by its body.
86299         (__argp_short_program_name): Change condition from
86300         !defined __argp_short_program_name to
86301         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86302         to match argp-namefrob.h.
86303         (__argp_failure): Don't assume strerror_r returns char *.
86304         * lib/argp-parse.c (N_): Define unconditionally.
86305         (argp_default_options): Fill out initializers with 0 to avoid
86306         gcc warnings.
86307
86308 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86309
86310         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86311         getopt1.c.
86312
86313 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86314
86315         Merge from coreutils.
86316
86317         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86318
86319         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86320         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86321
86322 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86323
86324         Merge from coreutils.
86325
86326         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86327         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86328         for Reliant Unix 5.43.
86329
86330         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86331         (union fooround): Use uintmax_t, not long int.
86332         The rest is a merge from libc:
86333         [defined _LIBC]: Include <shlib-compat.h>.
86334         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86335
86336         * lib/settime.c (settime): Recode to avoid warning with
86337         Sun Forte C 6U2.
86338
86339         * lib/strverscmp.c: Convert to UTF-8.
86340
86341 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86342
86343         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86344         m4/uintmax_t.m4.
86345
86346 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86347
86348         * modules/xalloc-die: New file.
86349         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86350
86351         * modules/md5 (Files): Add m4/uint32_t.m4.
86352         * modules/sha1: Renamed from modules/sha.
86353         (Files):
86354         Rename lib/sha.h to lib/sha1.h.
86355         Rename lib/sha.c to lib/sha1.c.
86356         Rename m4/sha.m4 to m4/sha1.m4.
86357         (lib_SOURCES): Likewise.
86358         (configure.ac): Rename gl_SHA to gl_SHA1.
86359         (Include): sha.h -> sha1.h.
86360
86361 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86362
86363         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86364         * m4/sha1.m4: Renamed from sha.m4.
86365         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86366
86367 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86368
86369         * lib/obstack.h (obstack_empty_p):
86370         Don't assume that chunk->contents is suitably aligned.
86371         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86372         Likewise. Problem reported by Benno in
86373         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86374
86375         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86376         readable.  This could be improved further but it'd take some work.
86377
86378 2004-08-08  Simon Josefsson  <jas@extundo.com>
86379
86380         * modules/xgethostname (Depends-on): Remove exit and error (not
86381         used).
86382
86383         * modules/getpass-gnu: Add getpass.h.
86384         (Depends-on): Add stdbool.
86385         * modules/getpass: Add getpass.h.
86386
86387 2004-08-08  Simon Josefsson  <jas@extundo.com>
86388
86389         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86390         Check getpass declaration.
86391
86392 2004-08-08  Simon Josefsson  <jas@extundo.com>
86393
86394         * lib/xgethostname.c: Don't include error.h (not used).
86395
86396         * lib/getpass.h: Add.
86397         * lib/getpass.c: Include getpass.h first.
86398
86399 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86400
86401         * lib/xalloc-die.c: New file.
86402         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86403         All uses removed.
86404         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86405         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86406         xalloc-die.c.
86407         (_, N_, xalloc_die): Move to xalloc-die.c.
86408         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86409         so that we needn't mess with xalloc_msg_memory_exhausted.
86410
86411         * lib/sha1.h: Renamed from sha.h.
86412         (SHA1_H): Renamed from _SHA_H.
86413         (sha1_ctx): Renamed from sha_ctx.
86414         (sha1_init_ctx): Renamed from sha_init_ctx.
86415         (sha1_process_block): Renamed from sha_process_block.
86416         (sha1_process_bytes): Renamed from sha_process_bytes.
86417         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86418         (sha1_read_ctx): Renamed from sha_read_ctx.
86419         (sha1_stream): Renamed from sha_stream.
86420         (sha1_buffer): Renamed from sha_buffer.
86421         * lib/sha1.c: Likewise; renamed from sha.c.
86422         Do not include <sys/types.h>.
86423         Include <stddef.h> rather than <stdlib.h>.
86424
86425 2004-08-08  Bruno Haible  <bruno@clisp.org>
86426
86427         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86428         FILESYSTEM_PREFIX_LEN.
86429         * lib/progreloc.c: Likewise.
86430         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86431
86432 2004-08-06  Simon Josefsson  <jas@extundo.com>
86433
86434         * modules/progname (Depends-on): Don't depend on stdbool.
86435
86436 2004-08-06  Simon Josefsson  <jas@extundo.com>
86437
86438         * modules/getsubopt: New file.
86439         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86440         getsubopt.
86441
86442 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86443
86444         More merge from coreutils.
86445
86446         * m4/utimens.m4, m4/utimecmp.m4: New files.
86447         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86448         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86449         prereq.m4, sha.m4: Import changes from coreutils.
86450
86451 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86452
86453         More merge from coreutils.
86454         * modules/raise, modules/readtokens0, modules/utimens:
86455         * modules/utimecmp, module/xnanosleep: New files.
86456         * modules/strftime: Add lib/strftime.h.
86457         Change include from <time.h> to "strftime.h".
86458         * modules/yesno: Add lib/yesno.h.
86459         * modules/backupfile: Remove lib/addext.c.
86460         * modules/euidaccess: Add stat-macros.h.
86461         * modules/canonicalize, modules/euidaccess,
86462         modules/filemode, modules/lchown, modules/makepath,
86463         modules/rmdir, modules/stat: Likewise.
86464
86465 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86466
86467         Merge from tar.
86468         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86469         SIZE_MAX is a valid preprocessor constant.
86470         (__argp_basename): Change from "#ifndef _LIBC"
86471         to "#ifndef __argp_short_program_name", so that
86472         we don't compile these functions for tar.
86473
86474         More merges from coreutils.
86475         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86476         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86477         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86478         * lib/addext.c: Remove; no longer needed.
86479         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86480         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86481         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86482         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86483         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86484         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86485         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86486         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86487         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86488         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86489         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86490         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86491         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86492         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86493         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86494         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86495         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86496         Import changes from coreutils.
86497
86498 2004-08-05  Simon Josefsson  <jas@extundo.com>
86499
86500         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86501
86502 2004-08-05  Simon Josefsson  <jas@extundo.com>
86503
86504         * m4/getsubopt.m4: New file.
86505
86506 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86507
86508         Merge from coreutils.
86509
86510         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86511         * m4/getcwd-path-max.m4: New files.
86512
86513         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86514         FILESYSTEM_PREFIX_LEN ->
86515         FILE_SYSTEM_PREFIX_LEN.
86516         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86517         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86518         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86519         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86520
86521         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86522         prerequisite modules now handle the DOS stuff.
86523         Don't check for unistd.h.
86524
86525 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86526
86527         Merge from coreutils.
86528
86529         * lib/.gdb-history: Remove; this doesn't belong here.
86530
86531         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86532         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86533         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86534         * lib/getcwd.c: New files.
86535
86536         * lib/dirname.h: Include <stdbool.h>.
86537         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86538         for consistency with POSIX terminology.  All uses changed.
86539         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86540         (strip_trailing_slashes): Use bool for booleans.
86541         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86542
86543         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86544         sometimes returns a positive errno value even when it succeeds.
86545         (print_errno_message) [!LIBC]: Fall back on strerror if
86546         __strerror_r fails.
86547
86548         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86549         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86550         (longest_relative_suffix): New function.
86551         (path_concat): Use it.  Assume first argument is not NULL.
86552         Port to DOS.  Omit redundant separators.
86553         Report an error instead of returning NULL.
86554         Use mempcpy instead of memcpy.
86555         (xpath_concat): Remove: not declared or used.
86556
86557         * lib/same.h: Include <stdbool.h>
86558         (same_name): Return bool, not int.
86559         * lib/same.c (same_name): Likewise.
86560         (errno): Don't declare; we assume C89 or better now.
86561
86562         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86563         if not already defined.
86564
86565         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
86566         * lib/dup-safer.c (errno): Likewise.
86567
86568 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86569
86570         Merge from coreutils.
86571         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
86572         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
86573         * modules/path-concat: Don't depend on strdup.
86574
86575 2004-08-03  Simon Josefsson  <jas@extundo.com>
86576
86577         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
86578         * lib/progname.h: Don't include stdbool.h.
86579
86580 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86581
86582         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
86583         * MODULES.html.sh (func_all_modules): Remove fatal.
86584
86585 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86586
86587         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
86588
86589 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86590
86591         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
86592         working.
86593
86594 2004-08-02  Simon Josefsson  <jas@extundo.com>
86595
86596         * lib/getsubopt.h: New file, with comments from Bruno Haible.
86597         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
86598         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
86599
86600 2004-08-01  Simon Josefsson  <jas@extundo.com>
86601
86602         * lib/xgetdomainname.c: Include stdlib.h, for free().
86603
86604 2004-07-19  Bruno Haible  <bruno@clisp.org>
86605
86606         * MODULES.html.sh (func_all_modules): Add dummy.
86607
86608 2004-07-16  Simon Josefsson  <jas@extundo.com>
86609
86610         * modules/dummy: New file.
86611
86612 2004-07-16  Simon Josefsson  <jas@extundo.com>
86613
86614         * lib/dummy.c: New file.
86615
86616 2004-07-16  Bruno Haible  <bruno@clisp.org>
86617
86618         * lib/backupfile.h: Add extern "C" for C++.
86619         * lib/closeout.h: Likewise.
86620         * lib/copy-file.h: Likewise.
86621         * lib/findprog.h: Likewise.
86622         * lib/full-write.h: Likewise.
86623         * lib/pathname.h: Likewise.
86624         * lib/progname.h: Likewise.
86625         * lib/stpcpy.h: Likewise.
86626         * lib/stpncpy.h: Likewise.
86627         * lib/strcase.h: Likewise.
86628         * lib/strstr.h: Likewise.
86629         * lib/xalloc.h: Likewise.
86630
86631         * lib/mbswidth.h: Add extern "C" for C++.
86632         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
86633
86634 2004-07-13  Robert Millan  <robertmh@gnu.org>
86635
86636         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
86637
86638 2004-07-09  Simon Josefsson  <jas@extundo.com>
86639
86640         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
86641         failed without this.)
86642
86643 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86644
86645         * modules/chown (Files): Add lib/fchown-stub.c, since
86646         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
86647
86648 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86649
86650         * lib/fchown-stub.c: New file.
86651
86652 2004-06-24  Jim Meyering  <jim@meyering.net>
86653
86654         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
86655
86656 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86657
86658         * modules/argz: Omit "#include".
86659
86660         * MODULES.html.sh (func_all_modules): Add calloc, to match
86661         2004-06-01 addition of calloc module.
86662
86663 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86664
86665         * m4/argz.m4: New file, which is autoupdated from libtool.
86666
86667 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86668
86669         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
86670         libtool.
86671
86672 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86673
86674         * config/srclist-update: Don't insist on "USA." before the
86675         close-comment, as libtool omits the period and puts the */ on a
86676         separate line.
86677         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
86678         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
86679
86680 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
86681
86682         * modules/argz: New file.
86683         * MODULES.html.sh (func_all_modules): Add argz.
86684
86685 2004-06-12  Jim Meyering  <jim@meyering.net>
86686         and  Paul Eggert  <eggert@cs.ucla.edu>
86687
86688         * modules/hash (Files): Add lib/xalloc.h.
86689         * modules/pipe (Depends-on): Add wait-process.
86690         * modules/stat (Depends-on): Add xalloc.
86691         * modules/userspec (Files): Add lib/userspec.h.
86692         * modules/xstrto
86693
86694         Upgrade from gettext-0.13.
86695         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
86696         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
86697         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
86698
86699 2004-06-10  Jim Meyering  <jim@meyering.net>
86700
86701         * lib/calloc.c: New file.
86702
86703 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86704
86705         * lib/getdate.y (yylex): Allow space between sign and number.
86706         Problem reported by Dan Jacobson.
86707
86708 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86709
86710         Merge from coreutils CVS.
86711
86712         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
86713         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
86714         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
86715         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
86716         xstrtol.m4: Fix copyright date and/or serial number.
86717
86718         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
86719         See if we need an fchown replacement.
86720         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
86721         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
86722         and use the replacement function if we detect either defect.
86723
86724         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
86725         gl_UTIMECMP.
86726
86727 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86728         and  Jim Meyering  <jim@meyering.net>
86729
86730         Merge from coreutils CVS.
86731
86732         * lib/stat-macros.h: New file, with contents from file-type.h
86733         and coreutils' system.h.
86734         * lib/file-type.c: Include "stat-macros.h".
86735         * lib/file-type.h (file_type): Move all macro definitions to new file,
86736         stat-macros.h.
86737
86738         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
86739         Wrap old code with this conditional.
86740         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
86741         function that does not dereference symlinks.
86742         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
86743
86744         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
86745         dependency problems.
86746         (xreadlink): Accept new arg SIZE, for efficiency.
86747         All decls and uses changed.
86748         * lib/xreadlink.h: Include <stddef.h>, for size_t.
86749
86750         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
86751         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
86752
86753         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
86754         sysexits.h.
86755
86756 2004-06-01  Jim Meyering  <jim@meyering.net>
86757
86758         * m4/calloc.m4: New file.
86759
86760 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
86761
86762         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
86763         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
86764         Also, fix a typo in a diagnostic.
86765
86766 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86767
86768         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86769         or AC_FUNC_REALLOC.
86770
86771 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86772
86773         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86774         macros to be defined.
86775         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86776         the allocator returns NULL because the requested size is zero.
86777
86778 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86779
86780         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86781         var.  Add comment explaining why libc still defines it.  This
86782         merges the following patch from glibc:
86783         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86784
86785 2004-05-20  Andreas Schwab  <schwab@suse.de>
86786
86787         * m4/free.m4: Replace free if it not known to work, not the other
86788         way round.
86789
86790 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86791
86792         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86793         present in glibc since revision 1.1 of this file.
86794         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86795         obstack_alignment_mask, obstack_alloc, obstack_base,
86796         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86797         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86798         obstack_grow0, obstack_init, obstack_int_grow,
86799         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86800         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86801         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86802         nonexistent functions.
86803
86804 2004-05-18  Karl Berry  <karl@gnu.org>
86805
86806         * config/srclist.txt: break link for vasnprintf.c.
86807
86808 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86809
86810         Port obstack to the AS/400, where pointers are 16 bytes wide and
86811         you cannot cast an integer to a valid pointer.  This patch is
86812         currently waiting to be integrated into glibc; see
86813         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86814
86815         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86816         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86817         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86818         (struct obstack): temp member is now a union of a pointer and
86819         an integer, instead of an integer.  All integer uses changed.
86820         This does not affect the physical layout of struct obstack,
86821         except on hosts (like the AS/400) where the size or alignment of
86822         void * is greater than that of ptrdiff_t.
86823         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86824         __STDC__)]: Store temporary in pointer member of union, not
86825         integer member.
86826         * lib/obstack.c: Include <stddef.h>, for offsetof.
86827         (struct fooalign): Remove; it doesn't need a name.
86828         (union fooround): Change double to long double, and add void *.
86829         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86830         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86831         not a macro.  Hence the values are always int; so remove all
86832         casts-to-int in uses.
86833
86834 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86835
86836         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86837         we can get this patch merged into glibc.
86838
86839 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86840             Paul Eggert  <eggert@cs.ucla.edu>
86841
86842         * m4/argp: Depend on alloca.
86843
86844 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86845             Paul Eggert  <eggert@cs.ucla.edu>
86846
86847         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86848         freecoding.
86849
86850 2004-05-17  Bruno Haible  <bruno@clisp.org>
86851
86852         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86853         precision that consists of a '.' followed by an empty digit string.
86854         Patch by Tor Lillqvist <tml@iki.fi>.
86855
86856 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86857
86858         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86859         for backward compatibility with older code.  We need our own
86860         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86861         it under some other name, and our alloca.h will define it.
86862
86863 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86864             Derek Price  <derek@ximbiot.com>
86865
86866         * lib/alloca.c: Include <alloca.h>, to get our interface.
86867         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86868         include <alloca.h> first.  Use C89 prototype for alloca; this
86869         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86870         Use #elif for simplicity, since we can assume C89 now.
86871         Don't try to source the system alloca.h since it will not be found
86872         and to prevent recursively including its replacement.
86873         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86874         * lib/regex.c: Likewise.
86875
86876 2004-05-16  Derek Price  <derek@ximbiot.com>
86877             Paul Eggert  <eggert@cs.ucla.edu>
86878
86879         getline cleanup.  This changes the getndelim2 API: both order of
86880         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86881         no delimiter).
86882
86883         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86884         interface does that.
86885         (getline): Always use getdelim, so that we don't have two
86886         copies of this code.
86887         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86888         if available.
86889         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86890         (GETNDELIM2_MAXIMUM): New macro.
86891         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86892         instead of the old practice of delim2==0.  All callers changed.
86893         Return -1 on overflow, instead of returning junk.
86894         Do not set *linesize unless allocation succeeds.
86895         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86896         that we include sys/types.h.
86897         * lib/getnline.h: Likewise.
86898         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86899         (getndelim2): Reorder arguments.
86900         * lib/getnline.c (getnline, getndelim):
86901         Don't discard the NMAX argument.
86902         (getnline): Invoke getndelim, to avoid code duplication.
86903         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86904         of (size_t) -1 by callers of the getnline family.
86905
86906 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86907
86908         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86909         Check for gettimeofday.
86910         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86911         Check for settimeofday, stime.
86912
86913 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86914
86915         * lib/nanosleep.c (suspended): Change its type from int to
86916         sig_atomic_t volatile.
86917         (first_call): Make it private to rpl_nanosleep, and have it
86918         be zero initially as that's a bit faster.
86919         (my_usleep): Round up fractional times instead of truncating them,
86920         as this is the usual meaning for 'sleep'.
86921
86922         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86923         doesn't work.
86924         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86925         (ENOSYS): Define if not defined.
86926         (settime): Fall back on stime if it exists and settimeofday fails.
86927         But don't bother with fallbacks if a method fails with errno == EPERM.
86928
86929 2004-05-11  Jim Meyering  <jim@meyering.net>
86930
86931         Prior to this change, the save_cwd caller required read access to the
86932         current directory on most systems (ones with the fchdir function).
86933
86934         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86935         fails, try write-only, and finally, resort to using xgetcwd.
86936
86937 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86938
86939         * lib/obstack.c, obstack.h: Import changes from libc.
86940
86941 2004-04-28  Bruno Haible  <bruno@clisp.org>
86942
86943         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86944         also implicitly appends .exe to executables.
86945         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86946         accepts Windows pathnames.
86947         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86948         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86949         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86950         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86951         Reported by Derek Robert Price <derek@ximbiot.com>.
86952
86953 2004-04-21  Karl Berry  <karl@gnu.org>
86954
86955         * config/srclist.txt (localcharset.c): break sync.
86956
86957 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86958
86959         * m4/host-os.m4: Add a copyright notice.
86960
86961 2004-04-20  Jim Meyering  <jim@meyering.net>
86962
86963         Change UTILS_ to gl_ in AC_DEFINE'd names.
86964         Change utils_- and jm_-prefixed variables, too.
86965         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86966         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86967         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86968
86969         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86970         Don't emit trailing blanks.
86971         Also rename jm_-prefixed variables to have gl_ prefix.
86972
86973         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86974         Also rename jm_-prefixed variables to have gl_ prefix.
86975
86976         * m4/jm-macros.m4: Reflect the renamings.
86977         * m4/prereq.m4: Likewise.
86978
86979 2004-04-20  Jim Meyering  <jim@meyering.net>
86980
86981         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86982         memory.
86983
86984 2004-04-20  Jim Meyering  <jim@meyering.net>
86985             Bruno Haible  <bruno@clisp.org>
86986
86987         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86988         memory when realloc fails.
86989
86990 2004-04-19  Jim Meyering  <jim@meyering.net>
86991
86992         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86993         now that readutmp.c may call `free (0)'.
86994
86995 2004-04-19  Bruno Haible  <bruno@clisp.org>
86996
86997         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86998         * m4/inttypes_h.m4: Likewise.
86999         * m4/stdint_h.m4: Likewise.
87000         * m4/intmax_t.m4: Likewise.
87001         * m4/uintmax_t.m4: Likewise.
87002
87003 2004-04-18  Jim Meyering  <jim@meyering.net>
87004
87005         * m4/prereq.m4: Don't forbid jm_ prefix.
87006
87007         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87008         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87009         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87010         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87011         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87012         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87013         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87014         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87015         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87016         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87017         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87018         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87019         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87020         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87021         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87022         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87023         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87024         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87025         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87026
87027 2004-04-18  Jim Meyering  <jim@meyering.net>
87028
87029         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87030         failure, don't leak memory and do call END_UTMP_ENT.
87031
87032 2004-04-16  Jim Meyering  <jim@meyering.net>
87033
87034         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87035         coreutils' stat program.
87036         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87037
87038 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87039
87040         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87041         C89.
87042         (CHAR_BIT): Remove, since we assume C89.
87043         Include <stdint.h> if available, as per current Autoconf CVS advice.
87044
87045 2004-03-31  Jim Meyering  <jim@meyering.net>
87046
87047         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87048         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87049         * m4/xalloc.m4: Likewise.
87050
87051 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87052
87053         Merge from coreutils.
87054
87055         * m4/inttostr.m4: New file.
87056         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87057         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87058         Require gl_CLOCK_TIME.
87059         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87060
87061 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87062
87063         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87064         not bool, to be more consistent with Unix conventions.
87065         Suggested by Bruno Haible.
87066
87067         Merge from coreutils.
87068
87069         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87070         * lib/umaxtostr.c: New files.
87071
87072         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87073         the usual <time.h> dance.
87074         (get_date): Change signature to support fractional time stamps.
87075         All callers changed.
87076         * lib/getdate.y: Include "getdate.h" first, as we can now
87077         assume C89 and don't need to worry about 'const'.
87078         Similarly, include "unlocked-io.h" near start, not in middle.
87079         Include <limits.h>.
87080         (textint.value): Use long int rather than int.
87081         (textint.digits): Use size_t rather than int.
87082         (BILLION, LOG10_BILLION): New constants.
87083         (parser_control): New member rel_ns.  Members day_ordinal,
87084         time_zone, month, day, hour, minutes, rel_year, rel_month,
87085         rel_day, rel_hour, rel_minutes, rel_seconds
87086         are now long int, not int.  Member seconds is now struct timespec,
87087         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87088         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87089         not int.
87090         (%union.intval): Now long int, not int.
87091         New member timespec.
87092         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87093         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87094         (spec): Now is a timespec or an item list.
87095         (timespec, items): New nonterminals.
87096         (time, rel, relunit, number, get_date):
87097         Add support for fractional seconds.
87098         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87099         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87100         (to_hour): First arg is now long int, not int.
87101         (to_year): Returns long int, not int.
87102         Don't treat year -70 like 70.
87103         (tm_diff): Returns long int, not int.
87104         (lookup_word): Use bool instead of int when appropriate.
87105         (yylex): Use size_t for count, not int.
87106         Detect overflow when parsing large integer constants.
87107         Add support for fractions.
87108         (get_date): Make pointers 'const' if possible.
87109         Use more-portable code to detect integer overflow.
87110         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87111         Don't use ctime; it's not reliable if the year has >4 digits.
87112
87113         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87114         This is for compatibility with BSD.
87115
87116         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87117         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87118         From coreutils' system.h.
87119
87120         * lib/userspec.c: Don't include "posixver.h".
87121         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87122         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87123         compatible extension.  Simplify code by removing a boolean int
87124         that was always nonzero if a string was nonnull.
87125
87126 2004-03-30  Jim Meyering  <jim@meyering.net>
87127
87128         Merge from coreutils.
87129
87130         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87131         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87132         on some systems one must include <grp.h> before it.
87133         Reported by Christian Krackowizer.
87134
87135 2004-03-30  Jim Meyering  <jim@meyering.net>
87136
87137         Merge from coreutils.
87138
87139         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87140
87141         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87142         an empty input stream.
87143
87144         * lib/readtokens.c: Include <stdbool.h>.
87145         (readtoken): Use `size_t' rather than int/long.
87146         All callers adjusted.
87147         Use `bool' rather than `int' where appropriate.
87148         Use memset rather than an explicit loop.
87149         Use x2nrealloc rather than xrealloc.
87150         Allow the use of `\0' as a delimiter.
87151         (readtokens): Likewise.
87152         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87153
87154 2004-03-30  Jim Meyering  <jim@meyering.net>
87155
87156         * m4/realloc.m4: Remove file, since now it does no more than
87157         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87158         the `configure.ac' section of module/realloc.
87159         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87160
87161 2004-03-30  Bruno Haible  <bruno@clisp.org>
87162
87163         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87164         nonnull.
87165
87166 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87167
87168         Merge changes to getloadavg.c from coreutils and Emacs.
87169
87170         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87171         Define to an expression, not to the empty string.
87172         Include cloexec.h and xalloc.h.
87173         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87174         Use set_cloexec_flag rather than rolling our own.
87175         * lib/cloexec.c, lib/cloexec.h: New files.
87176
87177 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87178
87179         * m4/cloexec.m4: New file.
87180
87181 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87182
87183         * lib/getopt.h: Sync with libc CVS.
87184
87185 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87186             Bruno Haible  <bruno@clisp.org>
87187
87188         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87189         mbswidth.
87190
87191 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87192             Bruno Haible  <bruno@clisp.org>
87193
87194         * lib/mbswidth.h: Include <wchar.h> only if
87195         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87196         <wchar.h>.
87197         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87198
87199 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87200
87201         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87202         Sync with libc CVS.
87203         * lib/getopt_int.h: New file, also synced from libc.
87204
87205 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87206
87207         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87208         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87209         Bring back getopt.c, getopt.h, getopt1.c.
87210
87211 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87212
87213         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87214         All uses changed.  Check for sa_sigaction member; this fixes
87215         a bug first reported by Jason Andrade in
87216         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87217
87218 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87219
87220         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87221         '#if' expressions.  Unlike the code it replaces, it does not
87222         depend on (defined _SC_PAGESIZE).  However, it does depend on
87223         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87224         first reported by Jason Andrade in
87225         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87226
87227 2004-02-25  Simon Josefsson  <jas@extundo.com>
87228
87229         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87230
87231 2004-02-25  Simon Josefsson  <jas@extundo.com>
87232
87233         * lib/strdup.h: New file.
87234         * lib/strdup.c: Include it.
87235         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
87236         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
87237
87238 2004-02-23  Karl Berry  <karl@gnu.org>
87239
87240         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
87241         (from fencepost.gnu.org:/gd/gnuorg).
87242
87243 2004-02-23  Karl Berry  <karl@gnu.org>
87244
87245         * config/srclistvars.sh (GNUORG) [karl]: redefine.
87246         * config/srclist.txt: add maintain/standards documents.
87247
87248 2004-02-18  Bruno Haible  <bruno@clisp.org>
87249
87250         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
87251         Reported by Derek Robert Price <derek@ximbiot.com>.
87252
87253 2004-02-16  Karl Berry  <karl@gnu.org>
87254
87255         * config/mkinstalldirs, install-sh: update from automake.
87256
87257 2004-02-06  Karl Berry  <karl@gnu.org>
87258
87259         * m4/po.m4: update from gettext 0.14.1.
87260
87261 2004-02-06  Karl Berry  <karl@gnu.org>
87262
87263         * lib/config.charset: update from gettext 0.14.1.
87264
87265 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87266
87267         Add comments and code, prompted by suggestions from Bruno Haible
87268         for sh-quote.
87269         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87270         describing the enum quoting_style values.
87271         * lib/quotearg.c (quotearg_alloc): New function.
87272         (quotearg_buffer_restyled): Treat lone { and } as special.
87273         Treat = as special.  Work around bug with older shells
87274         that "see" a '\' that is really the 2nd byte of a multibyte char.
87275         Quote empty string with shell_quoting_style.
87276
87277 2004-02-03  Bruno Haible  <bruno@clisp.org>
87278
87279         * m4/pipe.m4: New file, from GNU gettext.
87280
87281 2004-02-03  Bruno Haible  <bruno@clisp.org>
87282
87283         * lib/pipe.h: New file, from GNU gettext.
87284         * lib/pipe.c: New file, from GNU gettext.
87285
87286 2004-01-27  Bruno Haible  <bruno@clisp.org>
87287
87288         * m4/execute.m4: New file, from GNU gettext.
87289
87290 2004-01-27  Bruno Haible  <bruno@clisp.org>
87291
87292         * lib/execute.h: New file, from GNU gettext.
87293         * lib/execute.c: New file, from GNU gettext.
87294         * lib/w32spawn.h: New file, from GNU gettext.
87295
87296 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87297
87298         Merge from diffutils.
87299
87300         * lib/file-type.c (file_type): Add typed memory objects.
87301         * lib/file-type.h (S_TYPEISTMO): New macro.
87302
87303         * lib/c-stack.h (c_stack_action): Remove argv argument.
87304         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87305         (die): Don't calculate message unless segv_action returns.
87306         (get_stack_location, min_address_from_argv, max_address_from_argv,
87307         volatile stack_base, volatile_stack_size): Remove.
87308         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87309         that every segmentation violation is a stack overflow.  (Ouch!)
87310         See Debian bug 136249 (still outstanding) for more info about why
87311         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87312
87313 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87314
87315         Exit-status fix from coreutils.
87316
87317         Use exit_failure consistently in place of EXIT_FAILURE,
87318         so that program exit statuses are consistent on failure.
87319
87320         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87321         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87322         * lib/argmatch.h: Comment fix to match the above.
87323         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87324         Now a macro referring to exit_failure, instead of a separate
87325         variable.  Include "exitfail.h" to get it.
87326         * lib/xstrtol.h: Include "exitfail.h".
87327         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87328
87329         * lib/long-options.c (parse_long_options): Use prototype
87330         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87331         for clarity.
87332
87333 2004-01-21  Jim Meyering  <jim@meyering.net>
87334
87335         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87336         so as not to conflict with a different-sized __mktime_internal
87337         function in GNU libc.
87338         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87339         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87340
87341 2004-01-20  Karl Berry  <karl@gnu.org>
87342
87343         * config/config.guess: update from config.
87344
87345         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87346
87347 2004-01-20  Bruno Haible  <bruno@clisp.org>
87348
87349         Safer stack allocation.
87350         * lib/setenv.c: Include allocsa.h.
87351         (alloca): Remove fallback definition.
87352         (freea): Remove macro.
87353         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87354         instead of freea.
87355
87356 2004-01-20  Bruno Haible  <bruno@clisp.org>
87357
87358         * m4/eealloc.m4: New file, from GNU gettext.
87359
87360 2004-01-20  Bruno Haible  <bruno@clisp.org>
87361
87362         * m4/allocsa.m4: New file, from GNU gettext.
87363
87364 2004-01-20  Bruno Haible  <bruno@clisp.org>
87365
87366         * lib/xallocsa.h: New file, from GNU gettext.
87367         * lib/xallocsa.c: New file, from GNU gettext.
87368
87369 2004-01-20  Bruno Haible  <bruno@clisp.org>
87370
87371         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87372
87373 2004-01-20  Bruno Haible  <bruno@clisp.org>
87374
87375         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87376         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87377         specially.
87378
87379 2004-01-20  Bruno Haible  <bruno@clisp.org>
87380
87381         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87382         patch.
87383
87384 2004-01-20  Bruno Haible  <bruno@clisp.org>
87385
87386         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87387
87388 2004-01-20  Bruno Haible  <bruno@clisp.org>
87389
87390         * lib/eealloc.h: New file.
87391
87392 2004-01-20  Bruno Haible  <bruno@clisp.org>
87393
87394         * lib/binary-io.h: Avoid warnings on Cygwin.
87395
87396 2004-01-20  Bruno Haible  <bruno@clisp.org>
87397
87398         * lib/allocsa.h: New file, from GNU gettext.
87399         * lib/allocsa.c: New file, from GNU gettext.
87400
87401 2004-01-18  Karl Berry  <karl@gnu.org>
87402
87403         * doc/gpl.texi, doc/lgpl.texi: new files.
87404
87405 2004-01-18  Karl Berry  <karl@gnu.org>
87406
87407         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87408         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87409
87410 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87411
87412         Merge from coreutils.
87413
87414         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87415         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87416         (gl_DEFAULT_POSIX2_VERSION): Move
87417         the documentation from 'configure' into 'config.hin',
87418         so that 'configure --help' isn't burdened by it and
87419         we don't have to worry about its formatting there.
87420         Reword the documentation so that it's more succinct
87421         and can be run together into a single paragraph.
87422         * m4/same.m4 (gl_SAME): Check for pathconf.
87423
87424 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87425
87426         Merge from coreutils.
87427
87428         * lib/posixver.c: Include posixver.h.
87429
87430         * lib/same.c: Include <stdbool.h>, <limits.h>.
87431         (_POSIX_NAME_MAX): Define if not defined.
87432         (MIN): New macro.
87433         (same_name): If file names are silently truncated, report
87434         that the file names are the same if they are the same after
87435         the silent truncation.
87436
87437         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87438         conversion function.
87439         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87440         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87441         longer needed.
87442
87443 2004-01-15  Jim Meyering  <jim@meyering.net>
87444
87445         Merge from coreutils.
87446
87447         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87448         if no library is required.
87449         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87450         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87451         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87452         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87453         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87454         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87455         value, $ac_cv_search_crypt, if it's "none required".
87456         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87457         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87458         not gl_FUNC_GETLOADAVG.
87459         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87460         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87461
87462 2004-01-15  Jim Meyering  <jim@meyering.net>
87463
87464         Merge from coreutils.
87465
87466         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87467         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87468         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87469
87470         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87471         optional configure-time default.
87472
87473         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87474
87475         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87476
87477 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87478
87479         Merge from coreutils.
87480
87481         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87482         value, $ac_cv_search_nanosleep, if it's "none required".
87483
87484 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87485
87486         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87487         with like-named macro in fnmatch.c.
87488         (EXT): Use an internal constant instead.
87489
87490         Merge fnmatch patches from glibc.
87491         * lib/fnmatch.c (mbsinit): Remove define.
87492         Add libc_hidden_ver (__fnmatch, fnmatch).
87493         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87494         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87495
87496 2004-01-14  Karl Berry  <karl@gnu.org>
87497
87498         * config/install-sh: update from automake.
87499
87500 2004-01-13  Karl Berry  <karl@gnu.org>
87501
87502         * config/install-sh: update from automake.
87503
87504 2004-01-09  Karl Berry  <karl@gnu.org>
87505
87506         * config/install-sh: update from automake.
87507
87508 2004-01-05  Karl Berry  <karl@gnu.org>
87509
87510         * config/config.{sub,guess}: update from config.
87511
87512 2003-12-31  Karl Berry  <karl@gnu.org>
87513
87514         * config/depcomp: update from automake.
87515
87516 2003-12-14  Karl Berry  <karl@gnu.org>
87517
87518         * lib/config.charset: update from gettext-runtime.
87519
87520 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87521
87522         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87523         Bug reported by Alfred M. Szmidt.
87524
87525 2003-12-03  Bruno Haible  <bruno@clisp.org>
87526
87527         * m4/gettext.m4: Upgrade from gettext-0.13.
87528         * m4/po.m4: Upgrade from gettext-0.13.
87529         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87530         * m4/intmax.m4: New file, from gettext-0.13.
87531         * m4/printf-posix.m4: New file, from gettext-0.13.
87532
87533 2003-11-29  Karl Berry  <karl@gnu.org>
87534
87535         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87536
87537 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87538             Bruno Haible  <bruno@clisp.org>
87539
87540         * lib/printf-parse.h: Don't include sys/types.h.
87541         (ARG_NONE): New macro.
87542         (char_directive): Change type of *arg_index fields to size_t.
87543         * lib/printf-parse.c: Don't include sys/types.h.
87544         (SSIZE_MAX): Remove macro.
87545         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87546         Remove unnecessary overflow check.
87547         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87548         fields.
87549
87550 2003-11-25  Bruno Haible  <bruno@clisp.org>
87551
87552         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87553
87554 2003-11-25  Bruno Haible  <bruno@clisp.org>
87555
87556         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87557         gt_TYPE_SSIZE_T.
87558
87559 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87560
87561         * modules/alloca: Remove dependency on xalloc.
87562
87563 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87564
87565         * lib/alloca.c: Remove dependency on xalloc module.
87566         (xalloc_die): Remove.
87567         (memory_full) [!defined emacs]: New macro.
87568         [!defined emacs]: Don't include xalloc.h.
87569         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
87570         address arithmetic overflows.  Change datatypes a bit to avoid
87571         unnecessary casts.
87572
87573 2003-11-22  Jim Meyering  <jim@meyering.net>
87574
87575         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
87576         s/size/size_t/.
87577
87578 2003-11-21  Karl Berry  <karl@gnu.org>
87579
87580         * config/config.{sub,guess}: update from config.
87581
87582 2003-11-18  Karl Berry  <karl@gnu.org>
87583
87584         * config/config.{sub,guess}: update from config.
87585
87586         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
87587
87588 2003-11-17  Paul Eggert  <eggert@twinsun.com>
87589
87590         * README: Mention that S+T cannot overflow if S is the size of
87591         an existing object and T is sufficiently small.
87592
87593 2003-11-17  Jim Meyering  <jim@meyering.net>
87594
87595         On systems without utime and without a utimes function capable of
87596         dealing with a NULL struct utimbuf* argument, this utime replacement
87597         could -- in unusual circumstances -- leak a file descriptor.
87598         * lib/utime.c: Include <unistd.h> and <errno.h>.
87599         (utime_null): Be sure to close `fd' and to preserve errno.
87600         Reported by Geoff Collyer via Arnold Robbins.
87601
87602 2003-11-17  Bruno Haible  <bruno@clisp.org>
87603
87604         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
87605         (Depends-on): Add xsize.
87606
87607 2003-11-17  Bruno Haible  <bruno@clisp.org>
87608
87609         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
87610
87611 2003-11-17  Bruno Haible  <bruno@clisp.org>
87612
87613         * lib/vasnprintf.c (alloca): Remove fallback definition.
87614         (freea): Remove definition.
87615         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
87616         Reported by Paul Eggert.
87617
87618 2003-11-16  Paul Eggert  <eggert@twinsun.com>
87619             Bruno Haible  <bruno@clisp.org>
87620
87621         Protect against address arithmetic overflow.
87622         * lib/printf-args.h: Include stddef.h.
87623         (arguments): Change type of field 'count' to size_t.
87624         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
87625         'unsigned int' where appropriate.
87626         * lib/printf-parse.h: Include sys/types.h.
87627         (char_directive): Change type of *arg_index fields to ssize_t.
87628         (char_directives): Change type of fields 'count', max_*_length to
87629         size_t.
87630         * lib/printf-parse.c: Include sys/types.h and xsize.h.
87631         (SSIZE_MAX): Define fallback value.
87632         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
87633         instead of 'int' where appropriate. Check a_allocated, d_allocated
87634         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
87635         * lib/vasnprintf.c: Include xsize.h.
87636         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
87637         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
87638         overflow. Avoid wraparound when converting a width or precision from
87639         decimal to binary.
87640
87641 2003-11-16  Bruno Haible  <bruno@clisp.org>
87642
87643         Update from GNU gettext.
87644         * lib/printf-parse.c: Generalize to it can be compiled for wide
87645         strings.
87646         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
87647         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
87648         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
87649         SNPRINTF): New macros.
87650         Don't include <alloca.h> if the file is used inside libintl.
87651         (local_wcslen): New function, for Solaris 2.5.1.
87652         (VASNPRINTF): Use it instead of wcslen.
87653
87654 2003-11-16  Bruno Haible  <bruno@clisp.org>
87655
87656         * lib/xsize.h (xmax): New function.
87657         (xsum, xsum3, xsum4): Declare as "pure" functions.
87658
87659 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87660
87661         * modules/xalloc (Files): Undo latest change, since xalloc.h
87662         no longer needs SIZE_MAX or PTRDIFF_MAX.
87663
87664 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87665
87666         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
87667         gl_PTRDIFF_MAX.
87668
87669 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87670
87671         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
87672         "return", to pacify some unknown compiler.  Problem reported
87673         by Joerg Schilling.
87674
87675 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87676
87677         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
87678         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
87679         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
87680         heuristic is just as accurate as far as we know, and it removes a
87681         dependency on size_max.m4 and ptrdiff_max.m4.
87682
87683 2003-11-11  Bruno Haible  <bruno@clisp.org>
87684
87685         * modules/xsize (Files): Add m4/size_max.m4.
87686         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
87687
87688 2003-11-11  Bruno Haible  <bruno@clisp.org>
87689
87690         * m4/size_max.m4: New file.
87691         * m4/ptrdiff_max.m4: New file.
87692         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
87693         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
87694         (gl_XALLOC): Invoke it.
87695
87696 2003-11-11  Bruno Haible  <bruno@clisp.org>
87697
87698         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
87699         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
87700         defined.
87701
87702 2003-11-10  Paul Eggert  <eggert@twinsun.com>
87703
87704         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
87705         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
87706         rejected some allocations of exactly SIZE_MAX - 2 bytes.
87707         From Bruno Haible.
87708         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
87709         not (size_t) -1, since it's defined here.
87710
87711 2003-11-09  Karl Berry  <karl@gnu.org>
87712
87713         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
87714
87715 2003-11-06  Paul Eggert  <eggert@twinsun.com>
87716
87717         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
87718         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
87719         Reject sizes of exactly SIZE_MAX bytes.
87720         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
87721         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
87722
87723 2003-11-05  Bruno Haible  <bruno@clisp.org>
87724
87725         * lib/xsize.h: Include limits.h, to avoid a possible collision with
87726         SIZE_MAX defined in <limits.h> on Solaris.
87727
87728 2003-11-04  Jim Meyering  <jim@meyering.net>
87729
87730         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
87731         variable names, rather than @VAR@.
87732         * modules/poll: Likewise.
87733
87734 2003-11-04  Bruno Haible  <bruno@clisp.org>
87735
87736         * modules/xsize: New file.
87737         * modules/linebreak: Depend on xsize.
87738         * MODULES.html.sh (func_all_modules): Add xsize.
87739
87740 2003-11-04  Bruno Haible  <bruno@clisp.org>
87741
87742         * m4/xsize.m4: New file.
87743
87744 2003-11-04  Bruno Haible  <bruno@clisp.org>
87745
87746         * lib/xsize.h: New file.
87747         * lib/linebreak.c: Include xsize.h.
87748         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
87749         argument for overflow.
87750         Suggested by Paul Eggert.
87751
87752 2003-11-03  Karl Berry  <karl@gnu.org>
87753
87754         * config/config.{guess,sub}: update from config.
87755
87756 2003-11-03  Jim Meyering  <jim@meyering.net>
87757
87758         * modules/userspec (lib_SOURCES): Add userspec.h.
87759         (Include): Add "userspec.h".
87760         Improve description.
87761
87762 2003-11-03  Jim Meyering  <jim@meyering.net>
87763
87764         * lib/userspec.c: Include "userspec.h".
87765         * lib/userspec.h: New file.
87766
87767 2003-11-03  Bruno Haible  <bruno@clisp.org>
87768
87769         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87770
87771 2003-11-03  Bruno Haible  <bruno@clisp.org>
87772
87773         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87774         available, to avoid (extremely rare) race condition.
87775         Suggested by Paul Eggert.
87776
87777 2003-11-02  Karl Berry  <karl@gnu.org>
87778
87779         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87780
87781 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87782
87783         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87784         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87785         (read_filesystem_list): Set and use me_type_malloced.
87786         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87787         whatever the type happens to be), for brevity and consistency.
87788         Check for size calculation overflow on Alphas running OSF/1.
87789
87790 2003-10-31  Jim Meyering  <jim@meyering.net>
87791
87792         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87793
87794         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87795
87796 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87797             Bruno Haible  <bruno@clisp.org>
87798
87799         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87800         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87801
87802 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87803
87804         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87805         netbsd*-gnu*.  Suggested by Robert Millan.
87806
87807 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87808
87809         * modules/group-member: Depend on stdbool.
87810
87811 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87812
87813         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87814
87815 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87816
87817         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87818         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87819         after the 'gnu' in these cases.  This fixes some bugs in the
87820         previous change, and is based on suggestions by Robert Millan.
87821
87822 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87823
87824         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87825         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87826         no longer needed.
87827         * lib/quotearg.c (quotearg_n_options): Use it.
87828         * lib/group-member.c: Include <stdbool.h>.
87829         (free_group_info): Arg is now const *; don't free arg.
87830         (get_group_info): Now returns bool and accepts struct group_info *,
87831         rather than returning a malloc'ed struct group_info *.
87832         All uses changed.  Check for overflow in internal size calculation.
87833
87834         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87835         rather than xmalloc/xrealloc.
87836         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87837         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87838         conformance bug: the old code used a pointer after freeing the
87839         storage that it addressed.
87840         * lib/hash.c (hash_initialize): Simplify the code by using
87841         xalloc_oversized rather than doing it by hand.
87842         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87843         the buffer preserved.  Use free and xmalloc instead.
87844         * lib/quotearg.c (quotearg_n_options): Likewise.
87845         Use a simpler test for size overflow.  Don't use xalloc_oversized
87846         because unsigned int might be wider than size_t (!); this suggests
87847         that we should switch from unsigned int to size_t for slot numbers.
87848
87849 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87850
87851         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87852         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87853         NetBSD kernels.  Requested by Richard Stallman.
87854
87855 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87856
87857         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87858         to allocate the returned structure.  Do not allocate a subarray,
87859         as x2nrealloc will do that.
87860         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87861         instead of xnrealloc.
87862         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87863
87864 2003-10-27  Bruno Haible  <bruno@clisp.org>
87865
87866         * lib/stdbool_.h: Better support for BeOS.
87867
87868 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87869
87870         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87871         now uses inline.
87872
87873 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87874
87875         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87876         callers that want to do their own size-overflow checking.  Include
87877         <stdbool.h>, since xalloc_oversized returns bool.
87878         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87879         to use xalloc_oversized.
87880
87881         Add two functions x2realloc, x2nrealloc, for programs that grow
87882         arrays dynamically by doubling their sizes.
87883         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87884         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87885         New functions.
87886
87887         Port to C99 semantics for 'inline' of external functions.
87888         Bug reported by Bruno Haible.
87889         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87890         with the old contents of xnmalloc.
87891         (xnmalloc, xmalloc): Use it.
87892         (xnrealloc_inline): New static inline function,
87893         with the old contents of xnrealloc.
87894         (xnrealloc, xrealloc): Use it.
87895
87896         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87897         that.
87898
87899 2003-10-26  Karl Berry  <karl@gnu.org>
87900
87901         * config/srclist.txt (COPYING.DOC): no longer available from
87902         /gd/gnuorg; don't know where the ultimate source is.
87903
87904 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87905
87906         Fix several address-calculation bugs in the hash modules,
87907         plus some minor code cleanup.
87908
87909         * lib/hash.h: Include <stdbool.h>, for bool.
87910         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87911         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87912         hash_get_n_entries, hash_get_max_bucket_length,
87913         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87914         hash_rehash): Use size_t rather than unsigned.
87915         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87916         hash_get_n_buckets_used, hash_get_n_entries,
87917         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87918         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87919         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87920         Likewise.
87921         (SIZE_MAX): Define if not defined.
87922         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87923         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87924         hash_print):
87925         Use const * when possible.
87926         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87927         (check_tuning): Fix bug: if tuning parameters were very close to
87928         0 or 1, rounding errors could have caused subscript violations.
87929         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87930         (hash_initialize): Add 'fail:' label
87931         to free table and return NULL, and use it to simplify code.
87932         Use calloc rather than clearing the storage ourself.
87933         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87934         buffer size calculations.
87935         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87936         Include <stddef.h>, for size_t.
87937         * lib/hash-pjw.c (hash_pjw): Likewise.
87938         Switch to method described by Bruno Haible.
87939         Include <limits.h>, for CHAR_BIT.
87940         (SIZE_BITS): New macro.
87941
87942 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87943
87944         * m4/getline.m4 (AM_FUNC_GETLINE):
87945         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87946         hosts.  Problem reported by Derek Robert Price in
87947         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87948         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87949         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87950
87951 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87952
87953         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87954         ceiling the allocation at NMAX bytes rather than silently
87955         discarding input bytes before NMAX is reached.  This makes
87956         a difference only if NMAX exceeds SIZE_MAX / 2.
87957
87958         * lib/obstack.c: Merge from glibc.
87959         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87960         Add libc_hidden_def (_obstack_newchunk).
87961         (_obstack_free) [! defined _LIBC]: Remove.
87962         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87963         a clone of the function body.
87964         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87965         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87966
87967         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87968         glibc.
87969         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87970         arg to memcpy.
87971
87972         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87973         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87974         Don't use lvalue casts, as GCC plans to remove support for them
87975         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87976         was also present in the non-GCC version, indicating that this
87977         code had always been buggy and had never been widely used.
87978         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87979         Use the fast variant of each macro, rather than copying the
87980         definiens of the fast variant; that way, we'll be more likely to
87981         catch future bugs in the fast variants.
87982
87983 2003-10-20  Bruno Haible  <bruno@clisp.org>
87984
87985         * modules/wait-process: New file.
87986         * MODULES.html.sh (func_all_modules): Add wait-process.
87987
87988 2003-10-20  Bruno Haible  <bruno@clisp.org>
87989
87990         * m4/wait-process.m4: New file.
87991
87992 2003-10-20  Bruno Haible  <bruno@clisp.org>
87993
87994         * lib/wait-process.h: New file, from GNU gettext.
87995         * lib/wait-process.c: New file, from GNU gettext.
87996
87997 2003-10-19  Jim Meyering  <jim@meyering.net>
87998
87999         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88000         HPUX 10.20.
88001
88002 2003-10-18  Karl Berry  <karl@gnu.org>
88003
88004         * config/config.guess: update from config.
88005
88006 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88007
88008         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88009         (getgroups): First arg is int, not size_t.
88010         Don't let 'free' mangle errno.
88011
88012 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88013
88014         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88015
88016 2003-10-16  Karl Berry  <karl@gnu.org>
88017
88018         * config/config.{guess,sub}: update from config.
88019
88020 2003-10-16  Jim Meyering  <jim@meyering.net>
88021
88022         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88023         memcpy.
88024
88025 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88026
88027         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88028         (SIZE_MAX): Remove.
88029         (new_exclude, add_exclude_file): Initial size no longer needs to
88030         be a power of 2.
88031         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88032         our own address arithmetic overflow checking.
88033
88034         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88035         (fnmatch): Do not alloca more than 2000 wide characters;
88036         instead, use malloc for large buffers.
88037         Check for address arithmetic overflow, and return -1
88038         with errno set to ENOMEM in that case.
88039         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88040         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88041         instead, return -1.  Check for address arithmetic overflow.
88042
88043 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88044
88045         Handle invalid suffixes and overflow independently, so that
88046         callers can treat them independently as needed.  Fix some bugs in
88047         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88048         suffix for a human-readable blocksize.  The major caller-visible
88049         change is the addition of a new
88050         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88051         that both overflow and suffix chars were found.
88052
88053         * lib/human.c (humblock): Don't check separately for invalid suffix
88054         char; that is xstrtoumax's job (now that its bug is fixed).
88055         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88056         INTMAX_MAX]: New macros.
88057         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88058         TYPE_MAXIMUM): New macros.
88059         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88060         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88061         if overflow occurs, as it's what __strtol does and it's more useful
88062         in practice.
88063         (__xstrtol): If __strtol reports some error other than ERANGE,
88064         reflect it to the caller as LONGINT_INVALID.  If it reports
88065         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88066         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88067         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88068         value.
88069         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88070         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88071         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88072         [defined UINTMAX_MAX]: New macros.
88073
88074 2003-10-14  Bruno Haible  <bruno@clisp.org>
88075
88076         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88077
88078 2003-10-14  Bruno Haible  <bruno@clisp.org>
88079
88080         * m4/sig_atomic_t: New file, from GNU gettext.
88081         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88082
88083 2003-10-14  Bruno Haible  <bruno@clisp.org>
88084
88085         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88086         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88087         Also use volatile where needed.
88088
88089 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88090
88091         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88092         Change maintainer from Bruno Haible to 'all'.
88093
88094 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88095
88096         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88097
88098 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88099
88100         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88101         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88102         and define in terms of the other primitives.
88103         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88104         (SIZE_MAX): Define if not already defined.
88105         (array_size_overflow): New function.
88106         (xalloc_die): Abort instead of exiting if 'error' returns.
88107         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88108         (xmalloc, xrealloc): Use them.
88109         (xcalloc): Check for address arithmetic overflow.
88110         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88111         a bit faster than strcpy.
88112
88113 2003-10-10  Simon Josefsson  <jas@extundo.com>
88114
88115         * modules/argp (Depends-on): Add restrict and strcase.
88116
88117 2003-10-10  Simon Josefsson  <jas@extundo.com>
88118
88119         * m4/argp.m4: Add AC_C_INLINE.
88120
88121 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88122
88123         Merge getpass from libc, plus a few fixes.
88124
88125         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88126         Include <stdbool.h>.
88127         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88128         __fsetlocking to empty.
88129         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88130         do include <bits/libc-lock.h>.
88131         Do not include <fcntl.h>; not needed.
88132         [_LIBC]: Include <wchar.h>.
88133         (NOTCANCEL_MODE): New macro.
88134         (flockfile, funlockfile) [_LIBC]: New macros.
88135         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88136         [!_LIBC]: New macros.
88137         (call_fclose): New function.
88138         (getpass): Use it.  Save tty stream separately; this simplifies the
88139         code and makes it more reliable if stdin happens to equal stdout.
88140         Invoke __fsetlocking on tty.
88141         Handle thread cancellation if needed.
88142         Namespace cleanup (use __tcgetattr, __getline).
88143         Use bool for Booleans.
88144         [USE_IN_LIBIO]: Handle wide streams.
88145         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88146         stream might go where.
88147
88148         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88149         doesn't have to include <stdio.h> before us.
88150         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88151         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88152         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88153         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88154         if not declared, so that we can use getpass.c code from libc without
88155         rewriting it.
88156         (flockfile, ftrylockfile, funlockfile): New macros.
88157
88158 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88159
88160         * modules/getpass: Depend on stdbool.
88161
88162 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88163
88164         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88165
88166 2003-10-07  Karl Berry  <karl@gnu.org>
88167
88168         * config/config.{guess,sub}: update from config.
88169
88170 2003-10-06  Jim Meyering  <jim@meyering.net>
88171             Bruno Haible  <bruno@clisp.org>
88172
88173         This lets translators provide better translations for the
88174         "Written by ..." part of --version output.
88175         * lib/version-etc.h: Include stdarg.h.
88176         (version_etc_copyright): Declare as readonly.
88177         (version_etc): Make this function variadic with a NULL-terminated list
88178         of author name strings.
88179         (version_etc_va): New declaration.
88180         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88181         (version_etc_copyright): Declare as readonly.
88182         (version_etc_va): New function. Provide a different translatable string
88183         for each possible number of authors < 10. Abbreviate when there are 10
88184         authors or more.
88185         (version_etc): Make this function variadic. Call version_etc_va.
88186         Suggestion from Gary V. Vaughan.
88187
88188         * lib/long-options.h (parse_long_options): Change prototype: the
88189         authors string is moved to the end and becomes variadic.
88190         * lib/long-options.c: Include stdarg.h.
88191         (parse_long_options): Make this function variadic, too.
88192         Call version_etc_va, not version_etc.
88193
88194 2003-10-06  Bruno Haible  <bruno@clisp.org>
88195
88196         * modules/version-etc-2: Remove file.
88197         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88198
88199 2003-10-06  Bruno Haible  <bruno@clisp.org>
88200
88201         * modules/fatal-signal: New file.
88202         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88203
88204 2003-10-06  Bruno Haible  <bruno@clisp.org>
88205
88206         * m4/fatal-signal.m4: New file.
88207         * m4/signalblocking.m4: New file, from GNU gettext.
88208
88209 2003-10-06  Bruno Haible  <bruno@clisp.org>
88210
88211         * lib/version-etc-2.h: Remove file.
88212         * lib/version-etc-2.c: Remove file.
88213
88214 2003-10-06  Bruno Haible  <bruno@clisp.org>
88215
88216         * lib/fatal-signal.h: New file, from GNU gettext.
88217         * lib/fatal-signal.c: New file, from GNU gettext.
88218
88219 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88220
88221         * README: Rework advice for preventing empty .o files.
88222         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88223         not <sys/types.h>.
88224
88225 2003-10-04  Karl Berry  <karl@gnu.org>
88226
88227         * lib/argp*: update from libc.
88228
88229 2003-10-04  Karl Berry  <karl@gnu.org>
88230
88231         * config/config.{guess,sub}: update from config.
88232
88233 2003-10-02  Bruno Haible  <bruno@clisp.org>
88234
88235         * modules/lchown (Include): Add lchown.h.
88236         * modules/time_r (Include): Use "..." syntax.
88237         * modules/xgetdomainname (Include): Add xgetdomainname.h.
88238
88239 2003-10-01  Simon Josefsson  <jas@extundo.com>
88240
88241         * MODULES.html.sh (func_all_modules): Move gethostname from section
88242         'based on' to section 'lacking' POSIX:2001.
88243
88244 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
88245
88246         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
88247         to output mode on the same stream.
88248
88249 2003-09-29  Paul Eggert  <eggert@twinsun.com>
88250
88251         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
88252         Fix arg typo in previous patch.
88253
88254 2003-09-28  Jim Meyering  <jim@meyering.net>
88255
88256         * lib/error.c: Correct cpp indentation.
88257
88258 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88259
88260         * modules/free: New file.
88261
88262 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88263
88264         * m4/free.m4: New file.
88265
88266 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88267
88268         * lib/minmax.h (MIN, MAX)
88269         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88270         Omit the special code that used __typeof__, since we worry that
88271         it could be more trouble than it's worth.  See:
88272         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88273         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88274
88275         * lib/free.c: New file.
88276
88277 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88278
88279         Trivial fixes to Makefile.am parts of module listings.
88280         * modules/strstr: Append strstr.h to lib_SOURCES.
88281         * modules/strcase: Likewise, for strcase.h.
88282
88283 2003-09-27  Karl Berry  <karl@gnu.org>
88284
88285         * config/mkinstalldirs: update from automake.
88286
88287 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88288
88289         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88290         (error_tail): Do not loop, reallocating temporary buffer, since
88291         the output cannot contain more wide characters than the input
88292         contains bytes, the size must be big enough already.  This avoids
88293         one potential size overflow calculation.  Check for size overflow
88294         when calculating temporary buffer size.  Free temporary buffer
88295         when done, if it was allocated with malloc; this plugs a memory
88296         leak.  Remove casts from void * to pointers, that are no longer
88297         needed now that we're assuming C89 or better.
88298
88299         Merge error changes from glibc.
88300
88301         * lib/error.c, error.h: Update copyright notice header to match glibc.
88302         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88303         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88304         Disable cancellation while printing error.
88305         * lib/error.h: Prepend __ to parameter names.
88306
88307 2003-09-26  Jim Meyering  <jim@meyering.net>
88308
88309         * lib/error.c (error_tail): Move some declarations
88310         into inner scope where the local variables are used.
88311
88312 2003-09-26  Bruno Haible  <bruno@clisp.org>
88313
88314         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88315         stpncpy().
88316         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88317
88318 2003-09-26  Bruno Haible  <bruno@clisp.org>
88319
88320         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88321         (stpncpy): Define as alias for gnu_stpncpy.
88322         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88323
88324 2003-09-25  Simon Josefsson  <jas@extundo.com>
88325
88326         * lib/xgetdomainname.h: New file.
88327         * lib/xgetdomainname.c: New file.
88328
88329 2003-09-25  Simon Josefsson  <jas@extundo.com>
88330             Bruno Haible  <bruno@clisp.org>
88331
88332         * modules/getdomainname: New file.
88333         * modules/xgetdomainname: New file.
88334         * MODULES.html.sh (func_all_modules): Add getdomainname,
88335         xgetdomainname.
88336
88337 2003-09-25  Simon Josefsson  <jas@extundo.com>
88338             Bruno Haible  <bruno@clisp.org>
88339
88340         * m4/getdomainname.m4: New file.
88341
88342 2003-09-25  Simon Josefsson  <jas@extundo.com>
88343             Bruno Haible  <bruno@clisp.org>
88344
88345         * lib/getdomainname.h: New file.
88346         * lib/getdomainname.c: New file.
88347
88348 2003-09-25  Karl Berry  <karl@gnu.org>
88349
88350         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88351
88352 2003-09-25  Karl Berry  <karl@gnu.org>
88353
88354         * config/install-sh: update from automake.
88355
88356 2003-09-25  Bruno Haible  <bruno@clisp.org>
88357
88358         * modules/version-etc-2: New file, from modules/version-etc with
88359         modifications.
88360         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88361
88362 2003-09-25  Bruno Haible  <bruno@clisp.org>
88363
88364         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88365         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88366
88367 2003-09-24  Simon Josefsson  <jas@extundo.com>
88368
88369         * modules/xgethostname: Add xgethostname.h.
88370
88371 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88372
88373         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88374         the buffer associated with the argument.  Bug reported by
88375         Simon Josefsson.
88376
88377 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88378
88379         * README: Document assumptions that 'int' is at least 32 bits
88380         wide, that integer arithmetic is 2's complement without overflow,
88381         that there are no holes in integer values, that adding sizes of
88382         two nonoverlapping objects can't overflow, and that all-bits-zero
88383         yields scalar zero.  Fix spelling and capitalization typos.
88384
88385 2003-09-19  Karl Berry  <karl@gnu.org>
88386
88387         * lib/argp.h: update from libc.
88388
88389 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88390
88391         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88392         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88393         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88394
88395 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88396
88397         * gnulib-tool: Use "test -h", not "test -L", for portability
88398         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88399         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88400         (sed_extract_prog): Issue s commands one-by-one, rather than
88401         using \| in one s command.
88402
88403 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88404
88405         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88406         input error, instead of returning NULL the next time we are called
88407         (and therefore losing track of errno).
88408
88409 2003-09-16  Bruno Haible  <bruno@clisp.org>
88410
88411         * gnulib-tool (func_create_testdir): Warn about duplicated
88412         dependencies.
88413
88414 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88415
88416         * modules/argmatch, modules/fatal, modules/obstack,
88417         modules/xalloc, modules/xgethostname: Sort dependencies by
88418         importance, not alphabetically.
88419
88420 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88421
88422         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88423         fails, so that the caller gets the proper errno.
88424
88425         * lib/readutmp.c (read_utmp): Likewise.
88426         Check for fstat error.  Close stream and free storage
88427         when failing.
88428
88429 2003-09-14  Karl Berry  <karl@gnu.org>
88430
88431         * config/srclist.txt (strdup.c): disable for c89 changes.
88432
88433 2003-09-14  Jim Meyering  <jim@meyering.net>
88434
88435         * lib/getloadavg.c: Correct cpp indentation.
88436         * lib/strdup.c: Likewise.
88437         * lib/vasnprintf.c: Likewise.
88438
88439 2003-09-14  Bruno Haible  <bruno@clisp.org>
88440
88441         * modules/fwriteerror: New file.
88442         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88443
88444 2003-09-14  Bruno Haible  <bruno@clisp.org>
88445
88446         * lib/fwriteerror.h: New file.
88447         * lib/fwriteerror.c: New file.
88448
88449 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88450
88451         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88452         modules/xgethostname, modules/xalloc: Depend on exit.
88453
88454 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88455
88456         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88457
88458         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88459         and AC_MINIX, too, so that their extensions are available.
88460
88461         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88462         This macro has been superseded by gl_BACKUPFILE.
88463
88464         More patches to assume C89 or better.
88465
88466         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88467
88468         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88469         unconditionally.
88470         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88471         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88472         Include <string.h>, <stdlib.h> unconditionally.
88473         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88474         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88475         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88476         headers or for string.h.
88477         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88478         or strtoul.
88479
88480         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88481         headers.
88482         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88483         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88484         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88485         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88486         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88487         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88488         memcpy, memset.
88489         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88490         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88491         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88492         strtol.
88493         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88494         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88495         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88496         strtoul.
88497
88498 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88499
88500         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88501         * lib/obstack.c [!defined _LIBC]: Likewise.
88502         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88503         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88504         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88505
88506         More changes to assume C89 or better.
88507
88508         * lib/error.c (error_tail): Assume vprintf.
88509
88510         * lib/argmatch.c (getenv): Remove decl.
88511         * lib/progreloc.c (get_full_program_name): Define via prototype.
88512         * lib/setenv.c (clearenv): Likewise.
88513         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88514         needed.
88515         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88516         (malloc, memcpy): Remove decls.
88517         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88518         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88519         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88520         (memcpy): Remove macro.
88521         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88522         (__P): Remove.  All uses removed.
88523         (PTR): Remove.  All uses changed to void *.
88524         (CHAR_BIT, NULL): Remove.
88525         (spaces, zeros, memset_space, memset_zero)
88526         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88527         Remove.
88528         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88529         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88530         Define with prototype.
88531         Remove now-unnecessary prototype decl.
88532         (extra_args_spec): Assume ANSI C.  All uses changed.
88533         (extra_args_spec_iso): Remove.
88534         (my_strftime, emacs_strftimeu): Define via prototype.
88535         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88536         unconditionally.
88537         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88538         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88539         (strtoul, strtol): Remove decls.
88540         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88541         LONG_MAX): Remove.
88542         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88543         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88544         (LOCALE_PARAM_PROTO): New macro.
88545         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88546         (INTERNAL (strtol), strtol): Define with a prototype.
88547         (PARAMS): Remove.  All uses removed.
88548         * lib/tempname.c: Include <string.h> unconditionally.
88549         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88550         * lib/xgethostname.c (main): Define with a prototype.
88551         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88552         Include <stdlib.h> unconditionally.
88553         (calloc, malloc, realloc, free): Remove decls.
88554         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88555         Include <stdlib.h> unconditionally.  Sort include file names.
88556         (strtod): Remove.
88557         (xstrtod): Define with a prototype.
88558         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88559         (strtol, strtoul): Remove decls.
88560
88561 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88562
88563         More patches to assume C89 or better.
88564         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
88565         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
88566         string.h, memchr, STDC_HEADERS.
88567
88568 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88569
88570         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
88571         Include <stdlib.h>, <string.h> unconditionally.
88572         Remove now-unnecessary cast to char *.
88573         * lib/strnlen.c: Include <string.h> unconditionally.
88574         * lib/yesno.c (yesno): Define with a prototype.
88575
88576 2003-09-11  Bruno Haible  <bruno@clisp.org>
88577
88578         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
88579
88580 2003-09-10  Jim Meyering  <jim@meyering.net>
88581
88582         * lib/error.c: Correct indentation of cpp directives.
88583
88584 2003-09-10  Bruno Haible  <bruno@clisp.org>
88585
88586         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
88587         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
88588         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
88589         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
88590         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
88591         <stdlib.h> and <string.h> checks.
88592         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
88593         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
88594
88595 2003-09-10  Bruno Haible  <bruno@clisp.org>
88596
88597         * lib/strcspn.c: Include <string.h> unconditionally.
88598         * lib/strpbrk.c: Include <string.h> unconditionally.
88599         * lib/strstr.c: Include <string.h> unconditionally.
88600         * lib/unicodeio.c: Include <string.h> unconditionally.
88601         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
88602         * lib/unsetenv.c: Likewise.
88603         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
88604         * lib/yesno.c: Include <stdlib.h> unconditionally.
88605         (rpmatch): Add prototype.
88606
88607 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88608
88609         More patches to assume C89 or better.
88610         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
88611         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
88612         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
88613         or for string.h.
88614         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
88615         stdlib.h.
88616         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
88617         C headers.
88618         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
88619         string.h.
88620         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
88621         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
88622         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
88623         or for string.h.
88624         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
88625         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
88626         C headers.
88627         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
88628         memcpy.
88629         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
88630         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
88631         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
88632         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
88633         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
88634         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
88635         string.h, free.
88636         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
88637         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
88638         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
88639         C headers, or for string.h.
88640         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
88641         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
88642         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
88643         headers, memory.h, stdlib.h, string.h, strings.h.
88644         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
88645         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
88646         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
88647         strchr.
88648         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
88649         headers, memory.h, string.h.
88650         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
88651         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
88652         free.
88653         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
88654         headers.
88655         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
88656         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
88657         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
88658         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
88659         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
88660
88661 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88662
88663         More K&R removal.
88664
88665         * lib/acosl.c (main): Use a prototype.
88666         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
88667         tanl.c: Likewise.
88668
88669         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
88670
88671         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
88672         (getopt, etopt_long, getopt_long_only, _getopt_internal)
88673         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
88674         with a prototype.
88675         * lib/getopt.c (const): Remove macro.
88676         Include <string.h> unconditionally.
88677         (my_index): Remove; all uses changed to strchr.
88678         (strlen): Remove decl.
88679         (exchange): Remove forward decl; no longer needed.
88680         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
88681         Define with prototype.
88682         * lib/getopt1.c (const): Remove macro.
88683         (getopt_long, getopt_long_only, main): Define with prototype.
88684
88685         * lib/getugroups.c: Include <string.h> unconditionally.
88686
88687         * lib/getusershell.c: Include <stdlib.h> unconditionally.
88688         (getusershell, setusershell, endusershell, readname, main):
88689         Define with prototypes.
88690
88691         * lib/group-member.c: Include group-member.h first.
88692         Include <stdlib.h> unconditionally.
88693
88694         * lib/hard-locale.c: Include hard-locale.h first.
88695         Include <stdlib.h>, <string.h> unconditionally.
88696
88697         * lib/hash.c (free, malloc): Remove decls.
88698         Include <stdlib.h> unconditionally.
88699
88700         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
88701         (getenv): Do not declare.
88702
88703         * lib/idcache.c: Include <string.h> unconditionally.
88704
88705         * lib/long-options.c: Include long-options.h first, to test interface.
88706         Include <stdlib.h> unconditionally.
88707
88708         * lib/makepath.c: Include makepath.h first, to test interface.
88709         Include <stdlib.h> and <string.h> unconditionally.
88710
88711         * lib/linebuffer.c: Include <stdlib.h>.
88712         (free): Remove decl.
88713
88714         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
88715         stddef.h. rpl_malloc returns void *, not char *.
88716         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
88717         prototype.
88718
88719         * lib/md5.h: Include <limits.h> unconditionally.
88720         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
88721         (__P): Remove; all uses removed.
88722         * lib/md5.c: Include "md5.h" first.
88723         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
88724         md5_buffer, md5_process_bytes, md5_process_block):
88725         Define with prototypes.
88726         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
88727         * lib/sha.c: Include "sha.h" first.
88728         Include <stdlib.h>, <string.h> unconditionally.
88729
88730         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
88731         * lib/memcmp.c (__ptr_t): Likewise.
88732         * lib/memrchr.c (__ptr_t): Likewise.
88733         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
88734         Include <string.h> unconditionally.
88735         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
88736         * lib/memchr.c: Include <stdlib.h> unconditionally.
88737         * lib/memchr.c (LONG_MAX): Remove.
88738         * lib/memrchr.c (LONG_MAX): Likewise.
88739         * lib/memchr.c (__memchr): Define via a prototype.
88740         * lib/memrchr.c (__memrchr): Likewise.
88741         * lib/memcmp.c (__P): Remove, and remove all uses.
88742         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
88743         Remove forward decls; no longer needed.
88744         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
88745         Use types required by C89 in prototype.
88746
88747         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
88748         * lib/savedir.c: Likewise.
88749         * lib/mkdir.c (free): Remove decl.
88750         * lib/rmdir.c (rmdir): Define with a prototype.
88751         * lib/savedir.c: Include savedir.h first, to test interface.
88752
88753         * lib/mktime.c (STDC_HEADERS): Remove.
88754         Include <stdlib.h>, <string.h> unconditionally.
88755
88756         * lib/modechange.c: Include <stdlib.h> unconditionally.
88757         (malloc): Remove decl.
88758
88759         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
88760         (free): Remove decl.
88761
88762         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
88763         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
88764         (This type really should be intptr_t, but that's a C99ism.)
88765         (_obstack_memcpy): Remove: all uses changed to memcpy.
88766         Include <string.h> unconditionally.
88767         (struct obstack): Assume __STDC__ for types of members
88768         chunkfun, freefun, extra_arg.
88769         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88770         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88771         obstack_begin, obstack_specify_allocation,
88772         obstack_specify_allocation_with_arg, obstack_chunkfun,
88773         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88774         Remove unprototyped decls and the macros that use them.
88775         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88776         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88777         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88778         (defined __STDC__ && __STDC__)]:
88779         Remove nonprototyped code.
88780         Include <stdlib.h> unconditionally.
88781         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88782         _obstack_allocated_p, _obstack_free, obstack_free,
88783         _obstack_memory_used, print_and_abort):
88784         Define using prototypes.
88785         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88786         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88787         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88788         obstack_next_free, obstack_object_size, obstack_room) [0]:
88789         Remove unused, unprototyped code.
88790
88791         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88792
88793         * lib/physmem.c (physmem_total, physmem_available, main): Define
88794         with prototypes.
88795
88796         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88797         (main): Define with a prototype.
88798
88799         * lib/posixver.c (getenv): Remove decl.
88800
88801         * lib/putenv.c (malloc): Returns void *, not char *.
88802         Include <string.h> unconditionally.
88803         (strchr, memcpy, NULL): Do not define.
88804
88805         * lib/readtokens.c: Include readtokens.h first, to test interface.
88806         Include <stdlib.h>, <string.h> unconditionally.
88807         (init_tokenbuffer): Define with a prototype.
88808
88809         * lib/regex.c (PARAMS): Remove.  All uses removed.
88810         All uses of _RE_ARGS removed, too.
88811         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88812         unconditionally.
88813         (bzero): Assume memset exists.
88814         (memcmp, memcpy, NULL): Remove.
88815         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88816         char, or assignments to local vars of type signed char.
88817         (init_syntax_once, PREFIX(extract_number_and_incr),
88818         PREFIX(print_partial_compiled_pattern),
88819         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88820         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88821         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88822         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88823         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88824         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88825         wcs_compile_range, byte_compile_range, truncate_wchar,
88826         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88827         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88828         count_mbs_length, wcs_re_match_2_internal,
88829         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88830         PREFIX(alt_match_null_string_p),
88831         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88832         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88833         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88834         now-unnecessary declaration, if any.
88835         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88836         regcomp, regexec):
88837         Remove now-unnecessary casts among pointer types.
88838         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88839
88840         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88841         (free): Remove decl.
88842
88843         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88844
88845         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88846         (free): Remove decl.
88847
88848         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88849         * lib/xgetcwd.c: Likewise.
88850
88851         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88852         (free): Remove decl.
88853
88854         * lib/strchrnul.c (strchrnul): Define with a prototype.
88855         Fix bug: c_in was not converted to char before searching.
88856
88857         The following changes are not K&R related:
88858
88859         * lib/group-member.h: Include <sys/types.h>, so that this file is
88860         self-contained.
88861         * lib/makepath.h: Likewise.
88862
88863         * lib/getusershell.c (readname, default_index, line_size, readname):
88864         Use size_t, not int, for sizes.
88865         (readname): If the size overflows, report an error instead of
88866         looping forever.
88867
88868 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88869
88870         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88871         libc.
88872
88873 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88874
88875         * README: New section: portability guidelines.
88876
88877 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88878
88879         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88880         C89 spec.
88881
88882 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88883
88884         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88885
88886 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88887
88888         Assume C89 or better; remove K&R cruft.
88889         A few of these changes were first proposed by Derek Robert Price
88890         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88891
88892         * lib/addext.c: Include <string.h> unconditionally.
88893         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88894         Don't declare getenv or malloc.
88895
88896         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88897         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88898         (NULL): Remove.
88899         (find_stack_direction, alloca): Use prototypes.
88900
88901         * lib/atexit.c (atexit): Define using a prototype.
88902
88903         * lib/basename.c, dirname.c, stripslash.c:
88904         Include <string.h> unconditionally.
88905
88906         * lib/bcopy.c: Include <stddef.h>.
88907         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88908
88909         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88910
88911         * lib/error.h (error, error_at_line, error_print_progname)
88912         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88913         * lib/error.c: Include error.h first, to check interface.
88914         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88915         (VA_START): Remove; all uses changeed to va_start.
88916         (exit, strerror): Remove decls.
88917         (error_print_progname): Prototype uncondionally.
88918         Don't include <errno.h>; no longer needed.
88919         (private_strerror): Remove.
88920         (error_tail): Always define.
88921         (error, error_at_line): Assume C89 or better; always use prototypes.
88922         * lib/fatal.c: Include "fatal.h" first, to test interface.
88923         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88924         (VA_START): Remove; all uses changed to va_start.
88925         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88926         this case.
88927         (exit): Remove decl.
88928         (fatal): Prototype unconditionally.  Assume va_start works.
88929         Abort at end, to pacify gcc.
88930
88931         * lib/euidaccess.c (main): Define with a prototype.
88932
88933         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88934
88935         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88936
88937         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88938         prototypes.
88939         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88940         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88941         (getenv): Remove decl.
88942         (fnmatch): Define using a prototype.
88943         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88944         (FCT): Define using a prototype.
88945
88946         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88947
88948         * lib/gethostname.c: Include <stddef.h>.
88949         (gethostname): Define with prototype.  Length is size_t, not int.
88950
88951 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88952
88953         Assume C89 or better; remove K&R cruft.
88954         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88955         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88956         string.h, getenv, malloc.
88957         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88958         headers.
88959         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88960         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88961         do not check for strerror.
88962         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88963         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88964         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88965         do not check for doprnt or vprintf.
88966         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88967         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88968
88969 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88970
88971         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88972         getversion.c should have been removed then, but was accidentally
88973         preserved.
88974
88975         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88976         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88977
88978 2003-09-08  Karl Berry  <karl@gnu.org>
88979
88980         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88981                 config, forget about prep.
88982
88983         * config/depcomp, missing: update from automake.
88984
88985 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88986
88987         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88988         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88989
88990 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88991
88992         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88993         copy_tm_result.  Bug reported by Simon Josefsson in
88994         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88995
88996 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88997
88998         * m4/time_r.m4: New file.
88999         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89000         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89001         is. Check for timegm declaration.
89002         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89003         Do not check for gmtime_r.
89004         Replace mktime if __mktime_internal does not exist and if mktime
89005         hasn't been replaced already.
89006
89007 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89008
89009         * lib/time_r.c, lib/time_r.h: New files.
89010
89011         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89012         __localtime_r.
89013         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89014         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89015
89016         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89017         __gmtime_r.
89018         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89019         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89020         Include <time_r.h>.
89021
89022         * lib/timegm.c: Switch to glibc implementation, with the following
89023         changes:
89024         [defined HAVE_CONFIG_H]: Include <config.h>.
89025         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89026         (__mktime_internal) [!defined _LIBC]: New decl.
89027         (__gmtime_r) [!defined _LIBC]: New macro and function.
89028         (timegm): Use a prototype, since gnulib assumes C89.
89029         Do not bother declaring tmp to be const, as it's not really usefu.
89030         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89031         (timegm): Declare only if HAVE_DECL_TIMEGM.
89032
89033 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89034
89035         * MODULES.html.sh (func_all_modules): Add time_r.
89036         * modules/time_r: New file.
89037         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89038         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89039
89040 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89041
89042         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89043         Bug reported by Lute Kamstra in
89044         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89045
89046         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89047         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89048         course with correspondingly smaller numbers for tomorrow and
89049         yesterday.  From Tadayoshi Funaba.  Originally installed into
89050         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89051         coreutils merge?).
89052
89053 2003-08-31  Simon Josefsson  <jas@extundo.com>
89054
89055         * modules/timegm: New file.
89056         * MODULES.html.sh (func_all_modules): Add timegm.
89057
89058 2003-08-31  Simon Josefsson  <jas@extundo.com>
89059
89060         * m4/timegm.m4: New file.
89061
89062 2003-08-31  Simon Josefsson  <jas@extundo.com>
89063
89064         * lib/timegm.h: New file.
89065         * lib/timegm.c: New file.  Based on
89066         wget-1.8.2/src/http.c:mktime_from_utc.
89067
89068 2003-08-31  Karl Berry  <karl@gnu.org>
89069
89070         * lib/argp.h: update from libc.
89071
89072 2003-08-28  Bruno Haible  <bruno@clisp.org>
89073
89074         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89075         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89076         followed by '#define fnmatch fnmatch_posix' gives an error.
89077
89078 2003-08-28  Bruno Haible  <bruno@clisp.org>
89079
89080         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89081         warning on QNX, which defines O_BINARY to 000000.
89082
89083 2003-08-27  Jim Meyering  <jim@meyering.net>
89084
89085         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89086         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89087         would fail after 32.  Reported by Danny Levinson.  Details here:
89088         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89089
89090 2003-08-24  Bruno Haible  <bruno@clisp.org>
89091
89092         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89093         MSVC7 <stdio.h> is included later.
89094
89095 2003-08-22  Simon Josefsson  <jas@extundo.com>
89096
89097         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89098
89099 2003-08-20  Karl Berry  <karl@gnu.org>
89100
89101         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89102
89103 2003-08-20  Bruno Haible  <bruno@clisp.org>
89104
89105         * modules/progname: New file.
89106         * MODULES.html.sh (func_all_modules): Add progname.
89107
89108 2003-08-20  Bruno Haible  <bruno@clisp.org>
89109
89110         * lib/progname.h: New file, from GNU gettext.
89111         * lib/progname.c: New file, from GNU gettext.
89112         * lib/progreloc.c: New file, from GNU gettext.
89113
89114 2003-08-19  Jim Meyering  <jim@meyering.net>
89115
89116         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89117         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89118
89119 2003-08-19  Bruno Haible  <bruno@clisp.org>
89120
89121         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89122         more.
89123
89124 2003-08-19  Bruno Haible  <bruno@clisp.org>
89125
89126         * lib/xstrdup.c: Assume <string.h> exists.
89127
89128 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89129
89130         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89131         in makefile rules.
89132
89133 2003-08-18  Jim Meyering  <jim@meyering.net>
89134
89135         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89136         * m4/lib-ld.m4: Likewise.
89137
89138 2003-08-18  Jim Meyering  <jim@meyering.net>
89139
89140         * lib/setenv.h: Indent nested cpp directive.
89141         * lib/vasnprintf.c: Remove trailing blanks.
89142
89143 2003-08-17  Simon Josefsson  <jas@extundo.com>
89144
89145         * modules/xstrndup: New file.
89146         * MODULES.html.sh (func_all_modules): Add xstrndup.
89147
89148 2003-08-17  Simon Josefsson  <jas@extundo.com>
89149
89150         * modules/argp: Fix autoconf macro name. Add more dependencies.
89151
89152 2003-08-17  Simon Josefsson  <jas@extundo.com>
89153
89154         * m4/xstrndup.m4: New file.
89155
89156 2003-08-17  Simon Josefsson  <jas@extundo.com>
89157
89158         * m4/argp.m4: New file.
89159
89160 2003-08-17  Simon Josefsson  <jas@extundo.com>
89161             Bruno Haible  <bruno@clisp.org>
89162
89163         * lib/xstrndup.h: New file.
89164         * lib/xstrndup.c: New file.
89165
89166 2003-08-17  Bruno Haible  <bruno@clisp.org>
89167
89168         * modules/strndup (Files, Include): Add lib/strndup.h.
89169
89170 2003-08-17  Bruno Haible  <bruno@clisp.org>
89171
89172         * modules/euidaccess (Files): Add lib/euidaccess.h.
89173
89174 2003-08-17  Bruno Haible  <bruno@clisp.org>
89175
89176         * lib/strndup.h: New file.
89177
89178 2003-08-17  Bruno Haible  <bruno@clisp.org>
89179
89180         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89181         like AC_GNU_SOURCE.
89182         * modules/extensions (configure.ac): Comment out the invocation of
89183         gl_USE_SYSTEM_EXTENSIONS.
89184
89185 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89186
89187         Merges from coreutils, etc.
89188         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89189         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89190         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89191         fixing a typo.
89192         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89193         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89194
89195 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89196
89197         Document merge from coreutils.
89198         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89199         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89200         * modules/utime: Add m4/utimes-null.m4.
89201
89202 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89203
89204         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89205         space, undoing this 2003-08-12 change:
89206         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89207
89208 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89209
89210         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89211         strtoul.c from libc, undoing this 2003-08-12 change:
89212         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89213
89214 2003-08-16  Jim Meyering  <jim@meyering.net>
89215
89216         Merges from coreutils.
89217         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89218         prefix.  Adjust cache variables similarly.  Create 500 rather than
89219         just 300 files, to exercise bug on Darwin6.5, too.
89220         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89221         $missing_dir.
89222         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89223         AM_SYS_POSIX_TERMIOS.
89224         Reported by mkc@mathdogs.com.
89225         Also change use of $am_cv_sys_posix_termios
89226         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89227         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89228         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89229         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89230         in /proc/mounts until it finds one with matching device number.  This
89231         is unnecessary when the FILE argument *is* a mount point.  No stat call
89232         is necessary in that case.  So, disable the statvfs-testing code on
89233         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
89234         as RedHat bug# 84846.
89235         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89236         to 1MB, so as not to render systems with no stack size limit (e.g.,
89237         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89238         Include <unistd.h>.  On some systems,
89239         it is required for the definition of _SC_PAGESIZE.
89240
89241 2003-08-16  Jim Meyering  <jim@meyering.net>
89242
89243         Merge from coreutils.
89244         * lib/xstrtoimax.c: #else #if -> #elif.
89245         * lib/xstrtoumax.c: Likewise.
89246
89247 2003-08-16  Jim Meyering  <jim@meyering.net>
89248
89249         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
89250         * m4/utimes.m4: Removed.
89251         * m4/utimes-null.m4: Renamed from utimes.m4.
89252
89253         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89254         to 1MB, so as not to render systems with no stack size limit (e.g.,
89255         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89256         Include <unistd.h>.  On some systems,
89257         it is required for the definition of _SC_PAGESIZE.
89258
89259 2003-08-16  Jim Meyering  <jim@meyering.net>
89260         and Paul Eggert  <eggert@cs.ucla.edu>
89261
89262         Merges from coreutils, etc.
89263
89264         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89265         using the latest version from cvs.  This avoids problems with #line
89266         directives using a vendor (Sun) compiler.
89267         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89268         Don't set GETGROUPS_LIB here; now it's
89269         done via getgroups.m4's wrapper function.
89270         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89271         rather than just in sh-util/configure.in, so that the
89272         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89273         same.
89274         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89275         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89276         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89277         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89278         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89279         Remove code that is now done by the newly-required macros.
89280         Append $(EXEEXT) to DF_PROG.
89281         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89282         Do not invoke or require the following here,
89283         since prereq.m4 or some gnulib .m4 now does this for us:
89284         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89285         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89286         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89287         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89288         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89289         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89290         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89291         AC_FUNC_OBSTACK.
89292         Do not replace the following functions, as this is now the job
89293         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89294         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89295         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89296         atexit getpass, strdup, getpagesize.
89297         Replace 'raise'.
89298         Do not check for the following functions, as this is now the job
89299         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89300         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89301         setregid.
89302         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89303         Check for sys/sysctl.h.
89304         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89305         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89306         of checking for ssize_t ourselves.
89307
89308         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89309         Require every macro that gnulib/modules/* suggests for us.
89310         (jm_PREREQ_ADDEXT): New macro.
89311         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89312         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89313
89314         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89315         (gl_PHYSMEM): Use it.
89316         Also check for `table' function.
89317         Check for new headers and functions.
89318         Add check for sys/sysmp.h.
89319         With suggestions from Kaveh Ghazi.
89320         Ignore headers that are present but cannot be compiled.  This
89321         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89322         C 5.4.
89323
89324 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89325
89326         Document merge from coreutils.
89327         * modules/userspec: Depend on posixver.
89328         * modules/strftime: Depend on tzset.
89329
89330 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89331
89332         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89333         rather than tab, after '#' in shell-script copyright notices.
89334         Suggested by Bruno Haible.
89335
89336 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89337
89338         * config/srclist-update: Use three spaces, rather than tab, after '#'
89339         in shell-script copyright notices.  Suggested by Bruno Haible.
89340         Remove unnecessary parenthesization in regular expression.
89341
89342 2003-08-15  Jim Meyering  <jim@meyering.net>
89343
89344         Merge from coreutils.
89345         * lib/xgethostname.c: Include <stdlib.h>.
89346         (xghostname): Don't exit for anything other than memory-related
89347         failure; just return NULL.
89348         * lib/userspec.c: Include "posixver.h".
89349         (parse_user_spec): Accept `.' as a separator only
89350         in pre-POSIX-200112 mode.
89351         * lib/strtoimax.c: Use #elif rather than #else #if.
89352         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89353         Remove function, now that we can rely on a working tzset function.
89354         [!_LIBC]: Ensure that the required autoconf test has been run.
89355         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89356         Use underlying_strftime for %r.
89357         * lib/sha.c: Merge in some clean-up and optimization changes from
89358         glibc.
89359         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89360         Ensure that it is a multiple of 64.
89361         Rearrange loop exit tests so as to avoid performing an
89362         additional fread after encountering an error or EOF.
89363         * lib/realloc.c: Update copyright date.
89364
89365 2003-08-15  Jim Meyering  <jim@meyering.net>
89366         and Paul Eggert  <eggert@twinsun.com>
89367
89368         Merge from coreutils.
89369         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89370         member but strut utmpx does not.  Needed for AIX 4.3.3.
89371         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89372
89373 2003-08-15  Jim Meyering  <jim@meyering.net>
89374         and Paul Eggert  <eggert@cs.ucla.edu>
89375
89376         Merges from coreutils, etc.
89377         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89378         Require gl_FUNC_TZSET_CLOBBER.
89379         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89380         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89381         members.
89382
89383 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89384
89385         Help the merge from coreutils.
89386         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89387         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89388         * m4/tzset.m4: Use it too.
89389
89390 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89391
89392         * modules/tzset: New file.
89393
89394 2003-08-14  Jim Meyering  <jim@meyering.net>
89395
89396         Merges from coreutils.
89397         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89398         variable names, rather than @FNMATCH_H@.
89399         * modules/alloca: Likewise for $(ALLOCA_H).
89400
89401         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89402         the three copies of the literal target, `fnmatch.h'.
89403         * modules/alloca (alloca.h): Likewise.
89404
89405 2003-08-14  Jim Meyering  <jim@meyering.net>
89406
89407         Merge from coreutils.
89408         * m4/tzset.m4: New file.
89409         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89410         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89411         otherwise, AIX 5.1 systems would end up using the latter.
89412         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89413         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89414         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89415         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89416
89417 2003-08-14  Jim Meyering  <jim@meyering.net>
89418
89419         Merge from coreutils.
89420         * lib/obstack.h: Whitespace changes.
89421         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89422         and xcalloc return values.
89423         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89424         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89425         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89426         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89427         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89428         error from mntctl.
89429         Use mntctl's return value to drive the entry-processing loop, since
89430         we can't rely on the value of the vmt_length member in the last
89431         entry.  On some systems doing so could result in exhausting
89432         virtual memory.  Based in part on a patch from Mike Jetzer.
89433
89434 2003-08-14  Jim Meyering  <jim@meyering.net>
89435         and Paul Eggert  <eggert@twinsun.com>
89436
89437         Merges from coreutils, plus other fixes.
89438         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89439         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89440         for credits and details.  Thanks to Kaveh Ghazi for helping
89441         to keep these files in sync.
89442         (ARRAY_SIZE): Define it.
89443         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89444         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89445         (memcasecmp): Don't assume size_t fits in unsigned int.
89446         Remove casts and duplicate code.
89447         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89448         (memcpy): Remove definition.
89449         Merge in some clean-up and optimization changes from glibc.
89450         [BLOCKSIZE]: Move definition to top of file.
89451         Ensure that it is a multiple of 64.
89452         Rearrange loop exit tests so as to avoid performing an
89453         additional fread after encountering an error or EOF.
89454         * lib/md5.h (md5_uintptr): Define.
89455         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89456         return to the initial working directory.  Preserve errno
89457         for caller.
89458         * lib/idcache.c: Include "xalloc.h".
89459         (xmalloc, xrealloc): Remove decls.
89460         (getuser): Remove casts no longer required in C89.
89461         * lib/human.c: Include stdio.h, for sprintf.
89462         * lib/group-member.c: Include "xalloc.h".
89463         (xmalloc, xrealloc): Remove decls.
89464         (get_group_info): Remove casts no longer required in C89.
89465         * lib/getusershell.c (readname): Remove casts no longer required in
89466         C89.
89467         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89468         * lib/getline.c: Whitespace fix, from coreutils.
89469
89470 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89471
89472         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89473         Check for isascii.
89474
89475         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89476         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89477         Undo previous (whitespace-only) change.
89478
89479 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89480
89481         * lib/exclude.c: Include <ctype.h>
89482         (IN_CTYPE_DOMAIN): New macro.
89483         (is_space): New fn.
89484         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89485         and empty lines.
89486
89487         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89488         Undo previous (whitespace-only) change.
89489
89490 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89491
89492         * config/srclist-update: Change update back to the old behavior,
89493         leaving whitespace alone.  Use one 'sed' command rather than a
89494         pipeline.
89495         (fixlicense): Now a variable, not a function.
89496         (remove_trailing_blanks): Remove.
89497         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89498         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89499         Undo previous (whitespace-only) change.
89500
89501 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89502
89503         Merge from coreutils.
89504         * modules/euidaccess: Add lib_SOURCES, include for new
89505         file euidaccess.h
89506
89507 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89508
89509         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89510         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89511         Normalize leading white space and remove trailing white space.
89512
89513         Merge from coreutils
89514         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89515
89516         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89517         0.12.1.  These files are now being upgraded automatically by
89518         ../config/srclist-update.
89519
89520 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89521
89522         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89523         Normalize leading white space and remove trailing white space.
89524         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89525         notice, as per ../config/srclist-update.
89526
89527         Merge from coreutils.
89528         * lib/euidaccess.h: New file.
89529         * lib/euidaccess.c: Include it.
89530         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89531         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89532         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89533
89534 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89535
89536         * config/srclist-update: Add copyright notice.
89537         (remove_id_lines, remove_trailing_blanks): New constants.
89538         (fixfile): Use them to normalize spacing a bit in copied files.
89539         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89540         Normalize leading white space and remove trailing white space.
89541
89542         * config/texinfo.tex: Sync with texinfo.
89543
89544         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89545         strtoul.c from libc, to merge coreutils whitespace changes.
89546
89547         * config/srclist.txt: Get the following m4 files from gettext:
89548         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89549         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89550         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89551         wint_t.m4.
89552
89553 2003-08-12  Karl Berry  <karl@gnu.org>
89554
89555         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89556         been made.
89557
89558 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89559
89560         * modules/gnu-source, m4/gnu-source.m4:
89561         Remove; we're assuming Autoconf 2.54 or later now.
89562         Suggested by Bruno Haible.
89563         * MODULES.html.sh (func_all_modules): Remove gnu-source.
89564
89565 2003-08-11  Bruno Haible  <bruno@clisp.org>
89566
89567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
89568
89569 2003-08-11  Bruno Haible  <bruno@clisp.org>
89570
89571         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
89572         (vasnprintf): Use it instead of wcslen.
89573
89574 2003-08-11  Bruno Haible  <bruno@clisp.org>
89575
89576         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
89577         value to ensure that _Bool promotes to int. Use #define for _Bool when
89578         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
89579
89580 2003-08-10  Karl Berry  <karl@gnu.org>
89581
89582         * lib/regex.h: update from libc (whitespace fix).
89583
89584 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89585
89586         Merge some files from coreutils.  These changes were
89587         originally made by Jim Meyering.
89588         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
89589         many older Unixes require this.
89590         * lib/alloca.c (alloca): Remove cast to argument of free;
89591         no longer needed in C89.
89592         * lib/alloca_.h, regex.h: Fix white space to match
89593         what GNU indent does.
89594
89595 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89596
89597         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
89598         apparently Emacs's Unicode mode got confused before my 2003-08-05
89599         checkin.
89600
89601 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89602
89603         * m4/extensions.m4: New file.
89604         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
89605         Require gl_USE_SYSTEM_EXTENSIONS.
89606         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
89607         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
89608
89609 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89610
89611         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
89612         * modules/extensions, modules/gnu-source: New files.
89613         * modules/timespec, modules/unlocked-io: Depend on extensions.
89614
89615 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89616
89617         * modules/restrict: New file.
89618         * MODULES.html.sh (func_all_modules): Add restrict.
89619         * modules/regex: Depend on restrict.
89620
89621 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89622
89623         * m4/restrict.m4: New file.
89624         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
89625
89626 2003-08-07  Bruno Haible  <bruno@clisp.org>
89627
89628         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
89629         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
89630
89631 2003-08-07  Bruno Haible  <bruno@clisp.org>
89632
89633         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
89634         makes the module 'getndelim2' compatible with the module 'getline'.
89635
89636 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89637
89638         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
89639         byte with "\201" to avoid glitches when editing that source file
89640         with multi-gnome-terminal.
89641
89642 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89643
89644         * lib/bumpalloc.h: Remove.
89645
89646 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89647
89648         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
89649         * modules/bumpalloc: Remove.
89650
89651 2003-08-04  Paul Eggert  <eggert@twinsun.com>
89652
89653         * lib/getloadavg.c: Change copyright notice and spacing to conform to
89654         GNU coding style.
89655
89656         Merge from coreutils.
89657         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
89658         1. From glibc.
89659         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
89660         from Karl Berry, implemented by Jim Meyering.
89661         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
89662         from Dmitry V. Levin.
89663         Remove anachronistic cast of xrealloc.
89664         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
89665         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
89666         type. Otherwise, it wouldn't compile with at least /bin/cc on
89667         ymp-cray-unicos9.0.2.X.
89668         Combine two mostly-identical uses of alloca into one.
89669         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
89670
89671 2003-08-04  Dave Love  <d.love@dl.ac.uk>
89672
89673         [From Emacs.]
89674
89675         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
89676         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
89677         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
89678         obsolete NLIST_NAME_UNION.
89679         [__GNU__]: Undef BSD and FSCALE.
89680         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
89681
89682 2003-08-03  Paul Eggert  <eggert@twinsun.com>
89683
89684         * lib/stdbool_.h (_Bool): Make it signed char, instead of
89685         an enum type, so that it's guaranteed to promote to int.  See:
89686         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
89687
89688 2003-08-03  Karl Berry  <karl@gnu.org>
89689
89690         * config/depcomp: update from automake.
89691
89692 2003-07-31  Paul Eggert  <eggert@twinsun.com>
89693
89694         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
89695         (strerror): Don't assume that a printable int fits in 14 bytes.
89696
89697 2003-07-31  Bruno Haible  <bruno@clisp.org>
89698
89699         * modules/getpass-gnu: New file.
89700         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
89701
89702 2003-07-31  Bruno Haible  <bruno@clisp.org>
89703
89704         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
89705
89706 2003-07-24  Karl Berry  <karl@gnu.org>
89707
89708         * config/missing: update from automake.
89709
89710 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
89711             Bruno Haible  <bruno@clisp.org>
89712
89713         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
89714         * lib/getline.c (getline, getdelim): Likewise.
89715         Remove _GNU_SOURCE define; now it's defined in config.h through
89716         m4/getline.m4.
89717
89718 2003-07-23  Karl Berry  <karl@gnu.org>
89719
89720         * config/config.sub: update from prep.
89721
89722 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89723
89724         * modules/xalloc (Depends-on): Add exitfail.
89725         * modules/xmemcoll: Likewise.
89726
89727 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89728
89729         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
89730         over-parenthesization in macros.
89731
89732         Sync with coreutils.
89733
89734         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
89735         required by C99.
89736
89737         Use `exit_failure' for xalloc and xmemcoll instead of their own
89738         private exit-failure variables.
89739         * lib/xalloc.h (xalloc_exit_failure): Remove.
89740         * lib/xmalloc.c: Likewise.  Include exitfail.h.
89741         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
89742         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
89743         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
89744         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
89745
89746 2003-07-20  Jim Meyering  <jim@meyering.net>
89747
89748         * modules/closeout (Depends-on): Add exitfail.
89749         Suggestion from Bruno Haible.
89750
89751 2003-07-19  Karl Berry  <karl@gnu.org>
89752
89753         * config/config.sub: update from prep.
89754
89755 2003-07-18  Paul Eggert  <eggert@twinsun.com>
89756
89757         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
89758         Remove.
89759         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
89760         to test that it can stand by itself.  Include "exitfail.h".
89761         Clients should set exit_failure instead.
89762         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
89763
89764 2003-07-18  Bruno Haible  <bruno@clisp.org>
89765
89766         * modules/getndelim2: New file.
89767         * modules/getline: Share files with module getndelim2.
89768         * modules/getnline: Depend on getndelim2 instead of sharing files with
89769         it. Add getnline.c to lib_SOURCES.
89770         * MODULES.html.sh (func_all_modules): Add getndelim2.
89771
89772 2003-07-18  Bruno Haible  <bruno@clisp.org>
89773
89774         * m4/getndelim2.m4: New file.
89775         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89776         invoke gl_PREREQ_GETNDELIM2.
89777         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89778         gl_PREREQ_GETNDELIM2.
89779         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89780         gl_GETNDELIM2.
89781
89782 2003-07-18  Bruno Haible  <bruno@clisp.org>
89783
89784         * lib/getndelim2.h: New file.
89785         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89786         getndelim2.h.
89787         (getndelim2): Make non-static. Change return type to ssize_t.
89788         * lib/getline.h: Change argument names.
89789         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89790         * lib/getnline.c: Include getndelim2.h.
89791
89792 2003-07-18  Andreas Schwab  <schwab@suse.de>
89793
89794         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89795
89796 2003-07-17  Karl Berry  <karl@gnu.org>
89797
89798         * config/config.sub: update from prep.
89799
89800 2003-07-17  Bruno Haible  <bruno@clisp.org>
89801
89802         * modules/getnline: New file.
89803         * modules/getline: Add lib/getndelim2.c to source file list.
89804         * MODULES.html.sh (func_all_modules): Add getnline.
89805
89806 2003-07-17  Bruno Haible  <bruno@clisp.org>
89807
89808         * m4/getnline.m4: New file.
89809
89810 2003-07-17  Bruno Haible  <bruno@clisp.org>
89811
89812         * m4/Makefile.am.in: Remove file.
89813         * m4/Makefile.am: Remove file.
89814         * m4/Makefile.in: Remove file.
89815
89816 2003-07-17  Bruno Haible  <bruno@clisp.org>
89817
89818         * lib/getnline.h: New file.
89819         * lib/getnline.c: New file.
89820         * lib/getndelim2.c: New file, extracted from getline.c.
89821         (getndelim2): Renamed from getdelim2, with added nmax argument.
89822         * lib/getline.c: Include getndelim2.c.
89823         (getdelim2): Moved out to getndelim2.c.
89824         (getline, getdelim): Update.
89825
89826 2003-07-17  Bruno Haible  <bruno@clisp.org>
89827
89828         * lib/Makefile.am: Remove file.
89829         * lib/Makefile.in: Remove file.
89830
89831 2003-07-17  Bruno Haible  <bruno@clisp.org>
89832
89833         * configure.in: Remove file.
89834         * Makefile.in: Remove file.
89835
89836 2003-07-17  Bruno Haible  <bruno@clisp.org>
89837
89838         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89839
89840 2003-07-16  Karl Berry  <karl@gnu.org>
89841
89842         * config/srclist-update: was running fixlicense twice, which caused
89843                 texinfo.tex to be nullified for some reason.  Simplify,
89844                 $gplsrc is no longer needed as far as I can see?
89845
89846 2003-07-16  Jim Meyering  <jim@meyering.net>
89847
89848         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89849
89850 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89851
89852         * config/srclist.txt: Get the following files from gettext-runtime/intl
89853         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89854         ref-del.sin.  From Bruno Haible.
89855         * config/srclist-update (fixfile): Change grep pattern again, since the
89856         previous fix didn't work (there was another trailing $).  Use
89857         '[$]' to escape the $s.
89858
89859 2003-07-15  Karl Berry  <karl@gnu.org>
89860
89861         * lib/vasnprintf.c: update from gettext.
89862
89863 2003-07-15  Karl Berry  <karl@gnu.org>
89864
89865         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89866         gets expanded when surrounded by '$'.
89867
89868 2003-07-15  Jim Meyering  <jim@meyering.net>
89869
89870         * modules/save-cwd: Don't depend on error.  From Derek Price.
89871
89872 2003-07-15  Jim Meyering  <jim@meyering.net>
89873
89874         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89875
89876 2003-07-14  Simon Josefsson  <jas@extundo.com>
89877
89878         * modules/mempcpy: New file.
89879         * MODULES.html.sh (func_all_modules): Add mempcpy.
89880
89881 2003-07-14  Simon Josefsson  <jas@extundo.com>
89882
89883         * m4/mempcpy.m4: New file.
89884
89885 2003-07-14  Simon Josefsson  <jas@extundo.com>
89886
89887         * lib/mempcpy.h: New file.
89888         * lib/mempcpy.c: New file.
89889
89890 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89891
89892         * modules/getdate, modules/posixtm: Depend on mktime.
89893
89894 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89895
89896         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89897         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89898         unicodeio.c, unicodeio.h, unlocked-io.h:
89899         Switch from LGPL to GPL.
89900
89901 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89902
89903         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89904         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89905         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89906         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89907         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89908         updated automatically by ../config/srclist-update.  This changes
89909         their license from LPGL to GPL.
89910
89911 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89912
89913         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89914         assumed to refer to the root of the most recent stable gettext version.
89915         * config/srclistvars.sh: Add defaults for eggert.
89916         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89917         Match "This program" as well as "The program".  This is needed
89918         for gettext.
89919
89920 2003-07-14  Jim Meyering  <jim@meyering.net>
89921
89922         Don't emit diagnostics.  Let callers do that.
89923         * lib/save-cwd.c: Don't include "error.h".
89924         (save_cwd): Don't call error.  Ensure that errno is valid
89925         when returning nonzero.
89926
89927         * lib/save-cwd.h (restore_cwd): Update prototype.
89928         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89929         Simplify.  Don't call error upon failure.  Let callers do that.
89930         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89931         when auditing is enabled.  But don't bother updating the #if.
89932
89933 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89934
89935         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89936         it breaks C++ compilation.
89937         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89938
89939 2003-07-10  Simon Josefsson  <jas@extundo.com>
89940
89941         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89942
89943 2003-07-10  Jim Meyering  <jim@meyering.net>
89944
89945         * m4/clock_time.m4: Remove trailing blank.
89946         * m4/intmax_t.m4: Likewise.
89947
89948 2003-07-10  Jim Meyering  <jim@meyering.net>
89949
89950         * lib/vasnprintf.c: Remove trailing blanks.
89951         Make cpp indentation consistent.
89952
89953 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89954
89955         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89956         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89957         Switch from LGPL to GPL.
89958
89959 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89960
89961         * config/srclist.txt: Sort sublists.  Add
89962         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89963         that differ from gnulib for one reason or another; we'd like this list
89964         to be smaller but for now let's document what we have.
89965
89966 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89967
89968         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89969         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89970         and sweeter "eval x=$x".
89971         * config/srclist.txt: Get lib/argp* from glibc.
89972
89973 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89974
89975         * lib/mktime.c: Fix some boundary cases and remove need for floating
89976         point.
89977
89978         Issue a compile-time diagnostic if time_t is floating point, or if
89979         two's complement arithmetic is not in effect, or if arithmetic
89980         right shift does not propagate the sign.  These assumptions were
89981         all in the original code but they weren't checked.
89982
89983         (TIME_T_MIDPOINT, verify): New macros.
89984         (__isleap): Remove; it has integer overflow problems.
89985         (leapyear): New function, without those problems.
89986         (ydhms_tm_diff): Remove; splitting into two parts.
89987         (ydhms_diff): New function, containing the arithmetic part of
89988         the old ydhms_tm_diff function.  Issue a compile-time
89989         diagnostic if we are not using C99 integer division.
89990         Avoid casts when possible.
89991         (guess_time_tm): New function, containing the checking part of
89992         the old ydhms_tm_diff function.  Return the new value, rather than
89993         the difference between it and the old.  Accept a new argument T
89994         so that *T specifies the old value.  Check for overflow in the result.
89995
89996         (__mktime_internal): Use a time_t offset, not a long int offset.
89997         This undoes the 2003-06-04 change, which is no longer needed now
89998         that we have better overflow checking.
89999         (localtime_offset): Likewise.
90000
90001         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90002         and long are 64-bit but int is only 32-bit.
90003         (ydhms_diff): Use long int to store year1 and yday1.
90004         Issue a compile-time diagnostic if long int is not wide enough.
90005
90006         (__mktime_internal): Use long int to store adjusted year and yday.
90007         Use plain C rather than preprocessor commands, if that doesn't
90008         affect efficiency.
90009         Check for overflow (and try to repair) after each probe
90010         rather than checking only at the very end.  This avoids some bugs
90011         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90012         does not equal GMT offset at maximum time).
90013         Use integer to check for overflow rather than floating point; this
90014         is more portable to non-IEEE hosts, and is a tad faster.
90015         When we detect that we are oscillating between two values,
90016         don't check whether tm_isdst has the requested value, since
90017         we already know the answer.  When tm_isdst has the wrong value,
90018         use a different heuristic to find the right one, based on the
90019         extreme values actually observed in practice in tz2003a,
90020         rather than the (overly optimistic) "previous 3 calendar quarters".
90021
90022         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90023         "T const" to accommodate glibc style.
90024         (check_result): Use less-confusing report format.  "long" -> "long int.
90025         (main): Likewise.
90026         Don't loop if the iteration overflows time_t.
90027         Allow a negative step in the iteration.
90028
90029 2003-07-06  Karl Berry  <karl@gnu.org>
90030
90031         * config/depcomp: update from automake.
90032         * config/config.sub: update from prep.
90033
90034 2003-07-03  Karl Berry  <karl@gnu.org>
90035
90036         * config/config.guess: update from prep.
90037
90038 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90039
90040         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90041         xreadlink.c now includes it unconditionally.
90042
90043 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90044
90045         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90046         having it depend on HAVE_SYS_TYPES_H.
90047
90048 2003-07-01  Bruno Haible  <bruno@clisp.org>
90049
90050         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90051         <sys/types.h> should be sufficient.
90052         Reported by Paul Eggert.
90053
90054 2003-06-26  Karl Berry  <karl@gnu.org>
90055
90056         * config/depcomp: update from automake.
90057
90058 2003-06-26  Bruno Haible  <bruno@clisp.org>
90059
90060         * modules/human: Depend on module stdbool.
90061
90062 2003-06-25  Bruno Haible  <bruno@clisp.org>
90063
90064         * modules/readlink: New file.
90065         * modules/xreadlink: Depend on it.
90066         * MODULES.html.sh (func_all_modules): Add readlink.
90067
90068 2003-06-25  Bruno Haible  <bruno@clisp.org>
90069
90070         * m4/readlink.m4: New file.
90071
90072 2003-06-25  Bruno Haible  <bruno@clisp.org>
90073
90074         * lib/readlink.c: New file.
90075
90076 2003-06-22  Karl Berry  <karl@gnu.org>
90077
90078         * config/srclist.txt: update mkinstalldirs from automake.
90079         * config/mkinstalldirs: update.
90080
90081 2003-06-22  Bruno Haible  <bruno@clisp.org>
90082
90083         Portability to mingw32.
90084         * m4/ssize_t.m4: New file, from GNU gettext.
90085         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90086         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90087
90088 2003-06-22  Bruno Haible  <bruno@clisp.org>
90089
90090         * modules/safe-read: Add m4/ssize_t.m4.
90091         * modules/xreadlink: Add m4/ssize_t.m4.
90092
90093 2003-06-20  Bruno Haible  <bruno@clisp.org>
90094
90095         Assume C89, so PARAMS isn't needed.
90096         * lib/unicodeio.h (PARAMS): Remove.
90097         * lib/unicodeio.c: Don't use PARAMS.
90098
90099 2003-06-18  Karl Berry  <karl@gnu.org>
90100
90101         * config/config.{guess,sub}: update from prep.
90102
90103 2003-06-18  Jim Meyering  <jim@meyering.net>
90104
90105         Merge changes from coreutils.
90106         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90107         Remove explicit declarations of xmalloc and realloc.
90108         Include xalloc.h.
90109         (read_utmp): Remove anachronistic cast of xmalloc.
90110
90111 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90112
90113         Assume C89, so PARAMS isn't needed.
90114         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90115         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90116         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90117         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90118         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90119         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90120         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90121         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90122         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90123         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90124         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90125         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90126         no longer needed. Anyway, config.h should always be included before any
90127         other file.
90128
90129 2003-06-11  Simon Josefsson  <jas@extundo.com>
90130
90131         * modules/sysexits: New file.
90132         * MODULES.html.sh (func_all_modules): Add sysexits.
90133
90134 2003-06-11  Simon Josefsson  <jas@extundo.com>
90135
90136         * lib/sysexit_.h: New file.
90137
90138 2003-06-11  Derek Price  <derek@ximbiot.com>
90139
90140         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90141         necessary.
90142
90143 2003-06-11  Bruno Haible  <bruno@clisp.org>
90144
90145         * m4/sysexits.m4: New file.
90146
90147 2003-06-10  Simon Josefsson  <jas@extundo.com>
90148
90149         * lib/argp.h: New file, from glibc.
90150         * lib/argp-ba.c: New file, from glibc.
90151         * lib/argp-eexst.c: New file, from glibc.
90152         * lib/argp-fmtstream.c: New file, from glibc.
90153         * lib/argp-fmtstream.h: New file, from glibc.
90154         * lib/argp-fs-xinl.c: New file, from glibc.
90155         * lib/argp-help.c: New file, from glibc.
90156         * lib/argp-namefrob.h: New file, from glibc.
90157         * lib/argp-parse.c: New file, from glibc.
90158         * lib/argp-pv.c: New file, from glibc.
90159         * lib/argp-pvh.c: New file, from glibc.
90160         * lib/argp-xinl.c: New file, from glibc.
90161
90162 2003-06-10  Simon Josefsson  <jas@extundo.com>
90163
90164         * modules/strchrnul: New file.
90165
90166 2003-06-10  Simon Josefsson  <jas@extundo.com>
90167
90168         * modules/argp: New file.
90169
90170 2003-06-10  Simon Josefsson  <jas@extundo.com>
90171
90172         * m4/strchrnul.m4: New file.
90173
90174 2003-06-10  Simon Josefsson  <jas@extundo.com>
90175
90176         * lib/strchrnul.h: New file.
90177         * lib/strchrnul.c: New file.
90178
90179 2003-06-10  Bruno Haible  <bruno@clisp.org>
90180
90181         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90182
90183 2003-06-07  Karl Berry  <karl@gnu.org>
90184
90185         * config/config.{guess,sub}: update from prep.
90186
90187 2003-06-07  Jim Meyering  <jim@meyering.net>
90188
90189         * modules/strtod: Use $(...) notation, not @...@ for
90190         AC_REPLACE'd variables.
90191         * modules/localcharset: Likewise.
90192
90193 2003-06-07  Jim Meyering  <jim@meyering.net>
90194
90195         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90196         in place of my name in the copyright comment.
90197         Remove definition and uses of __P.
90198
90199         From coreutils.
90200         * lib/stat.c: Don't declare xmalloc explicitly.
90201         Instead, include "xalloc.h".
90202         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90203         xrealloc, and xcalloc return values.
90204         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90205         Improve comment.
90206         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90207
90208 2003-06-07  Bruno Haible  <bruno@clisp.org>
90209
90210         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90211         avoid AC_CONFIG_LINKS.
90212         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90213         fnmatch.h, to avoid AC_CONFIG_LINKS.
90214         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90215
90216 2003-06-07  Bruno Haible  <bruno@clisp.org>
90217
90218         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90219         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90220         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90221         directory.
90222         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90223         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90224         directory.
90225
90226 2003-06-06  Jim Meyering  <jim@meyering.net>
90227
90228         Merge from coreutils.
90229         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90230         Consolidate declarations and initializations of *_base* locals.
90231
90232         Merge from coreutils.
90233         This avoids a core dump on systems without GNU putenv,
90234         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
90235         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
90236         (unsetenv): New static function, from GNU libc.
90237         (rpl_putenv): Use it.
90238
90239         * lib/modechange.c: Remove trailing blanks.
90240
90241         Merge from coreutils.
90242         * lib/fsusage.c: Remove declaration of statfs.
90243         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
90244
90245         * lib/posixtm.c: Include <stdbool.h> unconditionally.
90246
90247 2003-06-06  Jim Meyering  <jim@meyering.net>
90248
90249         * lib/stdbool_.h: Renamed from stdbool.h.in.
90250
90251 2003-06-06  Jim Meyering  <jim@meyering.net>
90252             Bruno Haible  <bruno@clisp.org>
90253
90254         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
90255         Adjust Makefile.am snippet not to redirect directly to target.
90256         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90257
90258 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90259
90260         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90261         mismatch, look in future quarters as well as past.  This fixes a
90262         bug when processing fall-backwards gaps immediately after a long
90263         period of daylight-saving time.
90264
90265         * lib/mktime.c: Assume freestanding C89 or better.
90266         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90267         (__P): Remove; not used.
90268         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90269         (mktime, not_equal_tm, print_tm, check_result,
90270         main): Use prototypes.  Use const * where appropriate.
90271         (main): Fix typo in testing code that uncovered by above changes.
90272         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90273
90274 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90275
90276         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90277         locale.h, localeconv.  This merges changes from coreutils.
90278
90279         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90280         It can be removed after the next Autoconf is released.
90281         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90282         needed.
90283
90284 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90285
90286         * lib/mktime.c: Fix Debian bug 177940
90287         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90288         (localtime_offset): Now long int, not time_t, because we want it
90289         to be guaranteed to be signed.  All uses changed.
90290         (__mktime_internal): If overflow would occur when adding offset,
90291         don't add it.
90292
90293         Merge 'human' changes from coreutils.  Rewrite to support
90294         locale-specific notations like thousands separators.
90295         * lib/human.c: Simplify authorship notice.
90296         Include human.h immediately after config.h.
90297         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90298         <limits.h>: Do not include, since human.h does.
90299         (SIZE_MAX, UINTMAX_MAX): New macros.
90300         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90301         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90302         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90303         (power_letter): Renamed from suffixes.
90304         (generate_suffix_backwards): Remove.
90305         (adjust_value): Now takes int style (because of human.h changes)
90306         and long double value (for greater precision on some platforms).
90307         (group_number): New function.
90308         (human_readable): Use it.  Use integer options, not enum.
90309         Put the options before the sizes in the arg list.
90310         Support all the new options.
90311         The old human_readable function has been removed;
90312         use inttostr.h instead.
90313         (human_readable, default_block_size, humblock):
90314         Use uintmax_t, not int, for block sizes.
90315         (human_readable_inexact, block_size_types): Remove.
90316         (block_size_opts): New constant.
90317         (human_options): Renamed from human_block_size, with new signature
90318         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90319         * lib/human.h: Add copyright and authorship notice.
90320         Include <limits.h> and <stdbool.h> unconditionally.
90321         (PARAMS): Remove.  All uses removed.
90322         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90323         (enum human_inexact_style): Remove tag; now a nameless enum.
90324         (human_floor, human_ceiling, human_round_to_even): Now have
90325         values 2, 0, 1 rather than -1, 1, 0.
90326         (human_group_digits, human_suppress_point_zero, human_autoscale,
90327         human_base_1024, human_SI, human_B): New constants.
90328         (human_readable_inexact, human_block_size): Remove.
90329         (human_readable): Size args are now uintmax_t, not int.
90330         (human_options): New decl.
90331
90332         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90333         unnecessary now that we assume C89 or better.  This change
90334         imported from coreutils.
90335
90336         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90337         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90338         in the 2003-05-30 sync from glibc.
90339
90340         .h files should stand alone, but we shouldn't include <sys/types.h>
90341         if we can get away with just <stddef.h>.
90342
90343         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90344         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90345         rather than <sys/types.h>, as we merely need size_t.
90346         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90347         to get size_t.
90348         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90349         Include <stdio.h>, to get FILE.
90350         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90351         memcasecmp.h has included <stddef.h> and all we need is size_t.
90352         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90353         our interface, instead of including <sys/types.h>
90354
90355 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90356
90357         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90358         now, as glibc mktime is buggy on non-glibc systems.
90359
90360 2003-06-03  Karl Berry  <karl@gnu.org>
90361
90362         * config/config.sub: update from prep.
90363
90364 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90365
90366         [from coreutils]
90367         Fix some minor time-related bugs with POSIX time arguments.
90368         Some valid time stamps were being rejected (notably -1, and
90369         time stamps before 1900 on 64-bit hosts).  And some invalid
90370         time stamps were being accepted, e.g. September 31.
90371
90372         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90373         that we can return (time_t) -1 successfully.
90374         * lib/posixtm.c: Likewise.
90375         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90376         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90377         (t): Remove static var.
90378         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90379         of static var.  All uses changed.
90380         (year): Do not reject years before 1900; they can occur with
90381         64-bit time_t.
90382         (posix_time_parse): Do not check for out-of-range components;
90383         that is now the caller's responsibility, since our checks were
90384         only approximations.
90385         (posixtime): Use mktime to check for out-of-range components,
90386         since it knows them exactly.
90387         If mktime returns (time_t) -1, check whether an error actually occurred
90388         by invoking localtime on -1.
90389         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90390         posixtime failures better.
90391         Improve the test data (in comments only).
90392
90393 2003-06-02  Karl Berry  <karl@gnu.org>
90394
90395         * config/mkinstalldirs (version): new variable.
90396         (--version): new option.
90397         (usage): improve message.
90398
90399 2003-05-30  Karl Berry  <karl@gnu.org>
90400
90401         * lib/mktime.c: update from libc.
90402
90403 2003-05-30  Bruno Haible  <bruno@clisp.org>
90404
90405         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90406         * config/config.rpath: Upgrade to gettext-0.12.1.
90407
90408 2003-05-30  Bruno Haible  <bruno@clisp.org>
90409
90410         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90411         * m4/nls.m4: New file, from gettext-0.12.1.
90412         * m4/po.m4: New file, from gettext-0.12.1.
90413         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90414
90415 2003-05-30  Bruno Haible  <bruno@clisp.org>
90416
90417         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90418         * lib/localcharset.h: Likewise.
90419         * lib/localcharset.c: Likewise.
90420
90421 2003-05-29  Karl Berry  <karl@gnu.org>
90422
90423         * config/config.rpath: update from gettext.
90424
90425 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90426
90427         Assume the headers required for C89 freestanding compilers.
90428         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90429         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90430         * m4/human.m4 (gl_HUMAN): Likewise.
90431         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90432         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90433         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90434         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90435         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90436         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90437
90438 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90439
90440         Assume the headers required for C89 freestanding compilers.
90441         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90442         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90443         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90444         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90445         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90446         define, since <limits.h> is guaranteed to do that.
90447         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90448         * lib/exclude.c: Include <stdbool.h> unconditionally.
90449         * lib/tempname.c: Include <stddef.h> unconditionally.
90450         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90451         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90452         <stddef.h> does that.
90453         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90454         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90455         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90456         needed.
90457         * lib/xstrtol.c: Likewise.
90458         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90459         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90460
90461         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90462         warnings on some platforms.
90463
90464         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90465         arbitrarily.
90466
90467 2003-05-26  Jim Meyering  <jim@meyering.net>
90468
90469         Merge in a change from coreutils:
90470         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90471         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90472         that condition, rather than `-1' which is slightly misleading.
90473         Change the name of the cache variable to have the gl_ prefix.
90474         Prompted by a patch from Richard Dawe for DJGPP.
90475
90476 2003-05-24  Karl Berry  <karl@gnu.org>
90477
90478         * config/config.guess: update from prep.
90479
90480 2003-05-22  Karl Berry  <karl@gnu.org>
90481
90482         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90483
90484 2003-05-20  Karl Berry  <karl@gnu.org>
90485
90486         * config/config.guess: update from prep.
90487
90488 2003-05-18  Karl Berry  <karl@gnu.org>
90489
90490         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90491         might actually be set by the user.
90492
90493         * config/depcomp, install-sh, mdate-sh: update from automake.
90494
90495 2003-05-17  Bruno Haible  <bruno@clisp.org>
90496
90497         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90498         invalid expansion for AC_EGREP_CPP.
90499         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90500         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90501         Suggested by Akim Demaille <akim@epita.fr> in
90502         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90503
90504 2003-05-12  Jim Meyering  <jim@meyering.net>
90505
90506         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90507         the space-padded-by-default conversion specifiers, %e, %k, %l.
90508
90509 2003-05-12  Bruno Haible  <bruno@clisp.org>
90510
90511         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90512         the string is longer than 4 KB.
90513
90514 2003-05-11  Karl Berry  <karl@gnu.org>
90515
90516         * config/config.{guess,sub}: update from prep.
90517
90518 2003-05-09  Bruno Haible  <bruno@clisp.org>
90519
90520         * modules/error: Add m4/strerror_r.m4 to file list.
90521
90522 2003-05-03  Bruno Haible  <bruno@clisp.org>
90523
90524         Upgrade to Unicode-4.0.
90525         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90526         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90527         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90528         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90529         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90530         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90531         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90532         Change width of U+E0100..U+E01EF from 1 to 0.
90533
90534 2003-04-25  Jim Meyering  <jim@meyering.net>
90535
90536         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90537         of type size_t, not int.
90538
90539 2003-04-25  Bruno Haible  <bruno@clisp.org>
90540
90541         * lib/copy-file.c: Include <stddef.h>, for size_t.
90542
90543 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90544
90545         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90546         code which expansion is under static control.  Patch imported from
90547         Akim Demaille's patch to Bison; see
90548         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90549
90550 2003-04-14  Bruno Haible  <bruno@clisp.org>
90551
90552         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90553
90554 2003-04-11  Jim Meyering  <jim@meyering.net>
90555
90556         Merge changes from Coreutils.
90557
90558         2003-03-22  Jim Meyering  <jim@meyering.net>
90559
90560         * lib/strftime.c (widen): Cast alloca return value to proper type.
90561
90562         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90563
90564         From GNU libc.
90565         * lib/strftime.c (my_strftime): Handle very large width
90566         specifications for numeric values correctly.  Improve checks for
90567         overflow.
90568
90569         2003-01-19  Jim Meyering  <jim@meyering.net>
90570
90571         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
90572         definitions.
90573         (nl_get_alt_digit) [! defined my_strftime]: Define.
90574         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
90575         _nl_get_alt_digit and _nl_get_walt_digit.
90576
90577         * lib/strftime.c (my_strftime): Merge in locale-related changes from
90578         libc. These changes have no effect outside of _LIBC.
90579
90580 2003-04-10  Bruno Haible  <bruno@clisp.org>
90581
90582         * modules/findprog: New file.
90583         * MODULES.html.sh (func_all_modules): Add it.
90584
90585 2003-04-10  Bruno Haible  <bruno@clisp.org>
90586
90587         * m4/findprog.m4: New file.
90588         * m4/eaccess.m4: New file.
90589
90590 2003-04-10  Bruno Haible  <bruno@clisp.org>
90591
90592         * lib/findprog.h: New file, from GNU gettext.
90593         * lib/findprog.c: New file, from GNU gettext.
90594
90595 2003-04-05  Jim Meyering  <jim@meyering.net>
90596
90597         Merge changes from Coreutils.
90598
90599         * lib/exclude.h (PARAMS): Remove definition and uses.
90600         * lib/exclude.c: Remove uses of `PARAMS'.
90601
90602         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
90603         Add test-cases for DOS filenames. Declare program_name.
90604         (main): Set up program_name.  Patch by Rich Dawe.
90605
90606         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90607         error from mntctl.
90608         Use mntctl's return value to drive the entry-processing loop, since
90609         we can't rely on the value of the vmt_length member in the last
90610         entry.  On some systems doing so could result in exhausting
90611         virtual memory.  Based in part on a patch from Mike Jetzer.
90612
90613 2003-04-04  Bruno Haible  <bruno@clisp.org>
90614
90615         * modules/linebreak: New file.
90616         * MODULES.html.sh (func_all_modules): Add it.
90617
90618 2003-04-04  Bruno Haible  <bruno@clisp.org>
90619
90620         * m4/linebreak.m4: New file.
90621
90622 2003-04-04  Bruno Haible  <bruno@clisp.org>
90623
90624         * lib/linebreak.h: New file, from GNU gettext.
90625         * lib/linebreak.c: New file, from GNU gettext with slight
90626         modifications.
90627         * lib/lbrkprop.h: New file, from GNU gettext.
90628
90629 2003-04-03  Bruno Haible  <bruno@clisp.org>
90630
90631         * modules/utf8-ucs4: New file.
90632         * modules/utf16-ucs4: New file.
90633         * modules/ucs4-utf8: New file.
90634         * modules/ucs4-utf16: New file.
90635         * MODULES.html.sh (func_all_modules): Add them.
90636
90637 2003-04-03  Bruno Haible  <bruno@clisp.org>
90638
90639         * m4/utf-ucs4.m4: New file.
90640         * m4/ucs4-utf.m4: New file.
90641
90642 2003-04-03  Bruno Haible  <bruno@clisp.org>
90643
90644         * lib/utf8-ucs4.h: New file, from GNU gettext.
90645         * lib/utf16-ucs4.h: New file, from GNU gettext.
90646         * lib/ucs4-utf8.h: New file, from GNU gettext.
90647         * lib/ucs4-utf16.h: New file, from GNU gettext.
90648
90649 2003-04-02  Bruno Haible  <bruno@clisp.org>
90650
90651         * modules/binary-io: New file.
90652         * MODULES.html.sh (func_all_modules): Add it.
90653
90654 2003-04-02  Bruno Haible  <bruno@clisp.org>
90655
90656         * lib/binary-io.h: New file, from GNU gettext.
90657
90658 2003-04-01  Bruno Haible  <bruno@clisp.org>
90659
90660         * modules/pathname: New file.
90661         * MODULES.html.sh (func_all_modules): Add it.
90662
90663 2003-04-01  Bruno Haible  <bruno@clisp.org>
90664
90665         * lib/pathname.h: New file, from GNU gettext.
90666         * lib/concatpath.c: New file, from GNU gettext.
90667
90668 2003-03-30  Bruno Haible  <bruno@clisp.org>
90669
90670         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
90671
90672 2003-03-30  Bruno Haible  <bruno@clisp.org>
90673
90674         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
90675         function chown() doesn't exist.
90676
90677 2003-03-28  Bruno Haible  <bruno@clisp.org>
90678
90679         * modules/copy-file: New file.
90680         * MODULES.html.sh (func_all_modules): Add it.
90681
90682 2003-03-28  Bruno Haible  <bruno@clisp.org>
90683
90684         * m4/copy-file.m4: New file.
90685
90686 2003-03-28  Bruno Haible  <bruno@clisp.org>
90687
90688         * lib/copy-file.h: New file, from GNU gettext.
90689         * lib/copy-file.c: New file, from GNU gettext.
90690
90691 2003-03-18  Jim Meyering  <jim@meyering.net>
90692
90693         * lib/quote.c (quote_n): Fix typo in comment.
90694
90695 2003-03-18  Bruno Haible  <bruno@clisp.org>
90696
90697         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
90698         checking.
90699         * m4/onceonly_2_57.m4: Likewise.
90700
90701 2003-03-17  Bruno Haible  <bruno@clisp.org>
90702
90703         * m4/onceonly.m4: Require autoconf 2.54 or newer.
90704         (m4_quote): Remove macro.
90705         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
90706
90707 2003-03-14  Jim Meyering  <jim@meyering.net>
90708
90709         Merge changes from Coreutils.
90710         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
90711         to be const, in order to avoid warnings.
90712         (obstack_room): Likewise.
90713         (obstack_empty_p): Likewise.
90714
90715 2003-03-14  Bruno Haible  <bruno@clisp.org>
90716
90717         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
90718         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
90719
90720 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90721
90722         Merge changes from Bison.
90723         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
90724         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
90725         when compiling Bison 1.875's `bitset bset = obstack_alloc
90726         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
90727         * lib/hash.c: Include <stdbool.h> unconditionally.
90728
90729 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90730
90731         * m4/onceonly.m4 (m4_quote): New macro.
90732         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
90733         Quote AC_FOREACH variable-expansions properly.
90734
90735 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90736
90737         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
90738
90739 2003-03-09  Paul Eggert  <eggert@twinsun.com>
90740
90741         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
90742         Reported by Bruce Becker; see:
90743         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
90744
90745 2003-03-03  Paul Eggert  <eggert@twinsun.com>
90746             Bruno Haible  <bruno@clisp.org>
90747
90748         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
90749         Reported by John Hughes, see
90750         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
90751
90752 2003-02-20  Bruno Haible  <bruno@clisp.org>
90753
90754         * MODULES.html.sh (func_all_modules): Add poll.
90755
90756 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90757
90758         * modules/poll: New file.
90759
90760 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90761
90762         * lib/poll_.h: New file.
90763         * lib/poll.c: New file.
90764
90765 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90766
90767         * m4/poll.m4: New file.
90768
90769 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90770
90771         * modules/mathl: New file.
90772
90773 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90774
90775         * lib/mathl.h: New file.
90776         * lib/acosl.c: New file.
90777         * lib/asinl.c: New file.
90778         * lib/atanl.c: New file.
90779         * lib/ceill.c: New file.
90780         * lib/cosl.c: New file.
90781         * lib/expl.c: New file.
90782         * lib/floorl.c: New file.
90783         * lib/frexpl.c: New file.
90784         * lib/ldexpl.c: New file.
90785         * lib/logl.c: New file.
90786         * lib/sincosl.c: New file.
90787         * lib/sinl.c: New file.
90788         * lib/sqrtl.c: New file.
90789         * lib/tanl.c: New file.
90790         * lib/trigl.c: New file.
90791         * lib/trigl.h: New file.
90792
90793 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90794
90795         * m4/mathl.m4: New file.
90796
90797 2003-02-18  Bruno Haible  <bruno@clisp.org>
90798
90799         * MODULES.html.sh (func_all_modules): Add mathl.
90800
90801 2003-02-17  Bruno Haible  <bruno@clisp.org>
90802
90803         * modules/mkdtemp: New module.
90804         * MODULES.html.sh (func_all_modules): Add it.
90805
90806 2003-02-17  Bruno Haible  <bruno@clisp.org>
90807
90808         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90809
90810 2003-02-17  Bruno Haible  <bruno@clisp.org>
90811
90812         * lib/mkdtemp.h: New file, from GNU gettext.
90813         * lib/mkdtemp.c: New file, from GNU gettext.
90814
90815 2003-02-02  Jim Meyering  <jim@meyering.net>
90816
90817         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90818         e.g. glibc-2.2.93.
90819
90820 2003-01-31  Bruno Haible  <bruno@clisp.org>
90821
90822         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90823         'rpl_rename'.
90824         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90825         'rpl_strnlen'.
90826         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90827         'rpl_strtod'.
90828         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90829         'rpl_utime'.
90830
90831 2003-01-31  Bruno Haible  <bruno@clisp.org>
90832
90833         * lib/rename.c: #undef rename before defining rpl_rename.
90834         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90835
90836 2003-01-30  Bruno Haible  <bruno@clisp.org>
90837
90838         * modules/vasnprintf, modules/vasprintf: New modules.
90839         * MODULES.html.sh (func_all_modules): Add them.
90840
90841 2003-01-30  Bruno Haible  <bruno@clisp.org>
90842
90843         * m4/signed.m4: New file, from GNU gettext.
90844         * m4/longdouble.m4: New file, from GNU gettext.
90845         * m4/wchar_t.m4: New file, from GNU gettext.
90846         * m4/wint_t.m4: New file, from GNU gettext.
90847         * m4/vasnprintf.m4: New file.
90848         * m4/vasprintf.m4: New file.
90849
90850 2003-01-30  Bruno Haible  <bruno@clisp.org>
90851
90852         * lib/printf-args.h: New file, from GNU gettext.
90853         * lib/printf-args.c: New file, from GNU gettext.
90854         * lib/printf-parse.h: New file, from GNU gettext.
90855         * lib/printf-parse.c: New file, from GNU gettext.
90856         * lib/vasnprintf.h: New file, from GNU gettext.
90857         * lib/vasnprintf.c: New file, from GNU gettext.
90858         * lib/asnprintf.c: New file, from GNU gettext.
90859         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90860         * lib/vasprintf.c: New file, from GNU gettext.
90861         * lib/asprintf.c: New file, from GNU gettext.
90862
90863 2003-01-29  Bruno Haible  <bruno@clisp.org>
90864
90865         * modules/stpncpy: New module.
90866         * MODULES.html.sh (func_all_modules): Add it.
90867
90868 2003-01-29  Bruno Haible  <bruno@clisp.org>
90869
90870         * m4/stpncpy.m4: New file.
90871
90872 2003-01-29  Bruno Haible  <bruno@clisp.org>
90873
90874         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90875         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90876
90877 2003-01-28  Bruno Haible  <bruno@clisp.org>
90878
90879         * modules/c-ctype: New module.
90880         * MODULES.html.sh (func_all_modules): Add it.
90881
90882 2003-01-28  Bruno Haible  <bruno@clisp.org>
90883
90884         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90885         Paul Eggert.
90886         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90887         Paul Eggert.
90888
90889 2003-01-27  Bruno Haible  <bruno@clisp.org>
90890
90891         * modules/xsetenv: New module.
90892         * MODULES.html.sh (func_all_modules): Add it.
90893
90894 2003-01-27  Bruno Haible  <bruno@clisp.org>
90895
90896         * lib/xsetenv.h: New file, from GNU gettext.
90897         * lib/xsetenv.c: New file, from GNU gettext.
90898
90899 2003-01-23  Jim Meyering  <jim@meyering.net>
90900
90901         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90902         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90903
90904 2003-01-23  Bruno Haible  <bruno@clisp.org>
90905
90906         * modules/minmax: New module.
90907         * MODULES.html.sh (func_all_modules): Add it.
90908
90909 2003-01-23  Bruno Haible  <bruno@clisp.org>
90910
90911         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90912         Eggert.
90913
90914 2003-01-22  Bruno Haible  <bruno@clisp.org>
90915
90916         * modules/exit: New module.
90917         * MODULES.html.sh (func_all_modules): Add it.
90918
90919 2003-01-22  Bruno Haible  <bruno@clisp.org>
90920
90921         * lib/exit.h: New file, from GNU gettext.
90922
90923 2003-01-19  Bruno Haible  <bruno@clisp.org>
90924
90925         * gnulib-tool: Recognize option --extract-maintainer.
90926         (func_get_maintainer): New function.
90927         * modules/*: Add Maintainer entry.
90928
90929 2003-01-16  Jim Meyering  <jim@meyering.net>
90930
90931         * m4/regex.m4: The `regex' struct is both input and output.
90932         Initialize it before each use.  Patch by Tim Waugh.
90933
90934 2003-01-16  Bruno Haible  <bruno@clisp.org>
90935
90936         * MODULES.html.sh: Add a table of contents. Add the module name as
90937         leftmost column. Add hyperlinks.
90938
90939 2003-01-15  Bruno Haible  <bruno@clisp.org>
90940
90941         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90942
90943 2003-01-15  Bruno Haible  <bruno@clisp.org>
90944
90945         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90946         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90947         suffix.
90948
90949 2003-01-15  Bruno Haible  <bruno@clisp.org>
90950
90951         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90952
90953 2003-01-15  Bruno Haible  <bruno@clisp.org>
90954
90955         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90956         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90957
90958 2003-01-14  Jim Meyering  <jim@meyering.net>
90959
90960         * lib/same.c (same_name): Tweak a comment.
90961
90962 2003-01-14  Bruno Haible  <bruno@clisp.org>
90963
90964         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90965         when a string comparison is sufficient.
90966
90967 2003-01-14  Bruno Haible  <bruno@clisp.org>
90968
90969         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90970         'unsigned int'.
90971
90972 2003-01-14  Bruno Haible  <bruno@clisp.org>
90973
90974         * lib/hash-pjw.c: Add comment about low quality of this function.
90975
90976 2003-01-13  Bruno Haible  <bruno@clisp.org>
90977
90978         * modules/stpcpy: Distribute lib/stpcpy.h.
90979         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90980
90981 2003-01-13  Bruno Haible  <bruno@clisp.org>
90982
90983         * modules/*: Add a description.
90984         * modules/strpbrk: Fix Makefile.am snippet.
90985         * modules/strtoimax: Fix dependencies.
90986         * modules/strtoumax: Likewise.
90987
90988 2003-01-13  Bruno Haible  <bruno@clisp.org>
90989
90990         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90991         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90992         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90993
90994 2003-01-13  Bruno Haible  <bruno@clisp.org>
90995
90996         * gnulib-tool (func_create_testdir): Store config/* files in the main
90997         directory.
90998         * config.rpath: Move to ...
90999         * config/config.rpath: ... here.
91000         * modules/gettext: Contains config/config.rpath, not config.rpath.
91001         * modules/iconv: Likewise.
91002
91003 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91004
91005         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91006         to avoid collisions with libcurses and libreadline.
91007
91008         * m4/getstr.m4: Remove.
91009         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91010
91011 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91012
91013         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91014         to avoid collisions with libcurses and libreadline.
91015
91016         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91017         * lib/getstr.h, getstr.c: Remove.
91018         * lib/getline.c: Include "getline.h", to check interface.
91019         Move body of old getstr.c here: this defines MIN_CHUNK and
91020         declares getdelim2, which is renamed from getstr.
91021         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91022
91023         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91024         All uses changed.
91025         * lib/linebuffer.h: Likewise.
91026         (readline): Remove backward-compatibility macro.
91027
91028 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91029
91030         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91031         to avoid collisions with libcurses and libreadline.
91032         * getstr: Remove.
91033         * MODULES.html.sh: Remove getstr.
91034         * modules/getline: Depend on unlocked-io, not getstr.
91035
91036 2003-01-12  Jim Meyering  <jim@meyering.net>
91037
91038         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91039
91040 2003-01-10  Bruno Haible  <bruno@clisp.org>
91041
91042         * modules/alloca: Change Makefile.am requirements. Simplify Include
91043         requirements. Add lib/alloca_.h to file list.
91044
91045 2003-01-10  Bruno Haible  <bruno@clisp.org>
91046
91047         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91048
91049 2003-01-10  Bruno Haible  <bruno@clisp.org>
91050
91051         * lib/alloca_.h: New file.
91052         * lib/getdate.y: Unconditionally include alloca.h.
91053         * lib/makepath.c: Likewise.
91054         * lib/setenv.c: Likewise.
91055         * lib/userspec.c: Likewise.
91056
91057 2003-01-09  Karl Berry  <karl@gnu.org>
91058
91059         * MODULES.html.sh: include `dirname $0` in PATH, to find
91060         gnulib-tool.
91061
91062 2003-01-09  Bruno Haible  <bruno@clisp.org>
91063
91064         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91065         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91066
91067 2003-01-09  Bruno Haible  <bruno@clisp.org>
91068
91069         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91070
91071 2003-01-09  Bruno Haible  <bruno@clisp.org>
91072
91073         * lib/stdbool.h.in: New file.
91074
91075 2003-01-09  Bruno Haible  <bruno@clisp.org>
91076
91077         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91078         * MODULES.html.sh: Likewise.
91079
91080 2003-01-08  Jim Meyering  <jim@meyering.net>
91081
91082         * lib/full-write.c: Undefine and define-away `const' after inclusion
91083         of errno.h, not before.  Suggestion from Bruno Haible.
91084
91085 2003-01-08  Bruno Haible  <bruno@clisp.org>
91086
91087         * modules/full-read: Depend on full-write.
91088
91089 2003-01-08  Bruno Haible  <bruno@clisp.org>
91090
91091         * lib/safe-read.c: Include specification header first, to ensure its
91092         selfcontainedness.
91093         * lib/full-write.c: Likewise.
91094
91095 2003-01-07  Jim Meyering  <jim@meyering.net>
91096
91097         * lib/full-write.c: Rework so that it may serve to define full_read,
91098         too.
91099         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91100
91101 2003-01-07  Bruno Haible  <bruno@clisp.org>
91102
91103         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91104         <inttypes.h>.
91105         * lib/xstrtol.h: Likewise.
91106         * lib/xstrtoimax.c: Likewise.
91107         * lib/xstrtoumax.c: Likewise.
91108         * lib/human.h: Likewise.
91109
91110         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91111         on systems that have <inttypes.h> but not <stdint.h>.
91112
91113 2003-01-07  Bruno Haible  <bruno@clisp.org>
91114
91115         * MODULES.html.sh: Add copyright notice.
91116         (missed_files): Omit CVS directory entries.
91117         (func_module): Make it work with sed-3.02.
91118         * MODULES.txt: Remove file.
91119
91120 2003-01-06  Jim Meyering  <jim@meyering.net>
91121
91122         * lib/version-etc.c: Update year in translatable copyright string.
91123
91124 2003-01-03  Karl Berry  <karl@gnu.org>
91125
91126         * config/config.{guess,sub}: update from prep.
91127
91128 2003-01-02  Karl Berry  <karl@gnu.org>
91129
91130         * doc/COPYING.DOC: belatedly updated to 1.2.
91131
91132 2003-01-01  Karl Berry  <karl@gnu.org>
91133
91134         * gnulib-tool (func_verify_module): report module name $module in
91135         error message, not $1.
91136         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91137         be created, only if it doesn't exist.
91138         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91139
91140 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91141
91142         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91143
91144 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91145
91146         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91147         memcmp if strcoll doesn't work.
91148
91149 2002-12-31  Bruno Haible  <bruno@clisp.org>
91150
91151         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91152         nonempty.
91153
91154 2002-12-31  Bruno Haible  <bruno@clisp.org>
91155
91156         * lib/memcoll.c (STRCOLL): New macro.
91157         (memcoll): Use it.
91158
91159 2002-12-31  Bruno Haible  <bruno@clisp.org>
91160
91161         * lib/localcharset.h: New file.
91162         * lib/localcharset.c: Include it.
91163         * lib/unicodeio.c: Likewise.
91164
91165 2002-12-31  Bruno Haible  <bruno@clisp.org>
91166
91167         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91168         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91169
91170 2002-12-31  Bruno Haible  <bruno@clisp.org>
91171
91172         * lib/getline.h: Include <stddef.h>, for size_t.
91173
91174         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91175         * lib/unicodeio.c: Don't include <stddef.h>.
91176
91177 2002-12-31  Bruno Haible  <bruno@clisp.org>
91178
91179         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91180         HAVE_TM_ZONE.
91181
91182 2002-12-24  Karl Berry  <karl@gnu.org>
91183
91184         * config/config.guess: update from prep.
91185
91186 2002-12-24  Bruno Haible  <bruno@clisp.org>
91187
91188         General infrasructure.
91189         * m4/README: Rewritten.
91190         * m4/onceonly.m4: New file.
91191         * m4/onceonly_2_57.m4: New file.
91192
91193         Module atexit.
91194         * m4/atexit.m4: New file.
91195
91196         Module strtod.
91197         * m4/strtod.m4: New file.
91198
91199         Module strtol.
91200         * m4/strtol.m4: New file.
91201
91202         Module strtoul.
91203         * m4/strtoul.m4: New file.
91204
91205         Module memchr.
91206         * m4/memchr.m4: New file.
91207
91208         Module memcmp.
91209         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91210         (jm_FUNC_MEMCMP): Invoke it.
91211
91212         Module memcpy.
91213         * m4/memcpy.m4: New file.
91214
91215         Module memmove.
91216         * m4/memmove.m4: New file.
91217
91218         Module memset.
91219         * m4/memset.m4: New file.
91220
91221         Module strcspn.
91222         * m4/strcspn.m4: New file.
91223
91224         Module strpbrk.
91225         * m4/strpbrk.m4: New file.
91226
91227         Module strstr.
91228         * m4/strstr.m4: New file.
91229
91230         Module strerror.
91231         * m4/strerror.m4: New file.
91232
91233         Module mktime.
91234         * m4/mktime.m4: Renamed from jm-mktime.m4.
91235         (gl_PREREQ_MKTIME): New macro.
91236         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
91237
91238         Module malloc.
91239         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
91240         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
91241         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
91242
91243         Module realloc.
91244         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
91245         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
91246         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
91247
91248         Module strftime.
91249         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
91250         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
91251         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
91252         gl_TM_GMTOFF.
91253         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
91254
91255         Module xalloc.
91256         * m4/xalloc.m4: New file.
91257
91258         Module alloca.
91259         * m4/alloca.m4: New file.
91260
91261         Module putenv.
91262         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91263         (jm_FUNC_PUTENV): Invoke it.
91264
91265         Module setenv.
91266         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91267         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91268         when invoked twice.
91269         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91270         gt_FUNC_SETENV.
91271
91272         Module memrchr.
91273         * m4/memrchr.m4: New file.
91274
91275         Module stpcpy.
91276         * m4/stpcpy.m4: New file.
91277
91278         Module strcase.
91279         * m4/strcase.m4: New file.
91280
91281         Module strdup.
91282         * m4/strdup.m4: New file.
91283
91284         Module strnlen.
91285         * m4/strnlen.m4: New file.
91286
91287         Module strndup.
91288         * m4/strndup.m4: New file.
91289
91290         Module xstrtod.
91291         * m4/xstrtod.m4: New file.
91292
91293         Module xstrtol.
91294         * m4/xstrtol.m4: New file.
91295
91296         Module getdate.
91297         * m4/getdate.m4: New file.
91298
91299         Module unlocked-io.
91300         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91301         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91302         * m4/jm-glibc-io.m4n: Remove file.
91303
91304         Module long-options.
91305         * m4/long-options.m4: New file.
91306
91307         Module md5.
91308         * m4/md5.m4: New file.
91309
91310         Module sha.
91311         * m4/sha.m4: New file.
91312
91313         Module getstr.
91314         * m4/getstr.m4: New file.
91315
91316         Module getline.
91317         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91318         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91319         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91320         simply getline. Infoke gl_PREREQ_GETLINE.
91321
91322         Module obstack.
91323         * m4/obstack.m4: New file.
91324
91325         Module hash.
91326         * m4/hash.m4: New file.
91327
91328         Module readtokens.
91329         * m4/readtokens.m4: New file.
91330
91331         Module strverscmp.
91332         * m4/strverscmp.m4: New file.
91333
91334         Module stdbool.
91335         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91336         OSF/1.
91337
91338         Module strtoll.
91339         * m4/strtoll.m4: New file.
91340
91341         Module strtoull.
91342         * m4/strtoull.m4: New file.
91343
91344         Module strtoimax.
91345         * m4/strtoimax.m4: New file.
91346
91347         Module strtoumax.
91348         * m4/strtoumax.m4: New file.
91349
91350         Module xstrtoimax.
91351         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91352         jm_AC_PREREQ_XSTRTOIMAX.
91353         Moved the strtol prerequisites to strtol.m4.
91354         Moved the strtoll prerequisites to strtoll.m4.
91355         Moved the strtoimax prerequisites to strtoimax.m4.
91356
91357         Module xstrtoumax.
91358         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91359         jm_AC_PREREQ_XSTRTOUMAX.
91360         Moved the strtoul prerequisites to strtoul.m4.
91361         Moved the strtoull prerequisites to strtoull.m4.
91362         Moved the strtoumax prerequisites to strtoumax.m4.
91363
91364         Module chown.
91365         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91366         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91367
91368         Module dup2.
91369         * m4/dup2.m4: New file.
91370
91371         Module ftruncate.
91372         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91373         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91374
91375         Module getgroups.
91376         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91377         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91378
91379         Module gettimeofday.
91380         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91381         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91382         gl_PREREQ_GETTIMEOFDAY.
91383
91384         Module mkdir.
91385         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91386         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91387
91388         Module mkstemp.
91389         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91390         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91391         jm_AC_TYPE_UINTMAX_T.
91392         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91393
91394         Module stat.
91395         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91396         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91397
91398         Module lstat.
91399         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91400         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91401
91402         Module timespec.
91403         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91404         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91405         * m4/st_mtim.m4: Indentation.
91406
91407         Module nanosleep.
91408         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91409         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91410         gl_PREREQ_NANOSLEEP.
91411
91412         Module regex.
91413         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91414         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91415         (gl_REGEX): New macro.
91416
91417         Module rename.
91418         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91419         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91420
91421         Module rmdir.
91422         * m4/rmdir.m4: New file.
91423
91424         Module utime.
91425         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91426         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91427         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91428
91429         Module dirname.
91430         * m4/dirname.m4: New file.
91431
91432         Module getopt.
91433         * m4/getopt.m4: New file.
91434
91435         Module unistd-safer.
91436         * m4/unistd-safer.m4: New file.
91437
91438         Module fnmatch.
91439         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91440         declaration.
91441         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91442         (gl_FUNC_FNMATCH_POSIX): New macro.
91443         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91444         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91445         simply fnmatch.
91446
91447         Module exclude.
91448         * m4/exclude.m4: New file.
91449
91450         Module human.
91451         * m4/human.m4: New file.
91452
91453         Module acl.
91454         * m4/acl.m4: Nop.
91455
91456         Module backupfile.
91457         * m4/backupfile.m4: New file.
91458         * m4/d-ino.m4: Indentation.
91459
91460         Module fsusage.
91461         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91462         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91463         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91464
91465         Module dirfd.
91466         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91467         requirements.
91468
91469         Module euidaccess.
91470         * m4/euidaccess.m4: New file.
91471
91472         Module file-type.
91473         * m4/file-type.m4: New file.
91474
91475         Module fileblocks.
91476         * m4/fileblocks.m4: New file.
91477
91478         Module filemode.
91479         * m4/filemode.m4: New file.
91480
91481         Module isdir.
91482         * m4/isdir.m4: New file.
91483
91484         Module lchown.
91485         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91486         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91487
91488         Module makepath.
91489         * m4/makepath.m4: New file.
91490
91491         Module modechange.
91492         * m4/modechange.m4: New file.
91493
91494         Module mountlist.
91495         * m4/mountlist.m4: New file.
91496         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91497         Indentation.
91498
91499         Module path-concat.
91500         * m4/path-concat.m4: New file.
91501
91502         Module pathmax.
91503         * m4/pathmax.m4: New file.
91504
91505         Module same.
91506         * m4/same.m4: New file.
91507
91508         Module save-cwd.
91509         * m4/save-cwd.m4: New file.
91510
91511         Module savedir.
91512         * m4/savedir.m4: New file.
91513
91514         Module xgetcwd.
91515         * m4/xgetcwd.m4: New file.
91516         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91517
91518         Module xreadlink.
91519         * m4/xreadlink.m4: New file.
91520
91521         Module safe-read.
91522         * m4/safe-read.m4: New file.
91523
91524         Module safe-write.
91525         * m4/safe-write.m4: New file.
91526
91527         Module closeout.
91528         * m4/closeout.m4: New file.
91529
91530         Module stdio-safer.
91531         * m4/stdio-safer.m4: New file.
91532
91533         Module getpass.
91534         * m4/getpass.m4: New file.
91535
91536         Module getugroups.
91537         * m4/getugroups.m4: New file.
91538
91539         Module group-member.
91540         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91541         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91542
91543         Module idcache.
91544         * m4/idcache.m4: New file.
91545
91546         Module userspec.
91547         * m4/userspec.m4: New file.
91548
91549         Module gettime.
91550         * m4/clock_time.m4: New file.
91551         * m4/gettime.m4: New file.
91552
91553         Module settime.
91554         * m4/settime.m4: New file.
91555
91556         Module posixtm.
91557         * m4/posixtm.m4: New file.
91558
91559         Module gethostname.
91560         * m4/gethostname.m4: New file.
91561
91562         Module canon-host.
91563         * m4/canon-host.m4: New file.
91564
91565         Module gettext.
91566         * m4/codeset.m4: New file, from gettext-0.11.5.
91567         * m4/gettext.m4: New file, from gettext-0.11.5.
91568         * m4/glibc21.m4: New file, from gettext-0.11.5.
91569         * m4/iconv.m4: New file, from gettext-0.11.5.
91570         * m4/intdiv0.m4: New file, from gettext-0.11.5.
91571         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
91572         * m4/inttypes.m4: New file, from gettext-0.11.5.
91573         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
91574         * m4/isc-posix.m4: New file, from gettext-0.11.5.
91575         * m4/lcmessage.m4: New file, from gettext-0.11.5.
91576         * m4/lib-ld.m4: New file, from gettext-0.11.5.
91577         * m4/lib-link.m4: New file, from gettext-0.11.5.
91578         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
91579         * m4/progtest.m4: New file, from gettext-0.11.5.
91580         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
91581         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
91582         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
91583
91584         Module localcharset.
91585         * m4/localcharset.m4: New file.
91586
91587         Module hard-locale.
91588         * m4/hard-locale.m4: New file.
91589
91590         Module mbswidth.
91591         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
91592         onceonly macros.
91593         * m4/mbrtowc.m4: Add comment.
91594
91595         Module memcasecmp.
91596         * m4/memcasecmp.m4: New file.
91597
91598         Module memcoll.
91599         * m4/memcoll.m4: New file.
91600
91601         Module unicodeio.
91602         * m4/unicodeio.m4: New file.
91603
91604         Module rpmatch.
91605         * m4/rpmatch.m4: New file.
91606
91607         Module yesno.
91608         * m4/yesno.m4: New file.
91609
91610         Module exitfail.
91611         * m4/exitfail.m4: New file.
91612
91613         Module c-stack.
91614         * m4/c-stack.m4 (gl_C_STACK): New macro.
91615         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
91616
91617         Module error.
91618         * m4/error.m4 (gl_ERROR): New macro.
91619         (jm_PREREQ_ERROR): Use onceonly macros.
91620
91621         Module fatal.
91622         * m4/fatal.m4: New file.
91623
91624         Module getloadavg.
91625         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
91626         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
91627
91628         Module getpagesize.
91629         * m4/getpagesize.m4: New file.
91630
91631         Module getusershell.
91632         * m4/getusershell.m4: New file.
91633
91634         Module physmem.
91635         * m4/physmem.m4: New file.
91636
91637         Module posixver.
91638         * m4/posixver.m4: New file.
91639
91640         Module quotearg.
91641         * m4/quotearg.m4: New file.
91642
91643         Module quote.
91644         * m4/quote.m4: New file.
91645
91646         Module readutmp.
91647         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
91648
91649         Module sig2str.
91650         * m4/sig2str.m4: New file.
91651
91652         Other.
91653         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
91654         ulonglong.m4.
91655         * m4/intmax_t.m4: New file.
91656         * m4/d-type.m4: Indentation.
91657         * m4/jm-macros.m4: Update.
91658         * m4/prereq.m4 (jm_PREREQ): Update.
91659         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
91660         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
91661         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
91662         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
91663         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
91664         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
91665         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
91666         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
91667         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
91668         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
91669         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
91670         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
91671         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
91672         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
91673         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
91674         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
91675         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
91676         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
91677         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
91678
91679 2002-12-24  Bruno Haible  <bruno@clisp.org>
91680
91681         * MODULES.txt: Update according to m4/ changes.
91682
91683         Module gettext.
91684         * config.rpath: New file, from gettext-0.11.5.
91685
91686         * modules/*: New module descriptions.
91687         * gnulib-tool: New file.
91688         * MODULES.html.sh: New file.
91689
91690 2002-12-21  Karl Berry  <karl@gnu.org>
91691
91692         * doc/fdl.texi: update to version 1.2.
91693
91694 2002-12-19  Karl Berry  <karl@gnu.org>
91695
91696         * config/config.guess: update from prep.
91697
91698 2002-12-18  Bruno Haible  <bruno@clisp.org>
91699
91700         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
91701         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
91702
91703 2002-12-17  Bruno Haible  <bruno@clisp.org>
91704
91705         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
91706         stdlib.h, string.h.
91707
91708 2002-12-17  Bruno Haible  <bruno@clisp.org>
91709
91710         * lib/canon-host.c (strdup): Remove unused declaration.
91711
91712         * lib/fsusage.c: Include full_read.h.
91713         (get_fs_usage): Use full_read instead of safe_read.
91714
91715         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
91716
91717 2002-12-12  Karl Berry  <karl@gnu.org>
91718
91719         * config/config.guess: update from prep.
91720
91721 2002-12-11  Bruno Haible  <bruno@clisp.org>
91722
91723         * m4/setenv.m4: New file, from gettext-0.11.5.
91724
91725 2002-12-11  Bruno Haible  <bruno@clisp.org>
91726
91727         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
91728         not unsetenv().
91729         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
91730         modifications:
91731
91732         2002-12-11  Bruno Haible  <bruno@clisp.org>
91733
91734                 * setenv.c (alloca): Fall back to malloc.
91735                 (freea): New macro.
91736                 (setenv): Use freea() to free memory allocated with alloca().
91737
91738         2002-11-13  Bruno Haible  <bruno@clisp.org>
91739
91740                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
91741                 function declarations.
91742                 * unsetenv.c (unsetenv): Likewise.
91743
91744         2002-03-04  Bruno Haible  <bruno@clisp.org>
91745
91746                 Portability to AIX 4.3.3.
91747                 * unsetenv.c: New file, extracted from setenv.c.
91748                 * setenv.c: Move the unsetenv() function to unsetenv.c.
91749
91750         2001-12-20  Bruno Haible  <bruno@clisp.org>
91751
91752                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
91753                 use malloc instead. For SunOS 4.
91754
91755         2001-12-11  Bruno Haible  <bruno@clisp.org>
91756
91757                 * setenv.c: Declare alloca.
91758                 (compar_fn_t): New typedef.
91759                 (KNOWN_VALUE, STORE_VALUE): Use it.
91760
91761         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
91762         setenv.h.
91763
91764 2002-12-10  Paul Eggert  <eggert@twinsun.com>
91765
91766         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91767         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91768         Choose values that are less likely to collide with system fnmatch
91769         options.
91770         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91771         defined (e.g., a pure POSIX system).
91772         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91773         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91774
91775 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91776
91777         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91778         a pain in practice to deal with generated m4 files.  This change
91779         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91780
91781         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91782         and jm-glibc-io.m4, as they are no longer a special case.
91783         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91784         kludge and the auto-generation stuff.  Check only whether the
91785         functions are declared, not whether they exist, since older hosts
91786         that don't declare the functions can't use the optimization anyway.
91787
91788 2002-12-06  Jim Meyering  <jim@meyering.net>
91789
91790         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91791
91792         Merge in changes from libc's misc/error.c, in preparation
91793         for the merge of gnulib's changes back into libc.
91794
91795         * lib/error.c (_): Define only if not already defined.
91796         Move definition to follow all #include directives.
91797         Include unlocked-io.h only if !_LIBC.
91798         [_LIBC]: Include <libio/libioP.h>.
91799         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91800         (fflush): Tweak definition to use INTUSE.
91801         (putc): Define.
91802
91803 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91804
91805         * lib/alloca.c [defined emacs]: Include "lisp.h".
91806         (xalloc_die) [defined emacs]: New macro.
91807         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91808         [! defined emacs]: Include <xalloc.h>.
91809         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91810         (pointer): Typedef to POINTER_TYPE *.
91811         (malloc): Remove decl; we now always use xmalloc.
91812         (alloca): Use old-style definition, since Emacs needs this.
91813         Check for arithmetic overflow when computing combined size.
91814
91815 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91816
91817         Do not generate unlocked-io.h automatically, since it's easier to
91818         maintain it by hand.
91819
91820         * lib/unlocked-io.h: New file, from GNU diffutils,
91821         but with proper copyright notice and attribution.
91822         * lib/gen-uio: Remove.
91823         * lib/Makefile.am: Add copyright notice.
91824         (libfetish_a_SOURCES): Add unlocked-io.h.
91825         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91826         (DISTCLEANFILES, io_functions): Remove macros.
91827         (EXTRA_DIST): Remove gen_uio.
91828         (unlocked-io.h): Remove rule.
91829
91830 2002-12-04  Jim Meyering  <jim@meyering.net>
91831
91832         Reflect the fact that stat.c and lstat.c are no longer generated.
91833         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91834         (DISTCLEANFILES): Likewise.
91835         (EXTRA_DIST): Likewise.
91836         (all_local): Don't depend on stat.c or lstat.c.
91837         (stat.c, lstat.c): Remove rules.
91838         (EXTRA_DIST): Remove xstat.in.
91839
91840         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91841         * lib/stat.c: New file.  Contents mostly from xstat.in.
91842         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91843         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91844
91845         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91846         too.
91847         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91848
91849 2002-12-03  Jim Meyering  <jim@meyering.net>
91850
91851         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91852         but not semantics, to minimize the differences between these two files.
91853         (safe_read): Change comment to mention SAFE_READ_ERROR.
91854
91855         * lib/safe-read.c (IS_EINTR): Define.
91856         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91857
91858 2002-12-02  Jim Meyering  <jim@meyering.net>
91859
91860         * lib/safe-read.c (EINTR): Define.
91861         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91862         (INT_MAX): Provide fallback.
91863         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91864
91865         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91866
91867 2002-12-02  Bruno Haible  <bruno@clisp.org>
91868
91869         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91870         Define, taken from safe-read.c.
91871         (INT_MAX): Provide fallback.
91872         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91873         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91874
91875         * lib/safe-read.c (EINTR): Remove definition.
91876         (safe_read): Don't use EINTR if it is absent.
91877
91878 2002-12-01  Jim Meyering  <jim@meyering.net>
91879
91880         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91881         zero.
91882         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91883
91884 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91885
91886         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91887         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91888         with `if (! (value < limit)) abort ();', for readability.
91889
91890 2002-11-26  Karl Berry  <karl@gnu.org>
91891
91892         * lib/strdup.c: copy from libc again, with jim's ok.
91893         * lib/.cppi-disable: re-add strdup.c
91894
91895 2002-11-25  Karl Berry  <karl@gnu.org>
91896
91897         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91898         instead of "strtol.c".
91899
91900 2002-11-25  Karl Berry  <karl@gnu.org>
91901
91902         * config/install-sh: update from automake for variable quoting, $0 in
91903         error msgs, etc.
91904
91905         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91906         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91907         entry.
91908
91909 2002-11-25  Jim Meyering  <jim@meyering.net>
91910
91911         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91912
91913 2002-11-24  Karl Berry  <karl@gnu.org>
91914
91915         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91916         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91917
91918 2002-11-24  Jim Meyering  <jim@meyering.net>
91919
91920         Update from coreutils:
91921
91922         * lib/mktime.c: Merge in changes from libc.
91923
91924         Avoid a link-time failure on some Linux systems.
91925         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91926         (otherwise).
91927         (__mon_yday): Declare with the STATIC attribute.
91928         (__mktime_internal): Likewise.
91929         Based on a report from Greg Schafer.
91930
91931 2002-11-23  Jim Meyering  <jim@meyering.net>
91932
91933         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91934         Use `unsigned', not `int', as type of index.
91935
91936         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91937
91938         * lib/fsusage.c: Remove unneeded parentheses around operands of
91939         `defined'.
91940
91941 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91942
91943         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91944         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91945         so that we can be included first.
91946         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91947         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91948         No need to include stddef.h or sys/types.h any more.
91949         Surround local include files with "", not "<>".
91950         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91951         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91952         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91953         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91954         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91955         (ISPRINT): Remove; no longer needed now that we assume C89.
91956
91957         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91958         Preserve errno.
91959
91960         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91961         quotearg_char): Use SIZE_MAX rather than
91962         (size_t) -1 when we are talking about "infinity".
91963
91964         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91965
91966 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91967
91968         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91969         hint that one should use `if (! x) abort ();' rather than `assert
91970         (x);', and anyway it's one less thing to worry about configuring.
91971         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91972         hash_rehash, hash_insert): Use abort rather than assert.
91973
91974 2002-11-22  Bruno Haible  <bruno@clisp.org>
91975
91976         * lib/safe-read.h: Assume C89. Add comments.
91977         (safe_read): Change return type to size_t.
91978         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91979         byte counts > SSIZE_MAX correctly.
91980         * lib/safe-write.h: New file.
91981         * lib/safe-write.c: New file.
91982         * lib/full-read.h: New file.
91983         * lib/full-read.c: New file.
91984         * lib/full-write.h: Assume C89. Add comments.
91985         * lib/full-write.c: Include safe-write.h.
91986         (full_write): Rewritten to use safe_write.
91987         Suggested by Jim Meyering and Paul Eggert.
91988
91989 2002-11-21  Jim Meyering  <jim@meyering.net>
91990
91991         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91992
91993         Merge in changes from the coreutils.
91994
91995         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91996         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91997         <stdint.h>.
91998         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91999         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92000         int.  Work more efficiently if X is the same width as uintmax_t.
92001         Do not compare X to -1, to avoid bogus compiler warning.
92002         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92003         Don't assume that f_frsize and f_bsize are the same type.
92004
92005         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92006         warning on FreeBSD.
92007
92008         * lib/makepath.c (make_path): Restore umask *before* creating the final
92009         component.
92010         (make_path): Minor reformatting.
92011
92012         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92013         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92014         HAVE_MALLOC/HAVE_REALLOC.
92015
92016         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92017         dummy ones.  At least on GNU/Linux systems, `auto' means something
92018         else.
92019         From Michael Stone.
92020
92021 2002-11-21  Bruno Haible  <bruno@clisp.org>
92022
92023         Remove case insensitive option matching.
92024         * lib/argmatch.h (argcasematch): Remove declaration.
92025         (ARGCASEMATCH): Remove macro.
92026         (__xargmatch_internal): Remove case_sensitive argument.
92027         (XARGMATCH): Update.
92028         (XARGCASEMATCH): Remove macro.
92029         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92030         case_sensitive argument.
92031         (argcasematch): Remove function.
92032         (__xargmatch_internal): Remove case_sensitive argument.
92033         (main): Use XARGMATCH instead of XARGCASEMATCH.
92034
92035         * lib/xmalloc.c: Change compile-time error message. Add comment about
92036         required autoconf version.
92037
92038 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92039
92040         Merge argmatch cleanups from Bison.  Assume C89.
92041
92042         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92043         Include stdlib.h, for EXIT_FAILURE.
92044         Always include <string.h>, since we assume C89.
92045         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92046         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92047         Include <stddef.h> instead, since it's all we need for size_t.
92048         (PARAMS): Remove.  All uses removed.
92049         (ARRAY_CARDINALITY): Do not bother to #undef.
92050         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92051         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92052         Remove unnecessary parentheses.
92053         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92054         Insert necessary parentheses.
92055         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92056         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92057
92058 2002-11-19  Bruno Haible  <bruno@clisp.org>
92059
92060         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92061         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92062
92063         * lib/mbswidth.h (PARAMS): Remove macro.
92064         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92065         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92066
92067         * lib/gcd.h (PARAMS): Remove macro.
92068         (gcd): Use ANSI C function declarations.
92069         * lib/gcd.c (gcd): Likewise.
92070
92071 2002-11-15  Bruno Haible  <bruno@clisp.org>
92072
92073         * lib/strcspn.c: Include <stddef.h>.
92074         (strcspn): Use ANSI C function declaration. Change return type to
92075         size_t. Use NULL.
92076         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92077         (strpbrk): Use NULL.
92078         * lib/strpbrk.h (PARAMS): Remove macro.
92079         (strpbrk): Use ANSI C function declaration.
92080         * lib/strstr.c: Don't include <sys/types.h>.
92081         * lib/strstr.h (PARAMS): Remove macro.
92082         (strstr): Use ANSI C function declarations.
92083
92084 2002-11-14  Karl Berry  <karl@gnu.org>
92085
92086         * config/mkinstalldirs: `do' on separate line, instead of
92087         `for var; do'.
92088
92089 2002-11-06  Bruno Haible  <bruno@clisp.org>
92090
92091         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92092         * lib/gcd.c (gcd): Likewise.
92093
92094 2002-11-05  Bruno Haible  <bruno@clisp.org>
92095
92096         * lib/gcd.h: New file, from gettext-0.11.5.
92097         * lib/gcd.c: New file, from gettext-0.11.5.
92098
92099 2002-11-05  Bruno Haible  <bruno@clisp.org>
92100
92101         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92102         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92103         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92104         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92105
92106         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92107         <libintl.h>.
92108         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92109         <libintl.h>.
92110
92111         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92112         * lib/human.c: Include gettext.h instead of <libintl.h>.
92113         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92114         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92115         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92116         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92117         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92118         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92119         (textdomain): Remove definition.
92120         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92121
92122         * lib/long-options.c: Remove include of <libintl.h> and definition of
92123         _.
92124         * lib/same.c: Remove include of <libintl.h> and definition of _.
92125
92126 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92127
92128         * lib/config.charset: A few additions for Solaris.
92129
92130 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92131
92132         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92133         * lib/localcharset.c (locale_charset): Declare as extern "C".
92134
92135 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92136
92137         * lib/config.charset: msdos in uk_UA uses CP1125.
92138
92139 2002-11-04  Bruno Haible  <bruno@clisp.org>
92140
92141         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92142         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92143         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92144         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92145         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92146
92147 2002-11-04  Bruno Haible  <bruno@clisp.org>
92148
92149         * lib/localcharset.c (locale_charset): Don't return an empty string.
92150
92151 2002-11-04  Bruno Haible  <bruno@clisp.org>
92152
92153         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92154         aliases.
92155
92156 2002-11-04  Bruno Haible  <bruno@clisp.org>
92157
92158         * lib/config.charset: Update for newest glibc. Add canonical names
92159         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92160
92161 2002-11-04  Bruno Haible  <bruno@clisp.org>
92162
92163         * lib/config.charset: Add support for NetBSD.
92164
92165 2002-11-04  Bruno Haible  <bruno@clisp.org>
92166
92167         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92168
92169 2002-11-01  Bruno Haible  <bruno@clisp.org>
92170
92171         * configure.in: Add AC_CONFIG_AUX_DIR call.
92172         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92173         test/Makefile.
92174         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92175
92176 2002-09-28  Karl Berry  <karl@gnu.org>
92177
92178         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92179         installed automake until the next release, since changes have been
92180         made.
92181
92182 2002-09-25  Karl Berry  <karl@gnu.org>
92183
92184         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92185         * lib/getopt*: copy from libc/posix.
92186         * lib/gettext.h: copy from gettext.
92187         * lib/.cppi-disable: add strdup.c, gettext.h.
92188
92189 2002-09-25  Karl Berry  <karl@gnu.org>
92190
92191         * config/srclist.txt: enable gettext.h check.
92192         * config/config.{guess,sub}: update from prep.
92193         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92194                 from automake 1.6.3.
92195         See srclist*.
92196
92197 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92198
92199         * regex.c (PATFETCH): Remove the translating fetch.
92200         (PATFETCH_RAW): Rename to PATFETCH.
92201         (set_image_of_range): New fun.
92202         (SET_RANGE_TABLE_WORK_AREA): Use it.
92203         (regex_compile): Don't translate the pattern chars so eagerly.
92204         Only do it when inserting an `exactn' bytecode or when handling
92205         a char-range.
92206         (mutually_exclusive_p): Avoid empty statement.
92207
92208 2002-07-06  Jim Meyering  <meyering@lucent.com>
92209
92210         * m4/README: Don't mention Makefile.am.in.
92211         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92212
92213 2002-07-01  Jim Meyering  <meyering@lucent.com>
92214
92215         * lib/c-stack.c: Include sys/time.h.
92216         From Volker Borchert.
92217
92218 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92219
92220         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92221
92222 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92223
92224         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92225         New macro.  Use it uniformly instead of
92226         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92227         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92228         reported by Vin Shelton.
92229
92230 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92231
92232         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
92233         Do not assume SA_SIGINFO behavior.
92234         Bug reported by Jim Meyering on NetBSD 1.5.2.
92235
92236 2002-06-22  Jim Meyering  <meyering@lucent.com>
92237
92238         * m4/c-stack.m4: New file, from diffutils-2.8.2.
92239         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
92240
92241         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
92242         now that configure.ac uses AC_GNU_SOURCE.
92243         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
92244         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
92245
92246         Update to latest tools.  Suggestions from Paul Eggert.
92247         * m4/stdbool.m4: New file, from diffutils-2.8.2.
92248         * m4/gnu-source.m4: Update from diffutils-2.8.2.
92249         * m4/fnmatch.m4: Likewise.
92250         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
92251         to AC_HEADER_STDBOOL
92252
92253 2002-06-22  Jim Meyering  <meyering@lucent.com>
92254
92255         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92256         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92257
92258 2002-06-22  Jim Meyering  <meyering@lucent.com>
92259
92260         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92261
92262         * lib/exitfail.c, exitfail.h: Likewise.
92263         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92264
92265         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92266         of fnmatch.h.
92267         (EXTRA_DIST): Add fnmatch_loop.c.
92268         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92269
92270         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92271         * lib/fnmatch.c: Update from diffutils-2.8.2.
92272         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92273         * lib/fnmatch.h: Remove file.
92274
92275 2002-06-21  Jim Meyering  <meyering@lucent.com>
92276
92277         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92278         * m4/mbrtowc.m4: Likewise.
92279
92280         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92281         * m4/mbswidth.m4: Reflect name change:
92282         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92283         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92284
92285         * m4/lib-link.m4: Update from gettext-0.11.2.
92286         * m4/gettext.m4: Likewise.
92287
92288         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92289         From Alfred M. Szmidt.
92290
92291 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92292
92293         * lib/file-type.h: Report an error if neither S_ISREG nor
92294         S_IFREG is defined, instead of using a test specific to glibc
92295         2.2.  This should be safe, since POSIX requires S_ISREG and
92296         Unix Version 7 had S_IFREG.  We don't need to check for
92297         <sys/types.h> since we don't use any symbols that it defines.
92298
92299 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92300
92301         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92302         $@-t, so that each temporary file name is unique and valid in the first
92303         8 characters, for operation under DOS.
92304
92305 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92306
92307         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92308
92309 2002-06-15  Jim Meyering  <meyering@lucent.com>
92310
92311         Work even with DJGPP 2.03, which lacks support for symlinks.
92312         From Richard Dawe.
92313         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92314         is defined.
92315         * lib/lchown.c (S_ISLNK): Likewise.
92316
92317 2002-06-15  Jim Meyering  <meyering@lucent.com>
92318
92319         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92320         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92321         have been included before this file.
92322
92323 2002-06-14  Jim Meyering  <meyering@lucent.com>
92324
92325         * lib/file-type.h: Use the version from diffutils-2.8.2.
92326         * lib/file-type.c: Likewise.
92327
92328 2002-06-07  Jim Meyering  <meyering@lucent.com>
92329
92330         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92331         They're needed at least for NetBSD 1.5.2.
92332         ($statxfs_includes): Include those same headers.
92333         ($statxfs_includes): Include sys/vfs.h if available.
92334         ($statxfs_includes): Likewise for sys/statvfs.h.
92335         Check for the following members in both structs statfs and statvfs:
92336         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92337
92338 2002-06-01  Jim Meyering  <meyering@lucent.com>
92339
92340         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92341         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92342
92343 2002-05-28  Jim Meyering  <meyering@lucent.com>
92344
92345         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92346         Reported by Volker Borchert.
92347
92348 2002-05-27  Jim Meyering  <meyering@lucent.com>
92349
92350         Fix a problem seen only on nonconforming systems whereby ls.c's
92351         use of localtime, and then of gettimeofday would cause trouble:
92352         the localtime call used to initialize rpl_gettimeofday's save
92353         mechanism would clobber ls's current local time information so
92354         that in any long listing the first file would always be listed
92355         with date 1970-01-01.  Analysis by Volker Borchert.
92356
92357         * lib/gettimeofday.c (localtime): Undefine.
92358         (rpl_localtime): New function.
92359
92360 2002-05-27  Jim Meyering  <meyering@lucent.com>
92361
92362         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92363         localtime.
92364
92365         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92366         use the replacement function; it wouldn't resolve at link time.
92367         Reported by Volker Borchert.
92368
92369 2002-05-22  Jim Meyering  <meyering@lucent.com>
92370
92371         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92372         file-type.h.
92373         * lib/file-type.h: New file.
92374         * lib/file-type.c (file_type): New file/function.  Extracted from
92375         diffutils.
92376
92377 2002-04-30  Jim Meyering  <meyering@lucent.com>
92378
92379         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92380
92381 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92382
92383         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92384
92385 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92386
92387         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92388         Do not check for alloca.h (no longer used) or stdbool.h (was never
92389         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92390
92391 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92392
92393         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92394
92395 2002-04-29  Jim Meyering  <meyering@lucent.com>
92396
92397         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92398         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92399         Use AC_FUNC_STRNLEN here instead.
92400
92401         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92402         With autoconf-2.53a, it's part of AC_PROG_CC.
92403
92404 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92405
92406         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92407         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92408
92409 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92410
92411         * lib/sig2str.h, lib/sig2str.c: New files.
92412         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92413
92414 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92415
92416         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92417         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92418         of 127, since 64 is the largest conceivable number for ancient
92419         nonstandard hosts.
92420         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92421
92422 2002-04-28  Jim Meyering  <meyering@lucent.com>
92423
92424         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92425
92426 2002-04-24  Jim Meyering  <meyering@lucent.com>
92427
92428         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92429         (jm_PREREQ): Use it.
92430
92431         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92432         mach/mach.h fcntl.h.
92433         Check for this function: setlocale.
92434
92435 2002-04-24  Jim Meyering  <meyering@lucent.com>
92436
92437         * lib/gettext.h: New file, from Gettext.
92438         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92439         (libfetish_a_SOURCES): Add gettext.h.
92440
92441 2002-04-16  Jim Meyering  <meyering@lucent.com>
92442
92443         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92444         ut_pid, ut_id, ut_exit.
92445
92446 2002-04-16  Jim Meyering  <meyering@lucent.com>
92447
92448         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92449         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92450         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92451
92452 2002-04-12  Jim Meyering  <meyering@lucent.com>
92453
92454         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92455         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92456         existence of the getmntinfo function.  Needed for Darwin 5.3.
92457
92458         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92459         This is necessary at least on Darwin 5.3.
92460
92461         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92462         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92463         strnlen.o in the library, and that makes some versions of ranlib
92464         object.
92465
92466 2002-04-12  Jim Meyering  <meyering@lucent.com>
92467
92468         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92469
92470 2002-04-09  Jim Meyering  <meyering@lucent.com>
92471
92472         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92473         to be more precise.  Rather than saying we're checking whether the
92474         function `works', say what we're testing.
92475         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92476         Reported by Bruno Haible.
92477
92478 2002-03-10  Jim Meyering  <meyering@lucent.com>
92479
92480         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92481         Suggestion from Santiago Vila.
92482
92483 2002-03-08  Jim Meyering  <meyering@lucent.com>
92484
92485         * lib/rename.c: Mention that this wrapper is needed also on
92486         mips-dec-ultrix4.4 systems.
92487
92488 2002-03-02  Jim Meyering  <meyering@lucent.com>
92489
92490         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92491         not HAVE_CLOCK_SETTIME.
92492
92493 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92494
92495         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92496         Check for clock_settime.
92497
92498 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92499
92500         * lib/nanosleep.h: Rename to....
92501         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92502
92503         * lib/gettime.c: New file.
92504         * lib/settime.c: New file.
92505         * lib/stime.c: Remove.
92506
92507         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92508         timespec.h.  Remove nanosleep.h.
92509
92510 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92511
92512         * m4/acl.m4: New file.
92513         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92514         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92515
92516 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92517
92518         * lib/acl.c, lib/acl.h: New files.
92519         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92520
92521 2002-02-24  Jim Meyering  <meyering@lucent.com>
92522
92523         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92524         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92525         cause trouble.  Reported by Nelson Beebe.
92526
92527 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92528
92529         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92530         compilers that don't know that xalloc_die never returns.
92531
92532 2002-02-20  Jim Meyering  <meyering@lucent.com>
92533
92534         * lib/getdate.c: Regenerate using bison-1.33.
92535
92536 2002-02-17  Jim Meyering  <meyering@lucent.com>
92537
92538         * config/config.guess (main): Don't use `head -1'; it's no longer
92539         portable. Use `sed 1q' instead.
92540
92541 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92542
92543         * m4/codeset.m4: Upgrade to gettext-0.11.
92544         * m4/gettext.m4: Upgrade to gettext-0.11.
92545         * m4/glibc21.m4: Upgrade to gettext-0.11.
92546         * m4/iconv.m4: Upgrade to gettext-0.11.
92547         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92548         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92549         * m4/lib-ld.m4: New file, from gettext-0.11.
92550         * m4/lib-link.m4: New file, from gettext-0.11.
92551         * m4/lib-prefix.m4: New file, from gettext-0.11.
92552         * m4/progtest.m4: Upgrade to gettext-0.11.
92553
92554 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92555
92556         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92557         (jm_PREREQ): Use it.
92558
92559 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92560
92561         * lib/posixver.c, lib/posixver.h: New files.
92562         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92563
92564 2002-02-02  Paul Eggert  <eggert@twinsun.com>
92565             Bruno Haible  <bruno@clisp.org>
92566
92567         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
92568         (fwrite_success_callback): New declaration.
92569         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
92570         print_unicode_char. Call failure callback instead of error.
92571         (fwrite_success_callback): New function.
92572         (exit_failure_callback): New function.
92573         (fallback_failure_callback): New function.
92574         (print_unicode_char): Call unicode_to_mb.
92575
92576 2002-01-26  Jim Meyering  <meyering@lucent.com>
92577
92578         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
92579         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
92580
92581 2002-01-26  Jim Meyering  <meyering@lucent.com>
92582
92583         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
92584
92585 2002-01-22  Paul Eggert  <eggert@twinsun.com>
92586
92587         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
92588
92589 2002-01-22  Jim Meyering  <meyering@lucent.com>
92590
92591         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
92592         Otherwise, some versions of automake would omit the rule that makes
92593         Makefile from Makefile.in.
92594
92595 2002-01-21  Paul Eggert  <eggert@twinsun.com>
92596
92597         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
92598         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92599         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
92600         (memcoll): Set errno to zero if there is no error.
92601
92602         * lib/quotearg.c (quotearg_buffer_restyled):
92603         Fix bug with quoting buffers containing NUL when backslashing escapes.
92604         This bug was exposed by the other changes in this patch.
92605         (quotearg_n_options): New arg ARGSIZE.
92606         All callers changed.
92607         (quoting_options_from_style): New function.
92608         (quotearg_n_style): Use it.
92609         (quotearg_n_style_mem): New function.
92610
92611         * lib/quotearg.h (quotearg_n_style_mem): New function.
92612
92613 2002-01-19  Jim Meyering  <meyering@lucent.com>
92614
92615         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
92616         Remove useless quotes: DF_PROG="df".
92617         * m4/strnlen.m4: New file.
92618
92619 2002-01-16  Paul Eggert  <eggert@twinsun.com>
92620
92621         * lib/backupfile.c (ISDIGIT): Comment fix.
92622         * lib/getdate.y (ISDIGIT): Likewise.
92623         * lib/posixtm.c (ISDIGIT, year): Likewise.
92624         * lib/strverscmp.c (ISDIGIT): Likewise.
92625         * lib/userspec.c (ISDIGIT): Likewise.
92626
92627 2002-01-16  Jim Meyering  <meyering@lucent.com>
92628
92629         * lib/getdate.y: Add three semicolons, each just before a closing
92630         brace. Bison (as of version 1.31) no longer papers over that mistake.
92631
92632 2002-01-05  Jim Meyering  <meyering@lucent.com>
92633
92634         * lib/version-etc.c (version_etc_copyright): Update copyright year.
92635
92636 2001-12-19  Paul Eggert  <eggert@twinsun.com>
92637
92638         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
92639         not silently exit merely because the output buffer happens to
92640         have nothing pending.
92641
92642 2001-12-18  Paul Eggert  <eggert@twinsun.com>
92643
92644         See the big note in ../ChangeLog.
92645         * lib/human.c (suffixes): Prefer K to k for 1024.
92646         (generate_suffix_backwards): New function.
92647         (human_readable_inexact): Use it.
92648         * lib/xstrtol.c (__xstrtol): If there is no number but there
92649         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
92650         Accept 'K' as well as 'k'.
92651
92652 2001-12-15  Jim Meyering  <meyering@lucent.com>
92653
92654         * lib/regex.h (__restrict_arr): Update from libc.
92655
92656         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
92657         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
92658         (STREQ): Define.
92659
92660 2001-12-14  Jim Meyering  <meyering@lucent.com>
92661
92662         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
92663         Suggestion from Bruno Haible.
92664
92665 2001-12-10  Jim Meyering  <meyering@lucent.com>
92666
92667         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
92668         xrealloc, Instead, include "xalloc.h".
92669         (initbuffer): Don't cast xmalloc return value to char*.
92670         (readline): Reword comment.
92671         Don't cast xrealloc return value to char*
92672         Return NULL, not 0.
92673
92674 2001-12-09  Jim Meyering  <meyering@lucent.com>
92675
92676         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
92677         about `signed and unsigned type in conditional expression'.
92678         * lib/posixtm.c (posix_time_parse): Likewise.
92679
92680         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
92681
92682         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
92683         to avoid a pedantic warning.
92684
92685         * lib/getstr.c: Don't include assert.h.
92686         (getstr): Remove warning-evoking assertions.
92687         Return -1 if offset parameter is out of bounds.
92688         Change the type of a local from int to size_t.
92689
92690         * lib/strftime.c (my_strftime_localtime_r): Include this function
92691         definition in the `#if ! HAVE_TM_GMTOFF' block.
92692
92693         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
92694         Include xalloc.h instead.
92695
92696 2001-12-02  Jim Meyering  <meyering@lucent.com>
92697
92698         * lib/tempname.c: Don't declare getenv, thus reverting the change of
92699         2001-11-18.  It's no longer necessary, now that stdlib.h is always
92700         included.
92701
92702         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
92703         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
92704
92705 2001-11-30  Akim Demaille  <akim@epita.fr>
92706
92707         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
92708         before being defined.
92709
92710 2001-11-27  Paul Eggert  <eggert@twinsun.com>
92711
92712         * lib/quotearg.h (quotearg_n, quotearg_n_style):
92713         First arg is int, not unsigned.
92714         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
92715         (SIZE_MAX, UINT_MAX): New macros.
92716         (quotearg_n_options): Abort if N is negative.
92717         Avoid overflow check on hosts where size_t is 64 bits and int
92718         is 32 bits, as overflow is impossible there.
92719         Fix off-by-one typo that caused unnecessary reallocation.
92720
92721 2001-11-27  Jim Meyering  <meyering@lucent.com>
92722
92723         * lib/tempname.c: Merge with version from libc.
92724         * lib/regex.c: Likewise.
92725
92726         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
92727         systems for which STDC_HEADERS is 0, it was not included, resulting in
92728         a warning about an integer-to-pointer conversion problem with getenv.
92729         Reported by Volker Borchert.
92730
92731 2001-11-26  Jim Meyering  <meyering@lucent.com>
92732
92733         * lib/gtod.h: Remove file.
92734         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
92735         * lib/gettimeofday.c: Don't include gtod.h.
92736         (GTOD_init): Remove function.
92737         (rpl_gettimeofday): Do its job here instead, rather than aborting.
92738         Suggestion from Volker Borchert.
92739
92740 2001-11-23  Jim Meyering  <meyering@lucent.com>
92741
92742         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
92743         it.
92744         * lib/hash.c (struct hash_table): Define it here instead.
92745
92746 2001-11-22  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
92749
92750 2001-11-20  Jim Meyering  <meyering@lucent.com>
92751
92752         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
92753         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
92754
92755 2001-11-19  Jim Meyering  <meyering@lucent.com>
92756
92757         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
92758         directory.  Use "conftestXXXXXX" as the template.
92759         Suggestion from Paul Eggert.
92760
92761         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
92762         immediately, so the test doesn't mistakenly hit the max-open-files
92763         limit.
92764
92765 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92766
92767         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92768         (TEMPORARIES): New macro.
92769         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92770         removes an artificial limitation (e.g. HP-UX 10.20, where
92771         TMP_MAX is 17576).
92772
92773 2001-11-18  Jim Meyering  <meyering@lucent.com>
92774
92775         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92776
92777 2001-11-18  Jim Meyering  <meyering@lucent.com>
92778
92779         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92780         on SunOS 4.
92781
92782         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92783         files will be created before anything else.
92784
92785 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92786
92787         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92788         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92789
92790 2001-11-17  Jim Meyering  <meyering@lucent.com>
92791
92792         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92793         Prompted by a report from Bob Proulx.
92794
92795         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92796         Instead, require UTILS_FUNC_MKSTEMP.
92797
92798 2001-11-17  Jim Meyering  <meyering@lucent.com>
92799
92800         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92801         Now, that's done as part of AC_FUNC_STRTOD.
92802
92803 2001-11-17  Jim Meyering  <meyering@lucent.com>
92804
92805         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92806         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92807         rather than group writable.  Patch by Juan F. Codagnone.
92808
92809         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92810         xrealloc, Instead, include "xalloc.h".
92811
92812         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92813         Remove explicit declarations of xmalloc, xrealloc,
92814         and xstrdup.  Instead, include "xalloc.h".
92815
92816         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92817         unlocked-io.h.
92818         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92819         Likewise.
92820         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92821
92822         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92823         Reported by Padraig Brady.
92824
92825         * lib/mkstemp.c: #undef mkstemp.
92826         Include config.h.
92827         (rpl_mkstemp): Rename from mkstemp.
92828         Protoize.
92829
92830 2001-11-16  Jim Meyering  <meyering@lucent.com>
92831
92832         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92833         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92834         determine the amount of total physical memory, use pstat_getstatic.
92835         HPUX-11 doesn't define _SC_PHYS_PAGES.
92836         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92837         If sysconf couldn't be used to determine the amount of available
92838         physical memory, use both pstat_getstatic and pstat_getdynamic.
92839         Based on a patch from Bob Proulx.
92840
92841 2001-11-10  Jim Meyering  <meyering@lucent.com>
92842
92843         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92844         (jm_PREREQ): Use it.
92845
92846 2001-11-09  Jim Meyering  <meyering@lucent.com>
92847
92848         * m4/jm-macros.m4: Require autoconf-2.52f.
92849         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92850         Use these AC_-prefixed names, not the AM_-prefixed ones.
92851
92852         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92853
92854 2001-11-05  Jim Meyering  <meyering@lucent.com>
92855
92856         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92857
92858 2001-11-04  Jim Meyering  <meyering@lucent.com>
92859
92860         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92861         $DEFS.
92862
92863 2001-11-03  Jim Meyering  <meyering@lucent.com>
92864
92865         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92866         of AC_DEFUN.
92867
92868         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92869         know the name of the variable in the macro definition.
92870
92871 2001-11-03  Jim Meyering  <meyering@lucent.com>
92872
92873         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92874         in argmatch_to_argument call.
92875
92876         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92877         argument.
92878
92879         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92880         e.g., a fault due to an attempt to free a NULL pointer.
92881
92882 2001-11-01  Jim Meyering  <meyering@lucent.com>
92883
92884         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92885         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92886
92887 2001-11-01  Jim Meyering  <meyering@lucent.com>
92888
92889         * lib/dirfd.c, lib/dirfd.h: New files.
92890         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92891
92892         * lib/hash.c (hash_print) [TESTING]: Clean up.
92893
92894 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92895
92896         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92897         to avoid a warning if -Wall.
92898
92899 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92900
92901         * README: New file
92902         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92903         (per RMS's instructions, this is now the canonical source)
92904         * lgpl/, gpl/: New directories.
92905
92906 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92907
92908         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92909
92910 2001-10-21  Jim Meyering  <meyering@lucent.com>
92911
92912         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92913         this code would end up calling gettext even in packages built
92914         with --disable-nls.
92915         * lib/getopt.c (_): Likewise.
92916         * lib/regex.c (_): Likewise.
92917
92918 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92919
92920         * m4/error.m4 (jm_PREREQ_ERROR):
92921         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92922         AC_FUNC_STRERROR_R does that.
92923         Check for strerror declaration.
92924
92925         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92926         are supposed to have them these days.
92927         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92928         Merge changes from latest Autoconf CVS.
92929         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92930         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92931         POSIX decided to standardize on the int flavor of strerror_r.
92932
92933 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92934
92935         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92936         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92937         Use strerror_r that is only a macro, even if it is not a function.
92938         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92939         (private_strerror): Use prototypes, not old-style function definition.
92940         (print_errno_message): New function.
92941         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92942         char*-flavored one.
92943         (error_tail, error, error_at_line): Use it.
92944
92945 2001-10-11  Jim Meyering  <meyering@lucent.com>
92946
92947         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92948         and quote_n (1, ... to avoid clobbering a buffer.
92949
92950 2001-10-05  Jim Meyering  <meyering@lucent.com>
92951
92952         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92953         hash-pjw.h.
92954         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92955         * lib/hash-pjw.h: New file.
92956
92957 2001-09-30  Jim Meyering  <meyering@lucent.com>
92958
92959         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92960         `struct fsstat' has the `f_fstypename' member.
92961         Use that to define FS_TYPE, which is now used to make
92962         the getfsstat link test tighter.
92963
92964 2001-09-30  Jim Meyering  <meyering@lucent.com>
92965
92966         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92967         Include <sys/ucred.h>, for Apple Darwin.
92968         Include sys/mount.h and sys/fs_types.h only if available.
92969         (FS_TYPE): Define.
92970         (read_filesystem_list): Use FS_TYPE.
92971
92972 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92973
92974         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92975         a boolean context.
92976
92977 2001-09-29  Jim Meyering  <meyering@lucent.com>
92978
92979         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92980         [one-argument getmntent function]): Include stdio.h before mntent.h.
92981         SunOS 4.1.x needs it for the declaration of `FILE'.
92982         Patch by Volker Borchert.
92983
92984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92985         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92986         sys/fs_types.h, and make the link-test for getfsstat guard #include
92987         directives with appropriate #if HAVE_*_H tests so that we can
92988         detect getfsstat on Apple Darwin1.3.7 systems.
92989         Reported by Nelson Beebe.
92990         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92991
92992 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92993
92994         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92995         #defines strtoimax.  Also treat the other strto* functions
92996         like strtoimax.
92997
92998         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92999         Check for strtoul and strtoumax,
93000         as those declarations are made even in the signed case.
93001         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93002         Likewise, for strtol and strtoimax.
93003
93004 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93005
93006         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93007         #defines strtoimax.  Also treat the other strto* functions
93008         like strtoimax.
93009
93010         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93011         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93012         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93013
93014 2001-09-26  Jim Meyering  <meyering@lucent.com>
93015
93016         Most macros in unlocked-io.h had the wrong number of arguments.
93017         * lib/gen-uio: New script.
93018         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93019         * lib/unlocked-io.hin: Remove file.
93020         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93021         rather than trying to embed it here.
93022         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93023         Reported by Padraig Brady.
93024
93025 2001-09-25  Volker Borchert  <bt@teknon.de>
93026
93027         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93028         `result'.
93029
93030 2001-09-24  Jim Meyering  <meyering@lucent.com>
93031
93032         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93033
93034 2001-09-23  Jim Meyering  <meyering@lucent.com>
93035
93036         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93037         instead of the mere test for existence of mntent.h.  The latter
93038         would get a false-positive on AIX 3.4 systems.
93039         In the outer getmntent if-block, don't die if neither of the getmntent
93040         tests succeeds.  Instead, just fall through and continue with the
93041         remaining tests.
93042
93043 2001-09-23  Jim Meyering  <meyering@lucent.com>
93044
93045         * lib/mountlist.c: Remove useless parentheses in #if directives.
93046         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93047         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93048
93049 2001-09-22  Jim Meyering  <meyering@lucent.com>
93050
93051         * m4/gettext.m4: New file.  From gettext.
93052         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93053         * m4/progtest.m4: Likewise
93054         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93055         * m4/glibc21.m4: Likewise.
93056
93057         * m4/libintl.m4: Remove.  No longer used.
93058
93059 2001-09-22  Jim Meyering  <meyering@lucent.com>
93060
93061         * lib/localcharset.c: Update from latest gettext.
93062         * lib/config.charset: Likewise.
93063
93064 2001-09-20  Jim Meyering  <meyering@lucent.com>
93065
93066         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93067         strtoimax.
93068         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93069         strtoumax.
93070
93071 2001-09-20  Jim Meyering  <meyering@lucent.com>
93072
93073         * lib/xstrtol.c (strtoimax): Guard declaration with
93074         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93075         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93076         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93077         (strtoumax): Likewise, for completeness (it wasn't necessary).
93078
93079 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93080
93081         * lib/strtoimax.c (HAVE_LONG_LONG):
93082         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93083         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93084         to work around bug in IBM C compiler.
93085
93086 2001-09-17  Jim Meyering  <meyering@lucent.com>
93087
93088         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93089         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93090         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93091         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93092         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93093         whenever the right hand side need not be expanded by the shell.
93094
93095 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93096
93097         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93098         library.  It's not correct, as some older glibcs are buggy.
93099         fnmatch wasn't fixed until glibc 2.2.
93100
93101         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93102         special shell magic here.
93103
93104 2001-09-16  Jim Meyering  <meyering@lucent.com>
93105
93106         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93107         * m4/jm-macros.m4: Require it.
93108
93109 2001-09-16  Jim Meyering  <meyering@lucent.com>
93110
93111         * lib/mkdir.c: New file.
93112
93113 2001-09-15  Jim Meyering  <meyering@lucent.com>
93114
93115         * m4/jm-macros.m4: Check for help2man.
93116
93117 2001-09-11  Jim Meyering  <meyering@lucent.com>
93118
93119         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93120         The body, by Paul Eggert, was moved here from configure.in.
93121         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93122
93123 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93124
93125         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93126         (jm_PREREQ): Use it.
93127
93128 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93129
93130         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93131         Use ssize_t, not int, to store result of readlink.
93132         Check for ssize_t overflow as well as size_t overflow,
93133         as POSIX says the result of readlink is implementation-defined
93134         when ssize_t overflows.
93135         Remove unnecessary cast to char*.
93136         Use free+malloc instead of realloc, as the storage doesn't need
93137         to be preserved and it's clearer and can be more efficient that way.
93138         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93139         * lib/xreadlink.h (xreadlink): Update prototype.
93140
93141 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93142
93143         * lib/xgetcwd.c: Revert some of the previous change; intead,
93144         fix the HAVE_GETCWD_NULL code to behave more like the
93145         !HAVE_GETCWD_NULL code used to.
93146
93147         Include "xalloc.h".
93148         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93149         invoke xalloc_die.
93150
93151 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93152
93153         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93154         sys/param.h, as pathmax.h includes them.
93155
93156 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93157
93158         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93159         (jm_PREREQ_XGETCWD): New macro.
93160
93161         * m4/getcwd.m4: New file.
93162
93163 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93164
93165         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93166         like the HAVE_GETCWD_NULL code.
93167         Include pathmax.h if not HAVE_GETCWD.
93168         Do not include xalloc.h.
93169         (INITIAL_BUFFER_SIZE): New symbol.
93170         Do not use xmalloc / xrealloc, since the caller is responsible for
93171         handling errors.  Preserve errno around `free' during failure.
93172         Do not overrun buffer when using getwd.
93173
93174 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93175
93176         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93177         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93178         getcwd (NULL, 0).
93179
93180 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93181
93182         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93183         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93184         spotted by Jim Meyering.
93185
93186 2001-09-03  Jim Meyering  <meyering@lucent.com>
93187
93188         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93189         failure.
93190
93191 2001-09-02  Jim Meyering  <meyering@lucent.com>
93192
93193         * lib/error.c: Update from GNU libc.
93194
93195 2001-09-01  Jim Meyering  <meyering@lucent.com>
93196
93197         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93198         Used by df.
93199
93200 2001-09-01  Jim Meyering  <meyering@lucent.com>
93201
93202         * lib/xreadlink.c: New file.
93203         * lib/xreadlink.h: New file.
93204         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93205         xreadlink.h.
93206
93207         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93208         doesn't conflict with sparc Solaris 7's definition in
93209         /usr/include/sys/int_types.h.
93210
93211         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93212         files.
93213         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93214         and strncasecmp as r-values.  Unixware didn't have declarations.
93215
93216 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93217
93218         * lib/xstrtol.h: Add copyright notice.
93219         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93220         LONGINT_INVALID_SUFFIX_CHAR.
93221
93222 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93223
93224         * lib/xstrtol.c (strtoimax): New decl.
93225
93226 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93227
93228         * lib/xgetcwd.c: Don't include pathmax.h.
93229         Include stdlib.h and unistd.h if available.
93230         Include xalloc.h.
93231         (xmalloc, xstrdup, free): Remove decls.
93232         (xgetcwd): Don't assume sizes fit in unsigned.
93233         Check for overflow when computing sizes.
93234         Simplify reallocation code.
93235
93236 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93237
93238         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
93239         a directory's st_size can have an arbitrary value, so the old
93240         usage could waste an arbitrary amount of memory.  All uses
93241         changed.
93242         * lib/savedir.h: Update prototype.
93243
93244 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93245
93246         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
93247
93248         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
93249         old strtoimax.c.
93250
93251         Also, make the following further changes to make this file's
93252         configuration more similar to that of strtol.c:
93253         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
93254         (strtoumax, uintmax_t, strtoull, strtol): Remove.
93255         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93256         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93257         changed to signed values.
93258
93259         And make the following changes as well:
93260         Fix copyright notice, as 1999 was missing.
93261         (verify): New macro.
93262         (strtoimax): Check sizes at compile-time, not run-time.
93263         Prefer strtol to strtoll if both work.
93264         (main): Remove; it was not that useful and was a pain to maintain.
93265
93266         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93267
93268 2001-08-31  Jim Meyering  <meyering@lucent.com>
93269
93270         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93271         Use an initial, malloc'd, buffer of length 128 rather than
93272         a statically allocated one of length 1024.
93273
93274 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93275
93276         Simplify code, partly by assuming autoconf 2.52 semantics.
93277
93278         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93279
93280         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93281         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93282         All uses removed.
93283         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93284         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93285         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93286         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93287         jm_AC_HEADER_INTTYPES_H.
93288         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93289
93290         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93291
93292         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93293         Quote first arg of AC_DEFUN.
93294         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93295         since they are needed to parse the include file even if we need
93296         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93297         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93298         but with opposite signedness.
93299
93300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93301
93302         Merge 'exclude' changes from tar 1.13.22.
93303         This fixes one or two unlikely storage allocation overflow bugs,
93304         but doesn't change user-visible behavior otherwise.
93305
93306 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93307
93308         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93309         (jm_PREREQ_EXCLUDE): New macro.
93310
93311 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93312
93313         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93314         tm to be declared.
93315
93316 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93317
93318         * lib/hash.c: Remove '2001' from copyright notice.
93319
93320 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93321
93322         * lib/full-write.h: New file.
93323         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93324         * lib/full-write.c: Correct credits, as cccp.c no longer
93325         exists and anyway it was so heavily changed from the old cccp
93326         code as to be unrecognizable.  Include full-write.h.
93327         (full_write): Return size_t, with short writes meaning failure.
93328         All callers changed.  This fixes a bug with large buffers
93329         on 64-bit hosts.
93330         * lib/utime.c: Include full-write.h.
93331
93332 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93333
93334         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93335         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93336         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93337         Include if available.
93338         (<xalloc.h>): Include
93339         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93340         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93341         collide with FNM macros.
93342         (struct patopts): New struct.
93343         (struct exclude): Use it, as exclude patterns now come with options.
93344         (new_exclude): Support above changes.
93345         (new_exclude, add_exclude_file):
93346         Initial size must now be a power of two to simplify overflow checking.
93347         (free_exclude, fnmatch_no_wildcards): New function.
93348         (excluded_filename): No longer requires options arg, as the options
93349         are determined by add_exclude.  Now returns bool, not int.
93350         (excluded_filename, add_exclude):
93351         Add support for the fancy new exclusion options.
93352         (add_exclude, add_exclude_file): Now takes int options arg.
93353         Check for arithmetic overflow when computing sizes.
93354         (add_exclude_file): xrealloc might modify errno, so don't
93355         realloc until after errno might be used.
93356
93357         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93358         New macros.
93359         (free_exclude): New decl.
93360         (add_exclude, add_exclude_file): Now takes int options arg.
93361         (excluded_filename): No longer requires options arg, as the options
93362         are determined by add_exclude.  Now returns bool, not int.
93363
93364 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93365
93366         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93367
93368 2001-08-27  Jim Meyering  <meyering@lucent.com>
93369
93370         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93371
93372         * lib/version-etc.c (N_): Remove definition.
93373         Revert most of last change.
93374         Instead, simply don't mark the `Copyright...' string for translation.
93375         Based on advice from Paul Eggert.
93376
93377         * lib/strtoxmax.c: Tweak comment.
93378
93379 2001-08-26  Jim Meyering  <meyering@lucent.com>
93380
93381         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93382
93383         * m4/xstrtoimax.m4: New file.
93384         * m4/xstrtoumax.m4: Add comments explaining why we
93385         AC_REPLACE_FUNCS(strtol).
93386
93387 2001-08-26  Jim Meyering  <meyering@lucent.com>
93388
93389         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93390         of copyright with `%s' so translators don't get an untranslated
93391         message in 2002.
93392         (COPYRIGHT_YEAR): Define.
93393         (version_etc): Use fprintf rather than fputs.
93394         Suggestion from Ulrich Drepper.
93395
93396         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93397
93398         * lib/strtoll.c: New file, from GNU libc.
93399         * lib/xstrtoimax.c: New file.
93400
93401         * lib/xstrtol.h: Add xstrtoimax.
93402         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93403         * lib/strtoimax.c: New file.  Likewise, but first define
93404         STRTOUXMAX_SIGNED.
93405
93406         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93407         ...
93408         * lib/strtoxmax.c: ... then renamed to this.
93409
93410 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93411
93412         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93413         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93414         (jm_AC_TYPE_INTMAX_T): New macro.
93415         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93416
93417         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93418
93419         * m4/longlong.m4: Renamed from ulonglong.m4.
93420         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93421         * m4/uintmax_t.m4: Removed.
93422
93423 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93424
93425         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93426         Port to Solaris 8, where 'sed' requires a space after the 'r'
93427         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93428         Redirect output to $tmp just once.
93429
93430 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93431
93432         * lib/addext.c (<errno.h>): Include.
93433         (errno): Declare if not defined.
93434         (addext): Work correctly when pathconf returns -1 and leaves
93435         errno alone because there is no limit.  Also, work even if
93436         pathconf returns a value greater than SIZE_MAX.
93437
93438 2001-08-12  Jim Meyering  <meyering@lucent.com>
93439
93440         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93441         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93442         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93443         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93444         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93445         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93446         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93447         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93448         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93449         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93450         utime.m4, utimes.m4, xstrtoumax.m4:
93451         Quote the first argument in each use of AC_DEFUN.
93452
93453 2001-08-12  Jim Meyering  <meyering@lucent.com>
93454
93455         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93456         Simply `return getcwd (NULL, 0);'.
93457         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93458         Use 1300 as initial value for length, not PATH_MAX.
93459
93460         * lib/pathmax.h: Clean up cpp syntax.
93461
93462 2001-08-12  Jim Meyering  <meyering@lucent.com>
93463
93464         * lib/gettimeofday.c: New file.
93465         * lib/gtod.h: New file.
93466         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93467
93468 2001-08-05  Jim Meyering  <meyering@lucent.com>
93469
93470         * m4/jm-macros.m4: Require autoconf-2.52.
93471
93472 2001-08-04  Jim Meyering  <meyering@lucent.com>
93473
93474         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93475         stmt, to get in sync with glibc.
93476
93477 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93478
93479         The following changes are from gettext 0.10.39 as maintained by
93480         Bruno Haible.
93481
93482         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93483         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93484         with inverted sense.  All uses changed.
93485
93486         * lib/mbswidth.c: Don't include <limits.h>.
93487         Include <stdlib.h> and <string.h> unconditionally.
93488         (iswcntrl, mbsinit, ISCNTRL): New macros.
93489         (mbsnwidth): Use K&R style function declarations.
93490         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93491         can optimize it when MB_CUR_MAX == 1.
93492         The width of control characters is zero, not 1.
93493
93494 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93495
93496         The following changes are from gettext 0.10.39 as maintained by
93497         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93498
93499         * m4/codeset.m4: Upgrade to serial AM1.
93500         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93501         all uses changed.  Quote first arg of AC_DEFUN.
93502         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93503
93504         * m4/iconv.m4: Upgrade to serial AM2.
93505         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93506         Add --with-libconv-prefix.
93507         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93508         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93509         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93510         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93511         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93512
93513         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93514         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93515         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93516         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93517         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93518         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93519         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93520         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93521         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93522
93523         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93524         string.h any more.
93525
93526         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93527         not the default value.
93528
93529         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93530         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93531         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93532         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93533         Also check for iswcntrl, used for wcwidth fallback.
93534         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93535         to Autoconf 2.13.
93536
93537 2001-08-03  Jim Meyering  <meyering@lucent.com>
93538
93539         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93540         as it was in the original.  Reported by Paul Eggert.
93541
93542 2001-07-16  Jim Meyering  <meyering@lucent.com>
93543
93544         * m4/gettimeofday.m4: New file.
93545         Prompted by a report from Bernhard Baehr.
93546
93547 2001-07-15  Jim Meyering  <meyering@lucent.com>
93548
93549         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93550         stuff. Now it's in ../Makefile.cfg.
93551
93552 2001-07-15  Jim Meyering  <meyering@lucent.com>
93553
93554         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93555         (BUILT_SOURCES): Add unlocked-io.h.
93556         (io_functions): Define.
93557         (unlocked-io.h): New rule.
93558         (DISTCLEANFILES): Add unlocked-io.h.
93559         (all-local): Depend on unlocked-io.h, to ensure it is created.
93560
93561         * lib/unlocked-io.hin: New file
93562
93563         * lib/regex.c: Update from glibc.
93564
93565 2001-07-05  Jim Meyering  <meyering@lucent.com>
93566
93567         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
93568         recommendation.
93569         (libfetish_a_SOURCES): Put all .h files here instead.
93570         Remove a thus-exposed (better checks in automake) duplicate and
93571         two unnecessary .h files.
93572
93573 2001-07-04  Jim Meyering  <meyering@lucent.com>
93574
93575         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
93576         that generates jm-glibc-io.m4 so that it doesn't trigger any make
93577         distcheck failure.
93578
93579 2001-07-02  Jim Meyering  <meyering@lucent.com>
93580
93581         The following changes were prompted by suggestions from Bruno Haible.
93582
93583         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
93584         is now generated.
93585         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
93586         definition of EXTRA_DIST.
93587         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
93588         ensure that the generated file is created/updated whenever the list
93589         of $(unlocked_functions) is changed.
93590         (jm-glibc-io.m4): New rule.
93591         (unlocked-io.h): New rule -- currently unused.
93592
93593 2001-06-24  Jim Meyering  <meyering@lucent.com>
93594
93595         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
93596         unmatched right bracket, rather than kludging it with an extra,
93597         falsely-matching quote in a comment.  Patch by Akim Demaille.
93598
93599 2001-06-11  Jim Meyering  <meyering@lucent.com>
93600
93601         * lib/regex.c: Update from GNU libc.
93602
93603 2001-05-27  Jim Meyering  <meyering@lucent.com>
93604
93605         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
93606         Check for ut_type in struct utmp.
93607
93608 2001-05-27  Jim Meyering  <meyering@lucent.com>
93609
93610         * lib/readutmp.h (UT_TYPE): Define.
93611
93612 2001-05-24  Jim Meyering  <meyering@lucent.com>
93613
93614         * lib/argmatch.c: Include "quote.h".
93615         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
93616         quote function.  Reported by Göran Uddeborg.
93617
93618 2001-05-22  Jim Meyering  <meyering@lucent.com>
93619
93620         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
93621         now that we use the package-supplied version unconditionally.
93622         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
93623
93624 2001-05-21  Jim Meyering  <meyering@lucent.com>
93625
93626         * m4/regex.m4: Change a couple backticks to single quotes to avoid
93627         shell syntax errors.
93628
93629 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93630
93631         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
93632
93633 2001-05-20  Paul Eggert  <eggert@twinsun.com>
93634
93635         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
93636         Don't bother to check library strftime, since
93637         we'll be using our own my_strftime function anyway.
93638         Define my_strftime instead of strftime.
93639
93640 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
93641
93642         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
93643         which is not yet declared.
93644
93645 2001-05-15  Jim Meyering  <meyering@lucent.com>
93646
93647         * m4/regex.m4: Use proper quoting so brackets appear in the test
93648         program.
93649         Reported by, and with help from, Bruno Haible.
93650
93651 2001-05-13  Jim Meyering  <meyering@lucent.com>
93652
93653         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
93654         undefined.
93655
93656 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93657
93658         dirname code cleanup.  base_name now behaves more compatibly
93659         with POSIX basename when given file names that have trailing
93660         slashes, and similarly for dir_name.  Add new primitives
93661         base_len and dir_len.  Put the directory-name-related decls
93662         into dirname.h.
93663
93664         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
93665         * lib/backupfile.c (base_name): Likewise.
93666         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
93667         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
93668         * lib/makepath.c (strip_trailing_slashes): Likewise.
93669         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
93670         ISSLASH): Likewise.
93671         * lib/rename.c (strip_trailing_slashes): Likewise.
93672         * lib/same.c (base_name): Likewise.
93673         * lib/stripslash.c (ISSLASH): Likewise.
93674
93675         * lib/addext.c: Include <dirname.h> after size_t is defined.
93676         * lib/backupfile.c: Likewise.
93677
93678         * lib/addext.c (addext): Use base_len to trim redundant
93679         trailing slashes instead of doing it ourselves.
93680         But do not trim the last slash if it is not redundant.
93681
93682         * lib/backupfile.c (find_backup_file_name,
93683         max_backup_version): Use base_len instead of rolling it ourselves.
93684         Handle the case of "" and (on DOS) "C:" correctly.
93685
93686         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
93687         needed. Include <string.h>, <dirname.h>.
93688         (base_name): Allow file names ending in slashes, other than names
93689         that are all slashes.  In this case, return the basename followed
93690         by the slashes.  This is more general, and can be used in places
93691         where the original base_name purposely had an assertion failure.
93692         (base_len): New function.
93693
93694         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
93695         Do not include <assert.h>; no longer needed.
93696         Include xalloc.h.
93697         (memrchr): Remove decl.
93698         (dir_name_r): Remove.
93699         (dir_len): Renamed from dirlen.  All callers changed.
93700         Rewrite in terms of base_name, for simplicity and consistency.
93701         (dir_name): Never return NULL.  All callers changed.
93702         Do not include <stdlib.h> in test program; no longer needed.
93703         return 0; is fine for test program.
93704
93705         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
93706         New macros.
93707         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
93708
93709         * lib/path-concat.c (path_concat): Use base_len to compute
93710         base length, not strlen; this means we cannot rely on memcpy
93711         to null-terminate.
93712
93713         * lib/same.c (STREQ): Remove.
93714         (same_name): Handle the case where the basename ends in trailing '/'.
93715
93716         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
93717         a slash was stripped.  Do not strip the last slash after a
93718         file system prefix.
93719
93720 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93721
93722         * lib/Makefile.am (libfetish_a_SOURCES):
93723         Add strftime.c, since we now compile it on all hosts.
93724
93725         * lib/strftime.c (my_strftime):
93726         Define to nstrftime if emacs, but only if my_strftime is not defined.
93727         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
93728         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
93729         Add one more extra argument: a nanoseconds value.
93730         All uses changed.
93731         (ns): New macro.
93732         (my_strftime function): Add %N format.
93733         (emacs_strftimeu): Renamed from emacs_strftime,
93734         with extra ut argument.
93735
93736 2001-05-09  Paul Eggert  <eggert@twinsun.com>
93737
93738         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
93739
93740 2001-04-21  Jim Meyering  <meyering@lucent.com>
93741
93742         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
93743         doesn't interfere.
93744
93745 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93746
93747         * m4/ftruncate.m4: Check for chsize.
93748         Link with ftruncate.o unconditionally if ftruncate is missing.
93749         This was required when cross-compiling to i586-mingw32msvc.
93750
93751 2001-04-08  Jim Meyering  <meyering@lucent.com>
93752
93753         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
93754         recomputed; that's necessary when the offset spans a DST transition.
93755         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
93756
93757 2001-04-02  Jim Meyering  <meyering@lucent.com>
93758
93759         * lib/regex.h, regex.c: Update from GNU libc.
93760
93761 2001-03-24  Jim Meyering  <meyering@lucent.com>
93762
93763         * m4/jm-macros.m4: Require autoconf-2.49d.
93764
93765 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93766
93767         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93768
93769 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93770
93771         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93772
93773 2001-03-17  Jim Meyering  <meyering@lucent.com>
93774
93775         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93776         now that the version in autoconf is equivalent.
93777         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93778
93779         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93780         Suggestion from Akim Demaille.
93781
93782         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93783         (jm_PREREQ_TEMPNAME): New function.
93784
93785 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93786
93787         * lib/tempname.c (uint64_t): Define to uintmax_t if
93788         not defined, and if UINT64_MAX is not defined.
93789         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93790         Reported by John David Anglin.
93791
93792 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93793
93794         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93795         resolve alias if codeset is empty.
93796         * lib/config.charset (BeOS): Use wildcard syntax.
93797
93798 2001-03-13  Jim Meyering  <meyering@lucent.com>
93799
93800         * lib/path-concat.c (path_concat)
93801         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93802         concatenating e.g., `C:' and `foo'.
93803         From Bruno Haible.
93804
93805 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93806
93807         * lib/localcharset.c (locale_charset): Don't use
93808         setlocale(LC_CTYPE,NULL). Don't return NULL.
93809         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93810
93811 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93812
93813         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93814         support for DOS/DJGPP.
93815
93816 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93817
93818         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93819         lacks mkstemp.  Compile our own tempname.c if we compile our own
93820         mkstemp.c, as mkstemp relies on tempname.
93821
93822 2001-03-01  Jim Meyering  <meyering@lucent.com>
93823
93824         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93825         AH_VERBATIM really does output its argument verbatim.
93826
93827 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93828
93829         * lib/Makefile.am (libfetish_a_SOURCES):
93830         Add dup-safer.c, fopen-safer.c.
93831         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93832
93833         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93834         * lib/unistd-safer.h: New files.
93835
93836 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93837
93838         The mkstemp replacement is taken from glibc 2.2.2, with some
93839         portability fixes for use outside glibc, as follows:
93840
93841         * lib/tempname.c (struct_stat64): New macro.
93842         (direxists, __gen_tempname): Use it.
93843         This avoids a portability problem with Solaris 8.
93844
93845         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93846         (<stddef.h>, <stdint.h>, <string.h>):
93847         Include only if STDC_HEADERS || _LIBC.
93848         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93849         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93850         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93851         (__set_errno): Define this macro if <errno.h> doesn't.
93852         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93853         Define these macros if <stdio.h> doesn't.
93854         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93855         Define these macros if <sys/stat.h>
93856         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93857         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93858         __xstat64): Define if not _LIBC.
93859         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93860         (__gen_tempname): Invoke gettimeofday only if
93861         HAVE_GETTIMEOFDAY || _LIBC;
93862         otherwise, fall back on plain "time".
93863         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93864
93865         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93866
93867         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93868
93869 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93870
93871         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93872
93873 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93874
93875         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93876         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93877         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93878         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93879
93880 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93881
93882         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93883         Remove workaround macros for hosts that have mbrtowc but not
93884         mbstate_t, as we now insist on proper declarations for both
93885         before using mbrtowc.
93886
93887 2001-02-17  Jim Meyering  <meyering@lucent.com>
93888
93889         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93890         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93891         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93892         UnixWare 7.1.1.
93893
93894         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93895         rather than AC_CACHE_VAL.
93896
93897 2001-02-17  Jim Meyering  <meyering@lucent.com>
93898
93899         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93900         around included file name.
93901
93902         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93903
93904         * lib/strftime.c: Update from GNU libc (the only changes were to
93905         comments).
93906
93907 2001-02-17  Jim Meyering  <meyering@lucent.com>
93908
93909         * lib/regex.c: Update from libc.
93910
93911 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93912
93913         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93914         clash.
93915
93916 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93917
93918         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93919         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93920         Reported by Mark Hounschell via Paul Eggert.
93921
93922 2001-02-07  Jim Meyering  <meyering@lucent.com>
93923
93924         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93925
93926 2001-02-05  Jim Meyering  <meyering@lucent.com>
93927
93928         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93929         it includes the patch required for `large file' support with at least
93930         HP-UX's 10.20 /bin/cc.
93931
93932 2001-02-03  Jim Meyering  <meyering@lucent.com>
93933
93934         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93935         AS_IF, now that it works once again (mysteriously).
93936         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93937
93938 2001-01-30  Jim Meyering  <meyering@lucent.com>
93939
93940         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93941         * m4/chown.m4: Rename conftestchown to conftest.chown.
93942         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93943         s/conftestdir2/conftest.d2/.
93944         * m4/utimes.m4: s/conftestdata/conftest.data/
93945         Inspired by Pavel Roskin's change in autoconf.
93946
93947 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93948
93949         * lib/config.charset: Update for FreeBSD 4.2.
93950
93951 2001-01-27  Jim Meyering  <meyering@lucent.com>
93952
93953         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93954         a use of AS_IF.
93955         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93956
93957 2001-01-26  Jim Meyering  <meyering@lucent.com>
93958
93959         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93960         quotearg.c includes it.
93961
93962 2001-01-26  Jim Meyering  <meyering@lucent.com>
93963
93964         * lib/quotearg.c: Include stddef.h.
93965         * lib/quote.c: Include stddef.h.
93966         Reported by Axel Kittenberger.
93967
93968         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93969         line in double quotes so that it evokes a better diagnostic.
93970         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93971         Reported by Axel Kittenberger.
93972
93973 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93974
93975         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93976         as if it was a `charset'.
93977
93978 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93979
93980         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93981         has const.
93982
93983 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93984
93985         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93986         to avoid a warning.  Add back 'const' to inptr.
93987
93988 2001-01-20  Jim Meyering  <meyering@lucent.com>
93989
93990         Be sure that headers are checked before used in code compiled
93991         for the type checks.
93992         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93993         In place of that, invoke jm_CHECK_ALL_TYPES.
93994         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93995         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93996         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93997         The check for ssize_t was mistakenly run before the test for unistd.h.
93998
93999         The configure-time check for stdbool.h was missing.
94000         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94001         (jm_PREREQ_HASH): New function.
94002
94003 2001-01-17  Jim Meyering  <meyering@lucent.com>
94004
94005         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94006         for autoconf-2.49c.
94007         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94008
94009 2001-01-16  Jim Meyering  <meyering@lucent.com>
94010
94011         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94012         From Bruno Haible.
94013
94014 2001-01-14  Jim Meyering  <meyering@lucent.com>
94015
94016         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94017         foo and bar.  Create conftestdir/ in the script, not in the C code.
94018         Remove directories in the script, not in the C code.
94019         Remove conftestdir{,2} before trying to create the directory.
94020         Make the entire configure script fail if the mkdir fails.
94021
94022 2001-01-14  Jim Meyering  <meyering@lucent.com>
94023
94024         * lib/rename.c: New file.  From Volker Borchert.
94025         Include stdlib.h, string.h or strings.h, and xalloc.h.
94026         Use strip_trailing_slashes rather than open-coding it.
94027
94028 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94029
94030         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94031
94032 2001-01-03  Jim Meyering  <meyering@lucent.com>
94033
94034         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94035         of local `inptr' to avoid warning with some system declarations of
94036         iconv.
94037
94038 2001-01-02  Volker Borchert  <bt@teknon.de>
94039
94040         * m4/rename.m4: New file.
94041         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94042
94043 2001-01-01  Jim Meyering  <meyering@lucent.com>
94044
94045         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94046         even on systems with utmpx.h.  It's necessary for the declaration of
94047         utmp's ut_user member.  Reported by Andreas Jaeger.
94048
94049         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94050         available. They are required for the declarations of getgrgid and
94051         getpwuid resp.
94052         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94053         Reported by Andreas Jaeger.
94054
94055 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94056
94057         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94058         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94059         so `make install' also works in VPATH builds.
94060
94061 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94062
94063         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94064         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94065         can be used in subdirectories.
94066
94067 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94068
94069         * lib/modechange.c: Do not assume that mode_t uses the
94070         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94071         the other-execute bit of FOO even if S_IXOTH != 1.
94072
94073         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94074         WOTH, XOTH, ALLM): New macros.
94075         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94076          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94077         Use them.
94078         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94079         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94080         (mode_compile):
94081         No need to use uintmax_t; unsigned long is long enough.
94082         Don't bother to get suffix since we don't use it.
94083
94084 2000-12-26  Jim Meyering  <meyering@lucent.com>
94085
94086         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94087         better with autoheader.
94088
94089 2000-12-24  Jim Meyering  <meyering@lucent.com>
94090
94091         * lib/hash.c (is_prime): Return explicit boolean values.
94092         (hash_get_first): Return NULL to appease Irix5.6's 89.
94093         Reported by Nelson Beebe.
94094
94095 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94096
94097         * lib/localcharset.c (locale_charset): Add support for Win32.
94098
94099 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94100
94101         * lib/physmem.h, lib/physmem.c: New files.
94102
94103         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94104         (noinst_HEADERS): Add physmem.h.
94105
94106         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94107         't' for compatibility with Solaris 8 sort.
94108
94109 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94110
94111         * lib/config.charset: Add support for BeOS.
94112
94113 2000-12-17  Jim Meyering  <meyering@lucent.com>
94114
94115         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94116         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94117
94118 2000-12-16  Jim Meyering  <meyering@lucent.com>
94119
94120         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94121         N and M) would have treated it like `chown N:N FILE'.
94122
94123         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94124
94125 2000-12-16  Jim Meyering  <meyering@lucent.com>
94126
94127         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94128         SHELLS_FILE to a file name that's useful on djgpp systems.
94129         Include stdlib.h.
94130         (ADDITIONAL_DEFAULT_SHELLS): Define.
94131         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94132         Based mostly on a patch from Prashant TR.
94133
94134 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94135
94136         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94137         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94138         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94139
94140 2000-12-08  Andreas Schwab  <schwab@suse.de>
94141
94142         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94143         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94144
94145 2000-12-07  Jim Meyering  <meyering@lucent.com>
94146
94147         * lib/stripslash.c (ISSLASH): Define.
94148         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94149         `/'.
94150         From Prashant TR.
94151
94152         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94153         (dir_name_r): Declare this function as static.
94154         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94155         manifest itself on a name containing a mix of slashes and
94156         backslashes.
94157         Make this function work with names starting with a DOS-style
94158         drive letter and colon prefix.
94159         (dir_name): Append `.' if necessary.
94160         Based mostly on patches from Prashant TR and Eli Zaretskii.
94161
94162         * lib/dirname.h (dir_name_r): Remove prototype.
94163
94164 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94165
94166         * m4/off_t-format.m4: Remove this file.
94167         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94168
94169 2000-12-06  Jim Meyering  <meyering@lucent.com>
94170
94171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94172         replacement strtoull, we may well need the replacement strtoul, too.
94173         Check for declarations of strtoul and strtoull.
94174         Check for strtol.  Mainly as a cue to cause automake to include
94175         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94176         Check for limits.h -- strtol.c needs it.
94177
94178 2000-12-05  Jim Meyering  <meyering@lucent.com>
94179
94180         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94181
94182 2000-12-04  Jim Meyering  <meyering@lucent.com>
94183
94184         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94185         Also include memory.h, stdlib.h, unistd.h if appropriate.
94186         Reported by Andreas Jaeger (conflicting declaration of malloc).
94187
94188 2000-12-02  Jim Meyering  <meyering@lucent.com>
94189
94190         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94191         * m4/jm-macros.m4 (jm_MACROS): require it.
94192
94193 2000-12-02  Jim Meyering  <meyering@lucent.com>
94194
94195         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94196
94197 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94198
94199         * lib/memrchr.c: Include <config.h> before any system include file.
94200
94201 2000-11-30  Jim Meyering  <meyering@lucent.com>
94202
94203         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94204
94205 2000-11-30  Jim Meyering  <meyering@lucent.com>
94206
94207         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94208
94209 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94210
94211         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94212
94213 2000-11-26  Jim Meyering  <meyering@lucent.com>
94214
94215         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94216
94217 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94218
94219         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94220         size of (size_t) -1; it's not portable.
94221
94222 2000-11-17  Jim Meyering  <meyering@lucent.com>
94223
94224         * lib/strstr.c: Update from GNU libc.
94225
94226 2000-11-17  Akim Demaille  <akim@epita.fr>
94227
94228         * lib/obstack.h: Formatting changes.
94229         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94230         prevent type checking.
94231         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94232         cast the value to (void *): assigning a `foo *' to a `void *'
94233         variable is valid.
94234         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
94235
94236 2000-11-16  Jim Meyering  <meyering@lucent.com>
94237
94238         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
94239
94240 2000-11-11  Jim Meyering  <meyering@lucent.com>
94241
94242         * lib/error.c: Add a couple #includes, merging from GNU libc version.
94243
94244 2000-11-10  Jim Meyering  <meyering@lucent.com>
94245
94246         * lib/obstack.h: Update from GNU libc.
94247         * lib/obstack.c: Likewise.
94248
94249 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
94250
94251         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
94252
94253 2000-11-06  Paul Eggert  <eggert@twinsun.com>
94254
94255         * lib/getusershell.c (setusershell): Use rewind rather than
94256         fseek/fseeko, to avoid configuration hassles with fseeko.
94257         Don't bother opening SHELLS_FILE if shellstream is NULL;
94258         it's not necessary.
94259
94260 2000-11-05  Jim Meyering  <meyering@lucent.com>
94261
94262         * lib/makepath.h (make_dir): Declare.
94263         * lib/makepath.c (make_dir): Remove `static' attribute.
94264         Tweak a comment.
94265
94266 2000-11-04  Jim Meyering  <meyering@lucent.com>
94267
94268         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94269
94270 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94271
94272         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94273         last one in a bucket, advance to the next bucket.
94274
94275 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94276
94277         * lib/fnmatch.c: Do not comment out all the code if we are using
94278         the GNU C library, because in some cases we are replacing buggy
94279         code in the GNU C library itself.
94280
94281 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94282
94283         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94284         (regex_compile): Catch bogus \(\1\).
94285
94286 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94287
94288         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94289         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94290         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94291
94292 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94293
94294         * lib/error.h, getline.h, modechange.h:
94295         Remove "2000" from Copyright line, as the file hasn't been
94296         changed this year other than in the copyright notice.
94297
94298         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94299         was changed this year.
94300
94301 2000-10-29  Jim Meyering  <meyering@lucent.com>
94302
94303         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94304         renaming.
94305         * m4/ls-mntd-fs.m4: Likewise
94306
94307 2000-10-29  Jim Meyering  <meyering@lucent.com>
94308
94309         * lib/xstat.in: Fix grammar in comment.
94310
94311 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94312
94313         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94314         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94315         doesn't define __restrict_arr.
94316
94317 2000-10-28  Jim Meyering  <meyering@lucent.com>
94318
94319         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94320         (jm_PREREQ_MEMCHR): New function.
94321
94322 2000-10-28  Jim Meyering  <meyering@lucent.com>
94323
94324         * lib/memchr.c: Update from libc.
94325         Adjust for portability:
94326         [HAVE_STDLIB_H]: Include stdlib.h.
94327         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94328         Undef __memchr, too.
94329         [!weak_alias]: Define __memchr to memchr.
94330
94331         * lib/regex.c: Update from libc.
94332         * lib/regex.h: Likewise.
94333         * lib/getopt1.c: Likewise.
94334         * lib/memcmp.c: Likewise.
94335
94336         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94337         Avoid using fseek, when possible -- it's broken by design.
94338         Patch by Ulrich Drepper.
94339
94340 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94341
94342         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94343         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94344         Giving in to popular pressure to shut up the compiler with casts.
94345
94346 2000-10-26  Jim Meyering  <meyering@lucent.com>
94347
94348         * lib/strftime.c: Update from libc.
94349
94350 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94351
94352         * regex.c: More `unsigned char' -> `re_char' changes.
94353         Also change several `int' into `re_wchar_t'.
94354         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94355         (PUSH_FAILURE_POINTER): Don't cast any more.
94356         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94357         We want GCC to complain, since this piece of code makes
94358         re_match non-reentrant, which *should* be fixed.
94359         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94360         (EXTEND_BUFFER): Use RETALLOC.
94361         (SET_LIST_BIT): Don't cast.
94362         (re_wchar_t): New type.
94363         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94364         that those two functions will always properly return.
94365         (IMMEDIATE_QUIT_CHECK): Cast to void.
94366         (analyse_first): Use recursion rather than an explicit stack.
94367         (re_compile_fastmap): Can't fail anymore.
94368         (re_search_2): Don't check re_compile_fastmap for failure.
94369         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94370         Now also sets the new value (passed in a new argument).
94371         (re_match_2_internal): Use it.
94372         Also, use a new var `reg' of type size_t when looping through regs
94373         rather than reuse the inappropriate `mcnt'.
94374
94375 2000-10-25  Jim Meyering  <meyering@lucent.com>
94376
94377         * lib/obstack.c: Update from libc.
94378
94379 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94380
94381         * regex.c (regex_compile): Change the way of handling a range from
94382         a char less than 256 to a char not less than 256.
94383
94384 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94385
94386         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94387         NT-Emacs only.
94388         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94389         so that re_search functions only quit when callers expect them to.
94390
94391 2000-10-23  Jim Meyering  <meyering@lucent.com>
94392
94393         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94394         wrong.  That set_locale call must not have any side effects.
94395         From Paul Eggert.
94396
94397 2000-10-22  Jim Meyering  <meyering@lucent.com>
94398
94399         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94400         [CYCLIC]: Remove now-unused definition.
94401
94402         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94403         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94404         Suggestion from Ulrich Drepper.
94405
94406 2000-10-21  Jim Meyering  <meyering@lucent.com>
94407
94408         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94409         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94410         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94411
94412 2000-10-21  Jim Meyering  <meyering@lucent.com>
94413
94414         * lib/dirname.c (memrchr): Declare if necessary.
94415         (dir_name): Remove the restriction that there be no
94416         trailing slashes.  Now, this code skips past them, effectively
94417         ignoring them.
94418         [TEST_DIRNAME] (main): New unit tests.
94419
94420         * lib/memrchr.c: New file from GNU libc.
94421         Undef __memrchr, too.
94422         [!weak_alias]: Define __memrchr to memrchr.
94423         Guard weak_alias use with `#ifdef weak_alias'.
94424
94425 2000-10-21  Jim Meyering  <meyering@lucent.com>
94426
94427         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94428         (dir_name): Use dir_name_r.
94429         * lib/dirname.h (dir_name_r): Declare it.
94430
94431 2000-10-17  Jim Meyering  <meyering@lucent.com>
94432
94433         * lib/quote.h (PARAMS): Define and use.
94434         Reported by Akim Demaille.
94435
94436         * lib/getopt.c: Update from libc.
94437
94438 2000-10-16  Jim Meyering  <meyering@lucent.com>
94439
94440         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94441         setlocale.
94442         From Jan Fedak.
94443
94444 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94445
94446         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94447
94448 2000-09-25  Jim Meyering  <meyering@lucent.com>
94449
94450         * lib/md5.h (rol): Define (from GnuPG).
94451
94452         * lib/sha.c: Give credit (GnuPG) where due.
94453         (M): Use rol rather than open-coding it.
94454         Add a FIXME comment.
94455
94456 2000-09-21  Jim Meyering  <meyering@lucent.com>
94457
94458         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94459         Reported by Michael Stone.
94460
94461 2000-09-20  Jim Meyering  <meyering@lucent.com>
94462
94463         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94464         (noinst_HEADERS): Add sha.h.
94465         Based on code from Scott G. Miller and from GnuPG.
94466
94467 2000-09-18  Jim Meyering  <meyering@lucent.com>
94468
94469         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94470         LIBS. Otherwise, everyone ends up linking with -lelf for some
94471         configurations.
94472         Reported by Mike Stone.
94473
94474 2000-09-15  Jim Meyering  <meyering@lucent.com>
94475
94476         * lib/regex.c: Update from libc.
94477
94478 2000-09-10  Jim Meyering  <meyering@lucent.com>
94479
94480         * lib/getopt.c (_getopt_internal): Update from glibc.
94481
94482 2000-09-09  Jim Meyering  <meyering@lucent.com>
94483
94484         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94485         think it should be used as a general replacement for isascii.
94486         * lib/fnmatch.c: Likewise.
94487         * lib/mbswidth.c: Likewise
94488         * lib/regex.c: Likewise.
94489
94490         Don't use atoi.
94491         * lib/userspec.c: Include sys/param.h and limits.h.
94492         Include xstrtol.h.
94493         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94494         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94495         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94496         UID, GID.  Check range.
94497
94498 2000-09-06  Jim Meyering  <meyering@lucent.com>
94499
94500         * lib/getopt.c (_getopt_internal): Update from glibc.
94501
94502 2000-08-30  Jim Meyering  <meyering@lucent.com>
94503
94504         * lib/strftime.c: Merge in changes from GNU libc.
94505
94506 2000-08-26  Jim Meyering  <meyering@lucent.com>
94507
94508         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94509         * m4/fpending.m4: New file.
94510
94511 2000-08-26  Jim Meyering  <meyering@lucent.com>
94512
94513         * lib/closeout.c: Include "__fpending.h".
94514         (close_stdout_status): Return right away if there's nothing to flush.
94515
94516         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94517         * lib/__fpending.c: New file.
94518         * lib/__fpending.h: New file.
94519
94520 2000-08-20  Jim Meyering  <meyering@lucent.com>
94521
94522         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94523         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94524         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94525
94526 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94527
94528         Improve fileutils installation on systems where running
94529         programs (like install) can't be unlinked.
94530         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94531         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94532
94533 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94534
94535         Standardize on "memory exhausted" instead of "Memory exhausted"
94536         or "virtual memory exhausted".
94537         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94538         "virtual memory exhausted".
94539         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94540         our own message.
94541         * lib/userspec.c (parse_user_spec): Likewise.
94542         * lib/bumpalloc.h: comment fix
94543         * lib/same.c, userspec.c: Include xalloc.h.
94544
94545         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94546         not char *const and pointing to a constant array.
94547         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94548         (xrealloc): Comment fix.
94549
94550         * lib/userspec.c (parse_user_spec):
94551         Don't translate a message until just before returning,
94552         to avoid unnecessary translation.
94553
94554 2000-08-07  Jim Meyering  <meyering@lucent.com>
94555
94556         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94557         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94558         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94559         getgroups.c, gethostname.c, getopt.h, group-member.c,
94560         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94561         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94562         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94563         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
94564         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
94565         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
94566         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
94567         yesno.c: Back out Copyright date changes for each file with no change
94568         this year.  This eases coordination with other programs using the same
94569         source code modules.  From Paul Eggert.
94570
94571 2000-08-06  Paul Eggert  <eggert@twinsun.com>
94572
94573         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
94574         not char, for compatibility with glibc 2.1.3 strftime.c.
94575
94576 2000-08-03  Greg McGary  <greg@mcgary.org>
94577
94578         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
94579         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
94580         (EXTEND_BUFFER): Use them.
94581
94582 2000-08-01  Jim Meyering  <meyering@lucent.com>
94583
94584         * lib/dirname.c (ISSLASH): Define.
94585         (BACKSLASH_IS_PATH_SEPARATOR): Define.
94586         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
94587         both `\' and `/' may be use as path separators.
94588         Based on a patch from Prashant TR.
94589
94590 2000-07-31  Paul Eggert  <eggert@twinsun.com>
94591
94592         * lib/quotearg.c (quotearg_n_options): Don't make the initial
94593         slot vector a constant, since it might get modified.
94594
94595 2000-07-31  Jim Meyering  <meyering@lucent.com>
94596
94597         * lib/xmalloc.c: Use `virtual memory exhausted', not
94598         `Memory exhausted'.
94599         * lib/obstack.c (print_and_abort): Likewise.
94600
94601 2000-07-30  Paul Eggert  <eggert@twinsun.com>
94602
94603         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
94604         buffer, so that the caller can always quote one small
94605         component of a "memory exhausted" message in slot 0.
94606         From a suggestion by Jim Meyering.
94607
94608 2000-07-30  Jim Meyering  <meyering@lucent.com>
94609
94610         * lib/makepath.c (make_path): Quote the other instance, too.
94611
94612         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
94613         (STATIC_BUF_SIZE): Define.
94614         (quotearg_n_options): Use only statically allocated storage when
94615         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
94616         than STATIC_BUF_SIZE.
94617
94618 2000-07-29  Jim Meyering  <meyering@lucent.com>
94619
94620         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
94621         * lib/dirname.c (dir_name): Likewise.
94622
94623         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
94624         `/'.
94625
94626         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
94627         (dir_name): Assert that there are no trailing slashes.
94628
94629 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
94630
94631         * lib/mbswidth.h (mbswidth): Add a flags argument.
94632         (mbswidth): New declaration.
94633         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
94634         * lib/mbswidth.c (mbswidth): Add a flags argument.
94635         (mbsnwidth): New function.
94636
94637 2000-07-24  Jim Meyering  <meyering@lucent.com>
94638
94639         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
94640
94641 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94642
94643         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
94644
94645 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94646
94647         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
94648         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
94649         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
94650         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
94651         invoke multibyte primitives.
94652
94653 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94654
94655         * lib/quotearg.c:
94656         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
94657         so that mbstate_t is always defined.
94658
94659         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
94660         be 1 in at least one GCC installation, and this configuration
94661         error is likely to be common.  Ignoring MB_LEN_MAX hurts
94662         performance on hosts that have mbrtowc but have only unibyte
94663         locales, but I assume these hosts are rare.
94664
94665 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94666
94667         * lib/mbswidth.c (_XOPEN_SOURCE):
94668         Don't define; this causes problems on Solaris 7.
94669         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
94670
94671 2000-07-23  Jim Meyering  <meyering@lucent.com>
94672
94673         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
94674         too: getgrgid, getpwuid, getuid.
94675
94676 2000-07-23  Jim Meyering  <meyering@lucent.com>
94677
94678         * lib/basename.c (base_name): Add an assertion.
94679
94680 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
94681
94682         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
94683         shadow its mbsinit function.
94684
94685 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94686
94687         * lib/mbswidth.h: New file.
94688         * lib/mbswidth.c: New file.
94689         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
94690         (noinst_HEADERS): Add mbswidth.h.
94691
94692 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94693
94694         * lib/config.charset: Add support for FreeBSD. Improve support for
94695         HP-UX and IRIX 6.
94696
94697 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
94698
94699         * m4/mbswidth.m4: New file.
94700         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
94701
94702 2000-07-15  Jim Meyering  <meyering@lucent.com>
94703
94704         * lib/makepath.c: Include quote.h.
94705         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
94706         corresponding argument in a `quote (...)' call.
94707         Give better diagnostics.
94708
94709         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
94710         (noinst_HEADERS): Add quote.h.
94711
94712         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
94713         from tar's src/misc.c.
94714         * lib/quote.h: New file.  Prototypes for same.
94715
94716 2000-07-14  Paul Eggert  <eggert@twinsun.com>
94717
94718         From a suggestion by Bruno Haible.
94719         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
94720         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
94721         to decide whether to define the BeOS workaround macro;
94722         this adjusts to the change to AC_MBSTATE_T.
94723
94724 2000-07-14  Jim Meyering  <meyering@lucent.com>
94725
94726         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
94727         jm_AC_TYPE_UINTMAX_T.
94728
94729 2000-07-13  Paul Eggert  <eggert@twinsun.com>
94730
94731         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
94732
94733         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
94734         quotearg_buffer_restyled): Add support for
94735         clocale_quoting_style.  Undo previous change to
94736         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
94737         and "{RIGHT QUOTATION MARK}" msgids.
94738
94739 2000-07-10  Paul Eggert  <eggert@twinsun.com>
94740
94741         From a suggestion by Bruno Haible.
94742         * m4/mbstate_t.m4 (AC_MBSTATE_T):
94743         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
94744         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
94745         and mbstate_t, to a single-part test that simply defines mbstate_t.
94746         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
94747         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
94748
94749 2000-07-10  Jim Meyering  <meyering@lucent.com>
94750
94751         * m4/strerror_r.m4: Mirror the correction made in autoconf.
94752
94753         * m4/gnu-source.m4: Output to confdefs.h directly.
94754         Suggestion from Akim Demaille.
94755
94756 2000-07-09  Paul Eggert  <eggert@twinsun.com>
94757
94758         The old behavior of quoting `like this' doesn't look good with
94759         newer, ISO-style fonts.  See:
94760         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
94761
94762         Instead, quote "like this" by default.  Let the translator
94763         tailor the locale-specific quoting behavior by providing
94764         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
94765
94766         * lib/quotearg.c (N_): New macro.
94767         (gettext_default): New function.
94768         (quotearg_buffer_restyled): Use
94769         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94770         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94771
94772 2000-07-09  Jim Meyering  <meyering@lucent.com>
94773
94774         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94775         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94776
94777         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94778         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94779
94780 2000-07-09  Jim Meyering  <meyering@lucent.com>
94781
94782         * lib/Most files: Update copyright dates to include 2000.
94783
94784 2000-07-08  Jim Meyering  <meyering@lucent.com>
94785
94786         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94787         if not defined.
94788         (xgethostname): Remove now-unnecessary #ifdef.
94789         Move declaration of `err' into loop where it's used.
94790
94791 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94792         and Bruno Haible  <haible@clisp.cons.org>
94793
94794         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94795         only if the test for an object-type mbstate_t fails.  This
94796         prevents us from mistakenly reporting that mbstate_t is a
94797         system object type after we "#define mbstate_t int" to work
94798         around its lack.
94799
94800 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94801         and Bruno Haible  <haible@clisp.cons.org>
94802
94803         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94804
94805 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94806
94807         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94808         to strerror_r.
94809         Include <ctype.h> for use of isalpha.
94810
94811 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94812
94813         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94814         by allocating a larger buffer. Test the gethostname return value for
94815         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94816         returns an error and ENAMETOOLONG isn't defined.
94817
94818 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94819
94820         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94821         dimension.
94822
94823 2000-07-04  Jim Meyering  <meyering@lucent.com>
94824
94825         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94826         of the deprecated AC_CHECKING.
94827
94828 2000-07-04  Jim Meyering  <meyering@lucent.com>
94829
94830         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94831         Reported by Bruno Haible.
94832
94833 2000-07-04  Jim Meyering  <meyering@lucent.com>
94834
94835         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94836         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94837         lacks mbrtowc.
94838
94839 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94840
94841         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94842         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94843
94844 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94845         and Bruno Haible  <haible@clisp.cons.org>
94846
94847         * lib/quotearg.c (mbrtowc):
94848         Assign to *pwc, and return 1 only if result is nonzero.
94849         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94850
94851 2000-07-03  Jim Meyering  <meyering@lucent.com>
94852
94853         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94854
94855 2000-07-03  Jim Meyering  <meyering@lucent.com>
94856
94857         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94858         This is necessary to get a definition of e.g., UTMP_FILE on
94859         HP-UX 10.20.
94860         From Bob Proulx.
94861
94862 2000-07-02  Jim Meyering  <meyering@lucent.com>
94863
94864         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94865
94866         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94867         AC_LIBOBJ(function_name).
94868         * m4/chown.m4: Likewise.
94869         * m4/fnmatch.m4: Likewise.
94870         * m4/ftruncate.m4: Likewise.
94871         * m4/getgroups.m4: Likewise.
94872         * m4/getline.m4: Likewise.
94873         * m4/group-member.m4: Likewise.
94874         * m4/jm-macros.m4: Likewise.
94875         * m4/lstat.m4: Likewise.
94876         * m4/malloc.m4: Likewise.
94877         * m4/memcmp.m4: Likewise.
94878         * m4/nanosleep.m4: Likewise.
94879         * m4/putenv.m4: Likewise.
94880         * m4/realloc.m4: Likewise.
94881         * m4/regex.m4: Likewise.
94882         * m4/stat.m4: Likewise.
94883         * m4/strftime.m4: Likewise.
94884
94885 2000-07-02  Jim Meyering  <meyering@lucent.com>
94886
94887         * lib/quotearg.c (mbstate_t): Don't define here.
94888
94889 2000-07-02  Jim Meyering  <meyering@lucent.com>
94890
94891         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94892
94893 2000-07-01  Jim Meyering  <meyering@lucent.com>
94894
94895         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94896
94897 2000-07-01  Jim Meyering  <meyering@lucent.com>
94898
94899         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94900         problem.
94901
94902 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94903
94904         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94905         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94906
94907 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94908
94909         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94910         per change in ../m4/ls-mntd-fs.m4.
94911         (read_filesystem_list): Ignore symbolic links.
94912
94913 2000-06-29  Jim Meyering  <meyering@lucent.com>
94914
94915         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94916         for declaration of strcmp.
94917
94918         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94919
94920         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94921         Avoid warning by casting result to `char *' to remove `const'.
94922
94923 2000-06-28  Jim Meyering  <meyering@lucent.com>
94924
94925         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94926         included by quotearg.c, for which we perform this test.  From
94927         Bruno Haible.
94928
94929 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94930
94931         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94932         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94933         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94934
94935 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94936
94937         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94938
94939 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94940
94941         savedir now sets errno on failure and invokes xmalloc to get memory.
94942         Fix a couple of other minor bugs while we're at it.
94943
94944         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94945         (NAMLEN): Remove macro.
94946         (malloc, realloc): Remove decls.
94947         (stpcpy): Likewise.
94948         ("xalloc.h"): Include.
94949         (NAME_SIZE_DEFAULT): New macro.
94950         (savedir): Use xmalloc / xrealloc to allocate memory.
94951         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94952         Skip "" directory entries.
94953         Use strlen to calculate directory entry length, since the old method
94954         is rarely used these days and isn't worth supporting.
94955         Don't use a pointer after freeing it.
94956         Check for integer overflow when calculating allocation size.
94957         Use memcpy to copy entries, instead of stpcpy.
94958         Set errno properly when returning NULL.
94959         Check for readdir error.
94960
94961 2000-06-26  Jim Meyering  <meyering@lucent.com>
94962
94963         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94964
94965 2000-06-25  Jim Meyering  <meyering@lucent.com>
94966
94967         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94968         Linux header bug when _XOPEN_SOURCE is defined to 500.
94969
94970 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94971
94972         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94973         deficiency.
94974
94975 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94976
94977         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94978         Include xalloc.h.
94979         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94980
94981 2000-06-24  Jim Meyering  <meyering@lucent.com>
94982
94983         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94984         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94985         for which strerror does return char*, but which lacks a conveniently
94986         accessible declaration of the function.  If the compile-test says
94987         strerror_r doesn't work, then resort to a `run'-test that works on
94988         BeOS and segfaults on DEC Unix.
94989
94990 2000-06-24  Jim Meyering  <meyering@lucent.com>
94991
94992         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94993
94994 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94995
94996         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94997         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94998
94999 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95000
95001         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95002         (mbrtowc, mbstate_t): Define substitutes if
95003         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95004         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95005         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95006
95007 2000-06-23  Jim Meyering  <meyering@lucent.com>
95008
95009         * m4/afs.m4: Add missing AC_MSG_RESULT.
95010         Reported by Bruno Haible.
95011
95012         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95013         Suggestion from Bruno Haible.
95014
95015 2000-06-23  Jim Meyering  <meyering@lucent.com>
95016
95017         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95018
95019 2000-06-21  Jim Meyering  <meyering@lucent.com>
95020
95021         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95022
95023 2000-06-21  Jim Meyering  <meyering@lucent.com>
95024
95025         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95026         (noinst_HEADERS): Add getstr.h.
95027
95028         * lib/getline.c (getstr): Move into a separate file.
95029         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95030         the following changes: new parameter, delim2; both delim[12]
95031         parameters have type `int', not `char'.  The latter would lose
95032         with 8-bit delimiters.
95033         * lib/getstr.h: New file.
95034
95035 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95036
95037         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95038         than 1024, return a memory chunk of least possible size, instead
95039         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95040         Use free/xmalloc instead of xrealloc to avoid copying for very long
95041         paths.
95042
95043 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95044
95045         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95046         the empty string.
95047
95048 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95049
95050         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95051         address, not strdup.  Include <stdlib.h> and don't declare free().
95052
95053 2000-06-19  Jim Meyering  <meyering@lucent.com>
95054
95055         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95056
95057 2000-06-18  Jim Meyering  <meyering@lucent.com>
95058
95059         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95060
95061         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95062         `checking whether...' message to be consistent with that of the
95063         lstat test.
95064
95065 2000-06-18  Jim Meyering  <meyering@lucent.com>
95066
95067         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95068         Besides, these days every porting target provides a mkdir function.
95069
95070         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95071         needed. (this snippet comes from src/system.h).
95072
95073 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95074
95075         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95076
95077 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95078
95079         * lib/human.c (adjust_value): New function.
95080         (human_readable_inexact): Apply rounding style even when
95081         printing approximate values.
95082
95083 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95084
95085         * lib/human.c (human_readable_inexact): Allow an input block
95086         size that is not a multiple of the output block size, and vice versa.
95087         Reported by Piergiorgio Sartor.
95088
95089 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95090
95091         * lib/getdate.y (get_date): Apply relative times after time
95092         zone indicator, not before.  Reported by Todd A. Jacobs.
95093
95094 2000-06-13  Jim Meyering  <meyering@lucent.com>
95095
95096         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95097
95098         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95099
95100 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95101
95102         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95103
95104 2000-06-12  Jim Meyering  <meyering@lucent.com>
95105
95106         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95107         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95108         optional argument.
95109         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95110         the optional argument, `lib'.
95111
95112 2000-06-08  Jim Meyering  <meyering@lucent.com>
95113
95114         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95115
95116 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95117
95118         Rewrite largefile configuration so that we don't need to run
95119         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95120         AC_CANONICAL_HOST in configure.in -- jmm]
95121
95122         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95123         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95124         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95125         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95126         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95127         All uses changed.
95128         Instead of inspecting the output of getconf, try to compile the
95129         test program without and with the macro definition.
95130         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95131         for getconf.  Instead, check for the needed flags by compiling
95132         test programs.
95133
95134 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95135
95136         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95137
95138 2000-06-04  Jim Meyering  <meyering@lucent.com>
95139
95140         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95141         SunOS 4.1.4 for which gid_t is an unsigned type.
95142
95143 2000-06-03  Jim Meyering  <meyering@lucent.com>
95144
95145         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95146         now that autoconf requires that.
95147
95148         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95149         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95150         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95151
95152 2000-06-03  Jim Meyering  <meyering@lucent.com>
95153
95154         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95155
95156 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95157
95158         * m4/glibc21.m4: New file.
95159         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95160
95161 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95162
95163         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95164         newer, don't install charset.alias.
95165         * lib/config.charset: Change the Linux/glibc rules so they become empty
95166         on glibc-2.1 or newer.
95167
95168 2000-06-02  Jim Meyering  <meyering@lucent.com>
95169
95170         * lib/mountlist.c: Back out last change.  Instead, do this...
95171         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95172         me_dummy member using the same `ignore'-testing code.
95173         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95174         fs_type strings.
95175         From Mark D. Roth.
95176
95177 2000-05-29  Jim Meyering  <meyering@lucent.com>
95178
95179         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95180         mounts with the `ignore' attribute.  Based on a patch from
95181         Mark D. Roth.
95182
95183 2000-05-28  Jim Meyering  <meyering@lucent.com>
95184
95185         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95186         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95187         * m4/stat.m4: Likewise.
95188         * m4/lstat.m4: Likewise.
95189         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95190
95191         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95192         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95193
95194 2000-05-26  Jim Meyering  <meyering@lucent.com>
95195
95196         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95197
95198 2000-05-24  Jim Meyering  <meyering@lucent.com>
95199
95200         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95201         autoconf requires that.
95202         * m4/lib-check.m4: Likewise.
95203         * m4/jm-macros.m4: Likewise.
95204         * m4/strftime.m4: Likewise.
95205
95206         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95207         AC_CHECK_DECLS, now that autoconf requires that.
95208
95209 2000-05-22  Jim Meyering  <meyering@lucent.com>
95210
95211         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95212         * m4/lstat.m4: Likewise.
95213
95214 2000-05-22  Jim Meyering  <meyering@lucent.com>
95215
95216         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95217
95218 2000-05-20  Jim Meyering  <meyering@lucent.com>
95219
95220         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95221         (jm_PREREQ): Use it.
95222
95223 2000-05-18  Jim Meyering  <meyering@lucent.com>
95224
95225         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95226         back, too, since it may have been modified by allocate_entry.
95227         (hash_delete): Rewrite to use neither the assignment operator
95228         nor the comma operator in an if-expression.
95229
95230 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95231
95232         * lib/closeout.c:
95233         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
95234         Remove; no longer needed.
95235         "quotearg.h": Add include.
95236         (file_name): Do not bother to explicitly initialize to NULL; it's less
95237         efficient on some hosts.
95238         (close_stdout_status): Remove test as to whether stdout was already
95239         closed; it breaks for the case "echo x | sort >&-".
95240         Quote file name colons.
95241         Do not assume that _("write error") lacks format strings.
95242
95243 2000-05-15  Jim Meyering  <meyering@lucent.com>
95244
95245         * lib/version-etc.c (version_etc_copyright): Update the copyright
95246         string used in all --version output.
95247
95248 2000-05-14  Jim Meyering  <meyering@lucent.com>
95249
95250         * lib/closeout.c (close_stdout_set_file_name): New function.
95251         (close_stdout_status): Use new file-scoped global.
95252         Return right away if fstat says the stdout file descriptor is invalid.
95253         * lib/closeout.h (close_stdout_set_file_name): Declare.
95254
95255 2000-05-10  Jim Meyering  <meyering@lucent.com>
95256
95257         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95258         (close_stdout_set_status): New function.
95259         * lib/closeout.h (close_stdout_set_status): Declare.
95260
95261 2000-05-09  Jim Meyering  <meyering@lucent.com>
95262
95263         * m4/gettext.m4: Rename this...
95264         * m4/libintl.m4: ...to this.
95265
95266 2000-05-08  Jim Meyering  <meyering@lucent.com>
95267
95268         * lib/long-options.c: Don't include closeout.h.
95269         (parse_long_options): Don't call close_stdout for --version.
95270
95271 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95272
95273         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95274         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95275         2.1.3 bug.  This avoids a clash when files like regex.c define
95276         _GNU_SOURCE.
95277
95278 2000-05-06  Jim Meyering  <meyering@lucent.com>
95279
95280         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95281         (AC_REPLACE_FUNCS): Add strnlen.
95282
95283         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95284         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95285
95286         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95287         AC_SEARCH_LIBS call for nanosleep.
95288         (LIB_NANOSLEEP): Set and AC_SUBST.
95289
95290 2000-05-06  Jim Meyering  <meyering@lucent.com>
95291
95292         * lib/strnlen.c: Undefine __strnlen and strnlen.
95293         [!weak_alias]: Define __strnlen to strnlen.
95294
95295         * lib/atexit.c: New file, from libiberty.
95296
95297 2000-05-06  Jim Meyering  <meyering@lucent.com>
95298
95299         * lib/closeout.c (close_stdout_status): Also check for errors on the
95300         stderr stream.
95301
95302 2000-05-05  Jim Meyering  <meyering@lucent.com>
95303
95304         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95305         AC_SEARCH_LIBS call for clock_gettime.
95306         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95307
95308         * m4/search-libs.m4: Update from autoconf.
95309
95310         su doesn't work on Solaris 2.6.
95311         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95312         <shadow.h>.  Reported by Dragos Harabor.
95313
95314 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95315
95316         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95317         memcpy instead of xmalloc, xrealloc, path_concat.
95318         (locale_charset): Treat empty environment variables as absent.
95319         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95320
95321 2000-05-04  Jim Meyering  <meyering@lucent.com>
95322
95323         * lib/getopt.c: Update from glibc.
95324         * lib/obstack.c: Likewise.
95325         * lib/obstack.h: Likewise.
95326         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95327         file
95328
95329         * lib/regex.h: Likewise.
95330         * lib/strndup.c: Likewise.
95331         * lib/strnlen.c: New file, from glibc.
95332
95333 2000-05-03  Jim Meyering  <meyering@lucent.com>
95334
95335         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95336
95337 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95338
95339         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95340         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95341         compile-time test, rather than inspecting host and OS, to
95342         decide whether to define _LARGEFILE_SOURCE.
95343
95344 2000-05-01  Jim Meyering  <meyering@lucent.com>
95345
95346         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95347
95348         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95349         Based on a patch from Bruno Haible.
95350
95351 2000-05-01  Jim Meyering  <meyering@lucent.com>
95352
95353         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95354
95355 2000-04-29  Jim Meyering  <meyering@lucent.com>
95356
95357         * lib/path-concat.c: Declare strdup only if it's not defined.
95358         * lib/canon-host.c: Likewise.
95359
95360 2000-04-28  Jim Meyering  <meyering@lucent.com>
95361
95362         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95363         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95364         is included first, then limits.h is included by locale.h by libintl.h.
95365         From John David Anglin.
95366
95367 2000-04-25  Jim Meyering  <meyering@lucent.com>
95368
95369         * lib/makepath.c (S_IRWXUGO): Define.
95370         (make_path): Always perform explicit chmod if MODE specifies any
95371         of the `special' permission bits.  Prompted by a bug report against
95372         install from Mate Wierdl and Joost van Baal.
95373
95374 2000-04-18  Jim Meyering  <meyering@lucent.com>
95375
95376         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95377         (jm_PREREQ): Use it.
95378
95379 2000-04-18  Jim Meyering  <meyering@lucent.com>
95380
95381         * lib/README: New file.
95382
95383         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95384         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95385
95386 2000-04-17  Jim Meyering  <meyering@lucent.com>
95387
95388         Get it right :-)
95389         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95390         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95391         Suggestion from Akim Demaille.
95392
95393 2000-04-17  Jim Meyering  <meyering@lucent.com>
95394
95395         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95396         the definition of it to rpl_strftime also defined-away the system's
95397         declaration.
95398
95399 2000-04-15  Jim Meyering  <meyering@lucent.com>
95400
95401         Use `C' to denote so-called `contiguous' files, the same way
95402         that tar does.
95403         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95404         (ftypelet): Use S_ISCTG.
95405         From Michael Deutschmann.
95406
95407 2000-04-14  Jim Meyering  <meyering@lucent.com>
95408
95409         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95410         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95411         clobbered.
95412
95413 2000-04-14  Jim Meyering  <meyering@lucent.com>
95414
95415         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95416
95417 2000-04-13  Jim Meyering  <meyering@lucent.com>
95418
95419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95420         AH_VERBATIM to insert required #ifndef into config.h.in.
95421         Suggestion from Akim Demaille.
95422
95423 2000-04-12  Jim Meyering  <meyering@lucent.com>
95424
95425         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95426         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95427         Christian Krackowizer.
95428
95429         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95430         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95431         (AC_SYS_LARGEFILE): Require.
95432         (AM_C_PROTOTYPES): Require.
95433
95434 2000-04-08  Jim Meyering  <meyering@lucent.com>
95435
95436         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95437         names don't conflict.  Reported by Eli Zaretskii.
95438
95439 2000-04-07  Jim Meyering  <meyering@lucent.com>
95440
95441         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95442         sys/types.h, to work around system header problems on AIX 3.2.5.
95443         From Bruno Haible.
95444
95445 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95446
95447         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95448         bug.  Deal with the different error behavior of Irix iconv.
95449
95450 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95451
95452         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95453         IRIX if the installer said otherwise.
95454
95455 2000-04-05  Jim Meyering  <meyering@lucent.com>
95456
95457         Portability tweaks required for ultrix4.3.
95458         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95459         (jm_CHECK_DECLS): Add getutent to the list of functions.
95460         (_jm_DECL_HEADERS): Add utmpx.h.
95461         From John David Anglin.
95462
95463         * m4/strftime.m4: Back out the 2000-04-02 change.
95464         Instead of that change, simply undefine putenv in the test program.
95465
95466 2000-04-05  Jim Meyering  <meyering@lucent.com>
95467
95468         Portability tweaks required for ultrix4.3.
95469         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95470         getutent.
95471         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95472         * lib/canon-host.c: Declare strdup.
95473         * lib/path-concat.c: Likewise.
95474         From John David Anglin.
95475
95476 2000-04-04  Jim Meyering  <meyering@lucent.com>
95477
95478         Be more DOS 8.3-friendly.
95479         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95480         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95481         * lib/Makefile.am: Reflect renaming.
95482         Reported by Eli Zaretskii.
95483
95484         Use a temporary file name that won't clash with `charset.alias'
95485         in the DOS 8.3 name space.
95486         * lib/Makefile.am (charset_tmp): Define.
95487         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95488         (uninstall-local): Likewise.
95489         Reported by Eli Zaretskii.
95490
95491 2000-04-03  Jim Meyering  <meyering@lucent.com>
95492
95493         * m4/gettext.m4: Fix typo in comment.
95494
95495         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95496         textutils/configure.in).  Suggestion from Paul Eggert.
95497         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95498
95499 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95500
95501         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95502         variable in the shell rather than using putenv, which isn't
95503         portable.  This avoids the configure-time inter-test dependency
95504         on the potentially-renamed putenv function.
95505
95506 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95507
95508         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95509         before checking struct stat.st_blksize, so that
95510         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95511
95512 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95513
95514         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95515         since strftime.c uses HAVE_STRFTIME to decide whether to use
95516         the underlying strftime.
95517
95518 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95519
95520         * lib/time/strftime.c (my_strftime): Make sure we call the system
95521         strftime, not ourselves, when invoking the underlying strftime.
95522
95523 2000-03-24  Jim Meyering  <meyering@lucent.com>
95524
95525         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95526         (charset_alias): Define.
95527         (install-exec-local): Factor out common code.
95528         (uninstall-local): Split lines longer than 80.
95529         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95530         (SUFFIXES): Define.
95531         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95532         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95533
95534 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95535
95536         * lib/config.charset: Output a line containing "Packages using this
95537         file".
95538         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95539         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95540         ref-del.sed): New rules.
95541
95542 2000-03-17  Jim Meyering  <meyering@lucent.com>
95543
95544         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95545         Otherwise, include <strings.h>
95546
95547 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95548
95549         * lib/unicodeio.c (utf8_wctomb): New function.
95550         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95551         format instead of in UCS-4 with platform dependent endianness.
95552
95553 2000-03-10  Jim Meyering  <meyering@lucent.com>
95554
95555         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95556         From Marco Franzen.
95557
95558 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95559
95560         * lib/savedir.c (savedir): Work even if directory size is
95561         negative; this can happen with some screwy NFS configurations.
95562
95563 2000-03-06  Jim Meyering  <meyering@lucent.com>
95564
95565         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
95566         if it's NULL (because we ran out of memory).  From Bruno Haible.
95567
95568 2000-03-05  Jim Meyering  <meyering@lucent.com>
95569
95570         * lib/localcharset.c ("path-concat.h"): Include.
95571         (get_charset_aliases): Use path_concat instead of ANSI string
95572         concatenation.
95573
95574         * lib/unicodeio.h (PARAMS): Define.
95575         Use it to guard prototype.
95576
95577 2000-03-04  Jim Meyering  <meyering@lucent.com>
95578
95579         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
95580         for lib/localcharset.c.
95581
95582 2000-03-04  Jim Meyering  <meyering@lucent.com>
95583
95584         * lib/Makefile.am (install-exec-local): Create $(libdir) before
95585         installing into it.
95586         (uninstall-local): Uncomment this rule so `make distcheck' works
95587         once again.
95588
95589         * lib/unicodeio.c (<errno.h>): Include it.
95590         (errno): Declare if not defined.
95591
95592         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
95593
95594         * lib/config.charset: New version, incorporating remarks from a linux
95595         i18n mailing list.  From Bruno Haible.
95596
95597 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
95598
95599         * m4/codeset.m4: New file.
95600         * m4/iconv.m4: New file.
95601         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
95602
95603 2000-03-03  Jim Meyering  <meyering@lucent.com>
95604
95605         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
95606
95607 2000-03-02  Jim Meyering  <meyering@lucent.com>
95608
95609         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
95610         the messages come out on separate lines.
95611
95612         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
95613         rather than jm_CHECK_DECLARATIONS.
95614         * m4/decl.m4: Remove now-unused file.
95615
95616         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
95617         geteuid.
95618
95619 2000-03-02  Jim Meyering  <meyering@lucent.com>
95620
95621         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
95622
95623 2000-03-01  Jim Meyering  <meyering@lucent.com>
95624
95625         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
95626         * lib/unicodeio.c: Likewise.
95627
95628 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
95629
95630         * lib/config.charset: New file.
95631         * lib/localcharset.c: New file.
95632         * lib/unicodeio.h, lib/unicodeio.c: New files.
95633         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
95634         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
95635         (noinst_HEADERS): Add unicodeio.h.
95636         (all-local, install-exec-local, charset.alias): New targets.
95637
95638 2000-02-28  Paul Eggert  <eggert@twinsun.com>
95639
95640         * lib/quotearg.c (ALERT_CHAR): New macro.
95641         (quotearg_buffer_restyled): Use it.
95642
95643 2000-02-27  Jim Meyering  <meyering@lucent.com>
95644
95645         * m4/check-decl.m4: Add getenv to the list.
95646
95647 2000-02-27  Jim Meyering  <meyering@lucent.com>
95648
95649         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
95650         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
95651
95652         * lib/backupfile.c: Guard inclusion of stdlib.h with
95653         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
95654         Declare malloc if needed.
95655
95656         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
95657         `#ifndef HAVE_DECL..'
95658         now that autoconf always defines the HAVE_DECL_ symbols.
95659         * lib/human.c: Likewise.
95660         * lib/same.c: Likewise.
95661         * lib/strtoumax.c: Likewise.
95662
95663         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
95664         declaration check was not run.
95665         * lib/hash.c: Likewise.
95666         * lib/human.c: Likewise.
95667         * lib/same.c: Likewise.
95668         * lib/strtoumax.c: Likewise.
95669
95670         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
95671         `.', then first look up the entire `.'-containing string as a login
95672         name.
95673
95674 2000-02-23  Jim Meyering  <meyering@lucent.com>
95675
95676         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
95677         in place of my hack.
95678
95679 2000-02-18  Paul Eggert  <eggert@twinsun.com>
95680
95681         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
95682         (textint): New typedef.
95683         (parser_control): Member year changed from int to textint.
95684         All uses changed.
95685         (YYSTYPE): Removed; replaced by %union with int and textint members.
95686         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
95687         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
95688         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
95689         (tSNUMBER, tUNUMBER): Now of type <textintval>.
95690         (date, number, to_year): Use width of number in digits, not its value,
95691         to determine whether it's a 2-digit year, or a 2-digit time.
95692         (yylex): Store number of digits of numeric tokens.
95693         Reported by John Kendall.
95694
95695         (parser_control): Changed from struct parser_control to typedef (for
95696         consistency).  All uses changed.
95697
95698         (tID): Removed; not used.
95699         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
95700
95701 2000-02-14  Paul Eggert  <eggert@twinsun.com>
95702
95703         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
95704         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
95705
95706 2000-02-12  Jim Meyering  <meyering@lucent.com>
95707
95708         * lib/userspec.c (ISDIGIT): Define it.
95709         (isdigit): Remove definition.
95710         (is_number): Use ISDIGIT, not isdigit.
95711         <libintl.h>: Include.
95712         (_ and N_): Define.
95713         (parse_user_spec): Mark translatable strings.
95714
95715 2000-02-10  Jim Meyering  <meyering@lucent.com>
95716
95717         With these changes, nanosleep.[ch] are finally enough like the other
95718         lib/* replacement files to compile on a few more losing systems.
95719
95720         * lib/nanosleep.h: Don't include config.h.
95721         Remove prototype from declaration of nanosleep.
95722         (PARAMS): Remove now-unneeded definition.
95723         * lib/nanosleep.c: #undef nanosleep.
95724         (rpl_nanosleep): Rename from nanosleep.
95725
95726 2000-02-10  Jim Meyering  <meyering@lucent.com>
95727
95728         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
95729         gnu_nanosleep to rpl_nanosleep.
95730
95731 2000-02-09  Jim Meyering  <meyering@lucent.com>
95732
95733         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
95734         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
95735
95736 2000-02-08  Akim Demaille  <akim@epita.fr>
95737
95738         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
95739         `[' and `]' and remove uses of `changequote'.
95740         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
95741         (AC_SYS_LARGEFILE): Likewise.
95742         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
95743         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
95744         of changequote.
95745         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
95746         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
95747         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
95748         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
95749
95750 2000-02-05  Jim Meyering  <meyering@lucent.com>
95751
95752         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
95753         Remove explicit use of AC_HEADER_TIME.  It is required by
95754         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
95755         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
95756         in autoconf whereby the expansion of the latter ended up preceding
95757         the expansion of its prerequisite, AC_HEADER_TIME.
95758         Reported by Volker Borchert.
95759
95760 2000-02-03  Jim Meyering  <meyering@lucent.com>
95761
95762         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
95763
95764 2000-02-03  Jim Meyering  <meyering@lucent.com>
95765
95766         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95767         rather than with `#if HAVE_UTMPNAME'.
95768
95769 2000-02-02  Jim Meyering  <meyering@lucent.com>
95770
95771         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95772         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95773         Reported by Eli Zaretskii.
95774
95775 2000-02-01  Jim Meyering  <meyering@lucent.com>
95776
95777         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95778
95779 2000-01-31  Jim Meyering  <meyering@lucent.com>
95780
95781         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95782         functions.  Add the time.h and sys/time.h headers along with the
95783         AC_REQUIRE'ment of AC_HEADER_TIME.
95784
95785 2000-01-31  Jim Meyering  <meyering@lucent.com>
95786
95787         * lib/nanosleep.h (nanosleep): Guard declaration with
95788         `#if ! HAVE_DECL_NANOSLEEP'.
95789         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95790         the declaration in that vendor's sys/timers.h.
95791         Reported by Christian Krackowizer.
95792
95793         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95794         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95795         (ISPRINT): Likewise.
95796         Reported by Tom Tromey.
95797
95798 2000-01-30  Jim Meyering  <meyering@lucent.com>
95799
95800         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95801
95802         * m4/prereq.m4 (utmp_includes): Define.
95803         Check for ut_user and ut_name members in both struct utmpx
95804         and struct utmp.
95805
95806 2000-01-30  Jim Meyering  <meyering@lucent.com>
95807
95808         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95809         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95810         header files where only utmpx.ut_user is declared.
95811
95812         * lib/readutmp.h (UT_USER): Define.
95813
95814 2000-01-29  Jim Meyering  <meyering@lucent.com>
95815
95816         * m4/lib-check.m4: New file containing library-related checks from
95817         fileutils and sh-utils (textutils had none).
95818
95819 2000-01-28  Jim Meyering  <meyering@lucent.com>
95820
95821         * m4/perl.m4: Change format of warning message to look more like that
95822         from the missing script.  Suggestion from François Pinard.
95823
95824 2000-01-25  Jim Meyering  <meyering@lucent.com>
95825
95826         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95827         well as time.h in the compile check.
95828         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95829         Fix typo in cross-compiling case: s/yes/no/.
95830
95831 2000-01-23  Jim Meyering  <meyering@lucent.com>
95832
95833         * m4/jm-macros.m4: Move df-related tests here from
95834         fileutils/configure.in
95835
95836         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95837         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95838
95839         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95840         s/space/ac_fsusage_space/.
95841         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95842
95843         * m4/ftruncate.m4: New file (derived from part of
95844         fileutils/configure.in).
95845         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95846         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95847
95848         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95849         AC_SUBST these here, rather than just in sh-util/configure.in, so
95850         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95851         all the same.
95852         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95853         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95854         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95855         (AC_SUBST(POW_LIBM)): Likewise.
95856         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95857
95858 2000-01-23  Jim Meyering  <meyering@lucent.com>
95859
95860         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95861         obstack.c.
95862
95863 2000-01-22  Jim Meyering  <meyering@lucent.com>
95864
95865         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95866
95867         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95868
95869         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95870         configure.in
95871         (AC_CHECK_HEADERS): Likewise for sh-utils.
95872         (AC_CHECK_HEADERS): Likewise for textutils.
95873         Merge the three lists of headers.
95874
95875         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95876         from fileutils' configure.in.
95877
95878         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95879         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95880         check-decl.m4.
95881
95882         * m4/check-decl.m4: Use #if rather than #ifdef.
95883         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95884         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95885         (_jm_DECL_HEADERS): Define new function.
95886         (jm_CHECK_DECLARATIONS): Require it.
95887
95888 2000-01-22  Jim Meyering  <meyering@lucent.com>
95889
95890         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95891         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95892         Required for some AIX systems.  Reported by Christian Krackowizer.
95893         [TESTING] (main): New function.
95894
95895         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95896         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95897         letters.
95898
95899         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95900         iswprint.
95901
95902         * lib/strverscmp.c (ISDIGIT): Define.
95903         (strverscmp): Use ISDIGIT, not isdigit.
95904
95905 2000-01-19  Jim Meyering  <meyering@lucent.com>
95906
95907         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95908         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95909         defines `struct timespec' in <sys/time.h>
95910
95911         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95912         Thanks to Akim for explaining.
95913
95914 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95915
95916         * lib/nanosleep.c (nanosleep):
95917         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95918         POSIX.1 doesn't require SA_INTERRUPT and some systems
95919         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95920         it's been part of POSIX.1 since day 1 (in 1988).
95921
95922 2000-01-17  Jim Meyering  <meyering@lucent.com>
95923
95924         * lib/interlock: Remove unused file.  Reported by François Pinard.
95925
95926 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95927
95928         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95929         alert, backslash, formfeed, and vertical tab unnecessarily in
95930         shell quoting style.
95931
95932 2000-01-16  Jim Meyering  <meyering@lucent.com>
95933
95934         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95935         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95936         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95937         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95938
95939 2000-01-16  Jim Meyering  <meyering@lucent.com>
95940
95941         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95942         because the latter didn't work.
95943
95944 2000-01-15  Jim Meyering  <meyering@lucent.com>
95945
95946         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95947         (AC_REPLACE_FUNCS): Add memcpy and memset.
95948         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95949         Add strpbrk.
95950         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95951
95952 2000-01-12  Jim Meyering  <meyering@lucent.com>
95953
95954         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95955         (jm_PREREQ): Use it.
95956         (jm_PREREQ_READUTMP): New macro.
95957         (jm_PREREQ): Use it.
95958
95959 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95960
95961         Quote multibyte characters correctly.
95962         * m4/c-bs-a.m4: New file.
95963         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95964         (jm_PREREQ): Use it.
95965
95966 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95967
95968         * m4/uintmax_t.m4: Port to autoconf 2.13.
95969
95970 2000-01-08  Jim Meyering  <meyering@ascend.com>
95971
95972         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95973         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95974
95975 2000-01-04  Jim Meyering  <meyering@ascend.com>
95976
95977         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95978         jm_STRUCT_DIRENT_D_TYPE.
95979         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95980         jm_STRUCT_DIRENT_D_INO.
95981         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95982         jm_STRUCT_UTIMBUF.
95983         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95984         renamings.
95985         * m4/utime.m4: Likewise.
95986
95987         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95988         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95989
95990 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95991
95992         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95993         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95994
95995 2000-01-02  Jim Meyering  <meyering@ascend.com>
95996
95997         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95998         remember if this is necessary.
95999
96000 1999-12-26  Jim Meyering  <meyering@ascend.com>
96001
96002         * m4/jm-macros.m4: Use it here.
96003         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96004
96005 1999-12-23  Jim Meyering  <meyering@ascend.com>
96006
96007         * m4/jm-macros.m4: Check for clock_gettime (moved from
96008         fileutils/configure.in)
96009         Check for gettimeofday.
96010
96011 1999-12-20  Jim Meyering  <meyering@ascend.com>
96012
96013         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96014         autoconf-2.14a-1999-12-20.
96015
96016 1999-12-19  Jim Meyering  <meyering@ascend.com>
96017
96018         * m4/lstat-slash.m4: New file.
96019         * m4/jm-macros.m4: Use the new macro:
96020         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96021
96022 1999-12-07  Jim Meyering  <meyering@ascend.com>
96023
96024         * m4/perl.m4: Require that File::Compare be available, too.
96025         Too many systems seem to lack it.
96026
96027         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96028         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96029
96030 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96031
96032         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96033         problem with the QNX 4.25 shell, which doesn't propagate exit
96034         status of failed commands inside shell assignments.
96035
96036 1999-11-17  Jim Meyering  <meyering@ascend.com>
96037
96038         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96039
96040 1999-11-07  Jim Meyering  <meyering@ascend.com>
96041
96042         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96043
96044 1999-11-06  Jim Meyering  <meyering@ascend.com>
96045
96046         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96047         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96048
96049 1999-11-05  Jim Meyering  <meyering@ascend.com>
96050
96051         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96052         configure.in of textutils, fileutils, and sh-utils into this one
96053         (shared between those packages) file.
96054         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96055         AC_STRUCT_ST_BLKSIZE.
96056
96057 1999-11-03  Jim Meyering  <meyering@ascend.com>
96058
96059         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96060         of AC_CHECK_TYPE checks includes unistd.h.
96061         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96062         Suggestion from Akim Demaille.
96063
96064 1999-10-30  Jim Meyering  <meyering@ascend.com>
96065
96066         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96067         m4-quoted string.
96068         * m4/ls-mntd-fs.m4: Likewise.
96069         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96070         * m4/jm-winsz1.m4: Likewise.
96071
96072         * m4/const.m4: Remove file, since the fix made it into the experimental
96073         version of autoconf.
96074         * m4/mktime.m4: Likewise.
96075
96076         * m4/check-type.m4: Remove file, now that the latest version of
96077         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96078
96079         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96080         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96081         AC_CHECK_TYPE.
96082
96083 1999-10-04  Jim Meyering  <meyering@ascend.com>
96084
96085         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96086
96087 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96088
96089         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96090         2.95.1 bug with HP-UX 10.20.
96091
96092 1999-09-17  Jim Meyering  <meyering@ascend.com>
96093
96094         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96095         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96096         due to missing strdup (against sh-utils-2.0).
96097
96098 1999-08-29  Jim Meyering  <meyering@ascend.com>
96099
96100         * m4/jm-macros.m4: Require jm_BISON.
96101         * m4/bison.m4: New file.
96102
96103 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96104
96105         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96106         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96107
96108 1999-08-05  Jim Meyering  <meyering@ascend.com>
96109
96110         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96111         to avoid conflicts with `conftest' on 8+3 filesystems.
96112         Suggestion from Eli Zaretskii.
96113
96114 1999-08-04  Jim Meyering  <meyering@ascend.com>
96115
96116         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96117         fileutils and sh-utils (textutils's getline test was inadequate).
96118         (AM_FUNC_GETLINE): Run this test.
96119         (AC_CHECK_FUNCS): Check for getdelim.
96120         Reported by Bob Proulx.
96121
96122 1999-08-02  Jim Meyering  <meyering@ascend.com>
96123
96124         * m4/jm-macros.m4: Add a comment.
96125
96126 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96127
96128         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96129         <inttypes.h> defines strtoumax as a macro (and not as a
96130         function).
96131
96132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96133
96134         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96135         that we can shift, multiply and divide unsigned long long
96136         values; Ultrix cc can't do it.
96137
96138 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96139
96140         * m4/mktime.m4: New file, which is a preview of what should appear
96141         in the next public autoconf release.
96142
96143 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96144
96145         * m4/lfs.m4: Remove this file.
96146         * m4/largefile.m4: New file.  It contains the old contents of
96147         lfs.m4, except that all names with prefix AC_LFS have been
96148         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96149         compatible with future autoconf versions.  Also, some minor m4
96150         quoting problems have been fixed.
96151
96152 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96153
96154         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96155         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96156         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96157         and simplify the shell code.
96158
96159 1999-08-01  Jim Meyering  <meyering@ascend.com>
96160
96161         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96162         m4.
96163
96164 1999-07-20  Jim Meyering  <meyering@ascend.com>
96165
96166         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96167
96168 1999-07-15  Jim Meyering  <meyering@ascend.com>
96169
96170         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96171
96172 1999-05-22  Jim Meyering  <meyering@ascend.com>
96173
96174         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96175
96176 1999-05-20  Jim Meyering  <meyering@ascend.com>
96177
96178         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96179         Add a colon after each `then' in case $4 is empty.
96180
96181 1999-05-16  Jim Meyering  <meyering@ascend.com>
96182
96183         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96184
96185 1999-05-10  Jim Meyering  <meyering@ascend.com>
96186
96187         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96188
96189         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96190         AC_FUNC_MKTIME.
96191
96192 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96193
96194         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96195
96196 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96197
96198         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96199         not CPPFLAGS, so that linking works correctly in IRIX.
96200
96201 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96202
96203         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96204
96205 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96206
96207         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96208         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96209         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96210         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96211         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96212
96213         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96214
96215 1999-04-20  Jim Meyering  <meyering@ascend.com>
96216
96217         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96218         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96219         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96220
96221 1999-04-18  Jim Meyering  <meyering@ascend.com>
96222
96223         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96224         * m4/jm-macros.m4: Use it.
96225
96226 1999-04-06  Jim Meyering  <meyering@ascend.com>
96227
96228         * m4/strftime.m4: Remove test for %f.
96229
96230 1999-03-29  Jim Meyering  <meyering@ascend.com>
96231
96232         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
96233         superset of the AC_TYPE_* checks in the textutils, fileutils,
96234         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
96235         AC_TYPE_PID_T.
96236
96237 1999-03-28  Jim Meyering  <meyering@ascend.com>
96238
96239         * m4/jm-macros.m4: Define GNU_PACKAGE here.
96240         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
96241         replaced e.g., in the *.sh files of the sh-utils.
96242
96243 1999-03-20  Jim Meyering  <meyering@ascend.com>
96244
96245         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
96246         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
96247         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
96248
96249 1999-03-19  Jim Meyering  <meyering@ascend.com>
96250
96251         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
96252
96253 1999-03-12  Jim Meyering  <meyering@ascend.com>
96254
96255         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96256
96257 1999-03-07  Jim Meyering  <meyering@ascend.com>
96258
96259         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96260         declared.
96261
96262 1999-02-17  Jim Meyering  <meyering@ascend.com>
96263
96264         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96265         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96266
96267 1999-02-07  Jim Meyering  <meyering@ascend.com>
96268
96269         * m4/group-member.m4: New file -- extracted from sh-utils'
96270         configure.in.
96271
96272         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96273         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96274
96275 1999-02-06  Jim Meyering  <meyering@ascend.com>
96276
96277         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96278         * m4/fnmatch.m4: Likewise.
96279         * m4/getgroups.m4: Likewise.
96280         * m4/lstat.m4: Likewise.
96281         * m4/malloc.m4: Likewise.
96282         * m4/putenv.m4: Likewise.
96283         * m4/realloc.m4: Likewise.
96284         * m4/regex.m4: Likewise.
96285         * m4/stat.m4: Likewise.
96286         * m4/strftime.m4: Likewise.
96287         Suggestion from Alain Magloire.
96288
96289         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96290         * m4/fnmatch.m4: Likewise.
96291         * m4/getgroups.m4: Likewise.
96292         * m4/getline.m4: Likewise.
96293         * m4/lstat.m4: Likewise.
96294         * m4/malloc.m4: Likewise.
96295         * m4/memcmp.m4: Likewise.
96296         * m4/putenv.m4: Likewise.
96297         * m4/realloc.m4: Likewise.
96298         * m4/regex.m4: Likewise.
96299         * m4/stat.m4: Likewise.
96300         * m4/strftime.m4: Likewise.
96301         Suggestion from Alain Magloire.
96302
96303         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96304         an argument.
96305
96306         * m4/regex.m4: Add a run-time Test for proper operation of
96307         re_compile_pattern.
96308
96309 1999-01-31  Jim Meyering  <meyering@ascend.com>
96310
96311         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96312
96313 1999-01-30  Jim Meyering  <meyering@ascend.com>
96314
96315         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96316
96317         * m4/jm-mktime.m4: Make this a wrapper around the official
96318         AM_FUNC_MKTIME rather than my private copy, now that the official one
96319         is up to date.
96320         * m4/mktime.m4: Remove file.
96321
96322         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96323         * m4/uptime.m4: Likewise.
96324         * m4/uintmax_t.m4: Likewise.
96325
96326 1999-01-28  Jim Meyering  <meyering@ascend.com>
96327
96328         * m4/jm-macros.m4: Use jm_AFS.
96329         * m4/afs.m4: New file (from fileutils' configure.in).
96330
96331         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96332         * m4/chown.m4: Likewise.
96333         * m4/d-ino.m4: Likewise.
96334         * m4/d-type.m4: Likewise.
96335         * m4/fnmatch.m4: Likewise.
96336         * m4/getgroups.m4: Likewise.
96337         * m4/gettext.m4: Likewise.
96338         * m4/jm-mktime.m4: Likewise.
96339         * m4/jm-winsz2.m4: Likewise.
96340         * m4/lcmessage.m4: Likewise.
96341         * m4/ls-mntd-fs.m4: Likewise.
96342         * m4/malloc.m4: Likewise.
96343         * m4/memcmp.m4: Likewise.
96344         * m4/putenv.m4: Likewise.
96345         * m4/realloc.m4: Likewise.
96346         * m4/st_mtim.m4: Likewise.
96347         * m4/strftime.m4: Likewise.
96348
96349 1999-01-16  Jim Meyering  <meyering@ascend.com>
96350
96351         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96352         (ARGMATCH_DIE_DECL): Define.
96353
96354 1999-01-12  Jim Meyering  <meyering@ascend.com>
96355
96356         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96357         Reported by Lars Hecking.
96358
96359 1999-01-10  Jim Meyering  <meyering@ascend.com>
96360
96361         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96362         gross kludge.
96363         * m4/inttypes_h.m4: Likewise.
96364         * m4/lstat.m4: Likewise.
96365         * m4/malloc.m4: Likewise.
96366         * m4/readdir.m4: Likewise.
96367         * m4/realloc.m4: Likewise.
96368         * m4/st_dm_mode.m4: Likewise.
96369         * m4/stat.m4: Likewise.
96370         * m4/utimbuf.m4: Likewise.
96371         * m4/utimes.m4: Likewise.
96372
96373         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96374         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96375         comments in config.h.in are meaningful.
96376
96377         * m4/jm-macros.m4: Require autoconf-2.13 here.
96378
96379         * m4/regex.m4: By default, don't use the included regex.c on systems
96380         with glibc 2.  Suggestion from Uli Drepper.
96381
96382 1999-01-02  Jim Meyering  <meyering@ascend.com>
96383
96384         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96385
96386 1998-12-18  Jim Meyering  <meyering@ascend.com>
96387
96388         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96389         Based on a suggestion from Lars Hecking.
96390
96391 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96392
96393         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96394
96395 1998-11-16  Jim Meyering  <meyering@ascend.com>
96396
96397         * m4/lfs.m4: Double-quote the `uname...` expression.
96398
96399 1998-11-14  Jim Meyering  <meyering@ascend.com>
96400
96401         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96402         * m4/stat.m4: Likewise.
96403
96404 1998-11-03  Jim Meyering  <meyering@ascend.com>
96405
96406         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96407         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96408
96409 1998-10-18  Jim Meyering  <meyering@ascend.com>
96410
96411         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96412
96413 1998-10-17  Jim Meyering  <meyering@ascend.com>
96414
96415         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96416         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96417         calls for those previously hard-coded headers.  Instead, take a new
96418         parameter.
96419         (jm_CHECK_DECLARATIONS): Reflect interface change.
96420         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96421         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96422
96423         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96424
96425 1998-10-14  Jim Meyering  <meyering@ascend.com>
96426
96427         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96428         instead of "TZ=America/Vancouver".  From Paul Eggert.
96429
96430 1998-10-11  Jim Meyering  <meyering@ascend.com>
96431
96432         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96433         This adds a test for a recently added compatibility fix for mktime.c.
96434         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96435
96436 1998-09-27  Jim Meyering  <meyering@ascend.com>
96437
96438         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96439
96440         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96441         ../configure.in, including a change from Gordon Matzigkeit to allow
96442         cross-compiling for the Hurd.
96443
96444         * m4/glibc.m4: New file/macro to test for the GNU C Library
96445         versions 1 and 2.  From Gordon Matzigkeit.
96446         Indent.
96447
96448 1998-09-21  Jim Meyering  <meyering@ascend.com>
96449
96450         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96451
96452 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96453
96454         Port nanosecond-resolution times to UnixWare 2.1.2 and
96455         pedantic Solaris 2.6.
96456
96457         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96458         AC_STRUCT_ST_MTIM.
96459         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96460         Generate name of ns member, instead of just 1 or undef.
96461         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96462
96463 1998-08-15  Jim Meyering  <meyering@ascend.com>
96464
96465         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96466         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96467         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96468         instead of jm_TYPE_SSIZE_T.
96469
96470 1998-08-12  Jim Meyering  <meyering@ascend.com>
96471
96472         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96473
96474 1998-08-02  Jim Meyering  <meyering@ascend.com>
96475
96476         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96477         in acconfig.h manually.
96478
96479 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96480
96481         * m4/st_mtim.m4: New file.
96482
96483 1998-07-28  Jim Meyering  <meyering@ascend.com>
96484
96485         * m4/utimes.m4: Undef stat.
96486
96487 1998-07-25  Jim Meyering  <meyering@ascend.com>
96488
96489         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96490         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96491
96492 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96493
96494         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96495         uid and gid actually remain unchanged.
96496
96497 1998-07-07  Jim Meyering  <meyering@ascend.com>
96498
96499         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96500
96501 1998-07-04  Jim Meyering  <meyering@ascend.com>
96502
96503         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96504         to prove that this macro can be used in packages without regex.c.
96505
96506 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96507
96508         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96509         is to be used.
96510
96511 1998-07-03  Jim Meyering  <meyering@ascend.com>
96512
96513         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96514
96515         * m4/gettext.m4: New file -- from gettext-0.10.35.
96516         * m4/lcmessage.m4: Likewise.
96517         * m4/progtest.m4: Likewise.
96518
96519         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96520         * m4/jm-macros.m4: Require the new macro.
96521
96522 1998-06-29  Jim Meyering  <meyering@ascend.com>
96523
96524         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96525         for the definition of NGROUPS (used in a system header included
96526         by sys/mount.h).
96527
96528 1998-06-28  Jim Meyering  <meyering@ascend.com>
96529
96530         * m4/ls-mntd-fs.m4: New file.
96531         * m4/fstypename.m4: New file.
96532
96533         * m4/jm-macros.m4: Require the new macro.
96534         * m4/jm-glibc-io.m4: New file.
96535
96536 1998-05-19  Jim Meyering  <meyering@ascend.com>
96537
96538         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96539         * m4/lchown.m4: New file.
96540
96541         * m4/Makefile.am.in: New file.
96542         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96543
96544 1998-05-14  Jim Meyering  <meyering@ascend.com>
96545
96546         * m4/Makefile.am (EXTRA_DIST): Add them.
96547         * m4/jm-macros.m4: New file.
96548         * m4/utimbuf.m4: New file.
96549
96550 1998-05-12  Jim Meyering  <meyering@ascend.com>
96551
96552         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96553
96554 1998-05-11  Jim Meyering  <meyering@ascend.com>
96555
96556         * m4/isc-posix.m4: New file.
96557
96558 1998-05-10  Jim Meyering  <meyering@ascend.com>
96559
96560         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96561
96562 1998-05-09  Jim Meyering  <meyering@ascend.com>
96563
96564         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
96565         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
96566         with automake.
96567
96568         * m4/ssize_t.m4: New file.
96569         * m4/mktime.m4: Remove file -- the new automake has this now.
96570
96571 1998-04-26  Jim Meyering  <meyering@ascend.com>
96572
96573         * m4/assert.m4: New file.
96574         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
96575
96576 1998-04-05  Jim Meyering  <meyering@ascend.com>
96577
96578         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
96579         (jm_PREREQ): Use it here.
96580
96581 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
96582
96583         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
96584         in acconfig.h.
96585
96586 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
96587
96588         * m4/prereq.m4: New file.
96589         * m4/error.m4: New file.
96590         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
96591
96592 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
96593
96594         * m4/getline.m4: Don't set am_cv_func_working_getline before the
96595         cache-check for the same variable -- that defeated the purpose of
96596         the test; the test program was never run.  This was a problem only
96597         on systems with losing getline functions -- HP-UX 10.20 is one.
96598         Reported by Bjorn Helgaas.
96599
96600 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
96601
96602         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
96603
96604 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
96605
96606         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
96607
96608         * m4/const.m4: New file.  Use an initializer in this declaration
96609         typedef int charset[2]; const charset x;
96610         Reported by Bob Glickstein.
96611
96612 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
96613
96614         * m4/chown.m4: Fix reversed types on -1 args to chown.
96615         From Kaveh Ghazi.
96616
96617 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
96618
96619         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
96620         Add lseek and memchr.
96621
96622         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
96623         T.E.Dickey <dickey@clark.net> said that some older preprocessors
96624         have a 20-character limit on names.
96625
96626 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
96627
96628         * m4/inttypes_h.m4: New file.
96629         * m4/uintmax_t.m4: New file.
96630         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
96631
96632
96633         -----
96634
96635         Local Variables:
96636         coding: utf-8
96637         End:
96638
96639         Copyright (C) 1997-2012 Free Software Foundation, Inc.
96640
96641         Copying and distribution of this file, with or without
96642         modification, are permitted provided the copyright notice
96643         and this notice are preserved.